Worktree Isolation
The pipeline shares a single working directory and git index across all agents. The branch dance — switching, stashing, validating, recovering — is template-enforced, not mechanically enforced. 30+ lines of branch management instructions tell agents what to do. Nothing prevents them from doing it wrong. This produced a real data corruption incident (ANA-CLI-034: two Plan agents shared a git index, one committed the other's staged files) and creates daily friction (stashing, blocking, wrong-branch errors).
verdict PASSscore 45 / 45findings 9 (0 risk · 4 debt · 5 obs)duration 1h 39mrejection cycles 1shipped May 6, 2026surface cli
Pipeline timeline
Intent to proven code in 1h 39m across Think, Plan, Build, and Verify.
Think3m
Plan22m
Build63m
Verify11m
Assertion ledger
45 claims, each independently verified. Showing 8 — show all →
| ID | Says | Matcher | |
|---|---|---|---|
| A001 | Starting work on a new slug creates its directory and records the start time | verified | ok |
| A002 | Starting work on a slug with only a scope records the plan start time | verified | ok |
| A003 | Starting work on a slug with only a scope validates the artifact branch | verified | ok |
| A004 | Starting work on a slug with spec and contract creates a worktree | verified | ok |
| A005 | The created worktree is on the correct feature branch | verified | ok |
| A006 | Starting work records the build start time before worktree creation | verified | ok |
| A007 | Starting work on a slug with build report prints the existing worktree path | verified | ok |
| A008 | Starting work for verify records the verify start time | verified | ok |
Findings 9 total
debtpackages/cli/src/commands/work.ts→ closed
A021 has no tagged test — verified by source inspection only
debtpackages/cli/src/commands/work.ts→ closed
Phase detection logic (A001-A003, A006-A011) has no dedicated tagged tests
debtpackages/cli/src/commands/init/index.ts→ closed
Guard commands (A028-A032) have no integration tests
debtpackages/cli/tests/utils/worktree.test.ts→ closed
A012 and A037 use typeof assertions instead of value assertions
obspackages/cli/src/utils/worktree.ts→ closed
branchExists exported only for test imports — not used by production code
+4more findings
Integrity seal
scopesha256:6b17d465e1d0b...
contractsha256:bd850d83d0dd9...
plansha256:0b63de5831792...
specsha256:ed50f8accbf1c...
build-reportsha256:6b53ba8c37697...
build-datasha256:aa93ff28f08d5...
verify-reportsha256:a77523d102228...
verify-datasha256:8de0ff181d4d4...
audit cmd$ ana proof audit worktree-isolation → all hashes match