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.

Think
3m
Plan
22m
Build
63m
Verify
11m

Assertion ledger

45 claims, each independently verified. Showing 8 — show all →

IDSaysMatcher
A001Starting work on a new slug creates its directory and records the start timeverifiedok
A002Starting work on a slug with only a scope records the plan start timeverifiedok
A003Starting work on a slug with only a scope validates the artifact branchverifiedok
A004Starting work on a slug with spec and contract creates a worktreeverifiedok
A005The created worktree is on the correct feature branchverifiedok
A006Starting work records the build start time before worktree creationverifiedok
A007Starting work on a slug with build report prints the existing worktree pathverifiedok
A008Starting work for verify records the verify start timeverifiedok

Findings 9 total

debtpackages/cli/src/commands/work.tsclosed
A021 has no tagged test — verified by source inspection only
debtpackages/cli/src/commands/work.tsclosed
Phase detection logic (A001-A003, A006-A011) has no dedicated tagged tests
debtpackages/cli/src/commands/init/index.tsclosed
Guard commands (A028-A032) have no integration tests
debtpackages/cli/tests/utils/worktree.test.tsclosed
A012 and A037 use typeof assertions instead of value assertions
obspackages/cli/src/utils/worktree.tsclosed
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