Fix Pipeline Phase Timing

Pipeline phase timing is structurally broken. Three bugs produce incorrect or missing timestamps for Plan and Verify phases. The user wants accurate phase duration measurements across all pipeline stages so proof chain entries reflect real session times, not artifact-gap estimates.

verdict PASSscore 17 / 17findings 6 (0 risk · 1 debt · 5 obs)duration 1h 2mrejection cycles 0shipped May 7, 2026surface cli

Pipeline timeline

Intent to proven code in 1h 2m across Think, Plan, Build, and Verify.

Think
31m
Plan
9m
Build
13m
Verify
10m

Assertion ledger

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

IDSaysMatcher
A001Starting work from inside a worktree during Verify phase records the verify session start timeverifiedok
A002Starting work from inside a worktree during Build phase records the build session start timeverifiedok
A003Starting work from main during Plan phase records the plan session start timeverifiedok
A004Plan duration uses the actual session start time when availableverifiedok
A005Plan duration falls back to artifact gap when no session start was recordedverifiedok
A006Plan template tells the agent to record session startverifiedok
A007Dogfood plan template tells the agent to record session startverifiedok
A008Plan timing rejects session starts that happen after the contract is savedverifiedok

Findings 6 total

obspackages/cli/src/commands/work.tsclosed
Early-return missing-worktree warning uses misleading message when inside worktree but plan dir absent
obspackages/cli/src/commands/work.tsclosed
Early-return phase detection adds 3 globSync calls per work start from inside worktree — not cached
obspackages/cli/src/commands/work.tsclosed
Race condition in writeTimestamp: read-modify-write on .saves.json is not atomic
debtpackages/cli/src/commands/work.tsclosed
A003 has no dedicated tagged test — verified by source inspection only
obspackages/cli/tests/commands/work.test.tsclosed
Fix-phase test (early-return) has no @ana tag — not linked to any contract assertion
+1more findings

Integrity seal

scopesha256:20b93884dc21a...
contractsha256:5ac86cd400896...
plansha256:a562ee48c8f4e...
specsha256:9fee4dc700893...
build-reportsha256:0294179940196...
build-datasha256:174d05019f6bc...
verify-reportsha256:71ad161bbfc10...
verify-datasha256:6ead88c3ee4a9...
audit cmd$ ana proof audit phase-timing-fix   → all hashes match