Evidence-driven coding agent

A coding agent that has to show its work.

Carthagent turns a software request into an acceptance contract, runs the checks that support it, and keeps the resulting evidence tied to the source that actually passed.

Carthagent is the next identity for the open-source project currently named pi2.

DELIVERY RECORD

RUN / 0248
Acceptance criteria6 / 6 COVERED
Required checks11 / 11 CURRENT
Browser interactionPASSED
Fresh-context reviewAPPROVED
Source fingerprint9f4c2a8…e71b
Known limitation1 DECLARED
EVIDENCE BOUND TO REVISION 04 VERIFIED

The problem

Generated code is not a delivery. A passing check is not current proof after the source it tested has changed.

01 / Acceptance

Every requirement names the evidence expected to support it.

Before implementation, Carthagent records the goal, artifacts, assumptions, acceptance criteria, and executable checks. The result is a contract that can be inspected instead of an unspoken definition of “done.”

A1 An invitation expires after 24 hours. invitation-expiry-testBoundary and elapsed-time behaviorCURRENT / PASSED
A2 A user can accept a valid invitation in the browser. browser-invitation-flowReal interaction and browser-error captureCURRENT / PASSED
A3 Expired links display the agreed recovery path. expired-link-recoveryPrevious result no longer matches current sourceSTALE / RERUN REQUIRED
02 / Method

A visible path from request to handoff.

Carthagent makes the delivery process inspectable. Wrong assumptions revise the plan. Failed checks enter a bounded repair loop. A handoff is verified only when required evidence is fresh.

01

Inspect

Read the repository, installed APIs, constraints, and existing conventions.

02

Contract

Map acceptance criteria to concrete checks before editing product files.

03

Build

Deliver a runnable vertical slice, then complete behavior and failure paths.

04

Verify

Run declared checks and bind their output to the current workspace fingerprint.

05

Review

Optionally ask a detached, fresh-context reviewer to inspect the proposed change.

06

Deliver

Report current evidence, launch instructions, review status, and limitations.

Failed or stale evidence returns to bounded repair and verification

03 / Currency

The proof moves with the source—or it expires.

Evidence is associated with the delivery run, contract revision, check definition, and workspace fingerprint. Relevant edits invalidate old results rather than leaving a green check attached to code it never exercised.

  • 01
    Evidence has identity.

    A result records which check ran, under which contract revision, against which source fingerprint.

  • 02
    Source changes have consequences.

    When covered source changes, previously passing evidence becomes stale and must be rerun.

  • 03
    Repair is bounded.

    Failures can return to implementation, but automatic repair nudges and review attempts have explicit limits.

REVISION 04 / SOURCE CHANGED
src/invitations/accept.ts +18 −7

The acceptance handler changed after the previous browser check passed.

unit-invitationsCURRENT
browser-invitation-flowSTALE
lintCURRENT
Delivery remains blocked until the required browser evidence is current.
04 / Interfaces

One delivery discipline, three ways to work.

INTERACTIVE

Terminal console

Run a persistent coding session with visible plan, progress, checks, evidence, and model settings.

HEADLESS

CLI runs

Use the same delivery contract in scripts or bounded non-interactive runs with explicit tool and time limits.

INSPECTION

Web dashboard

Review the active plan, acceptance mapping, check output, source fingerprint, and handoff state in a browser.

05 / Boundaries

“Verified” is a precise status, not a promise that bugs are impossible.

What it means

Every declared required check has fresh passing evidence for the current delivery contract and source fingerprint.

What it does not mean

The checks are independently complete, every possible defect is excluded, or untrusted code is safely sandboxed. Human judgment still matters.

The next chapter of pi2

Software delivery should leave a record.

Carthagent is taking shape in public. The current implementation, evaluation history, and source remain available under the project’s existing name while the rename is prepared.

Explore pi2 on GitHub Return to top