Non-Main Artifact Branch Tests
Every test assumes the artifact branch is `main`. The `artifactBranch` field in `ana.json` supports any branch name, and the runtime code reads it correctly via `readArtifactBranch()` — but zero tests exercise a non-main value. A team using `develop` as their artifact branch hits untested code paths in `work start`, `artifact save`, `work complete`, `work status`, and `proof` commands. Add parameterized tests proving non-main values work, and fix a display bug where init shows the git default branch instead of the configured artifact branch.
verdict PASSscore 10 / 10findings 4 (0 risk · 2 debt · 2 obs)duration 59mrejection cycles 0shipped May 6, 2026
Pipeline timeline
Intent to proven code in 59m across Think, Plan, Build, and Verify.
Think1m
Plan13m
Build45m
Verify0m
Assertion ledger
10 claims, each independently verified. Showing 8 — show all →
| ID | Says | Matcher | |
|---|---|---|---|
| A001 | Work status detects the correct stage when the artifact branch is develop | verified | ok |
| A002 | Work status shows the develop branch name in its output | verified | ok |
| A003 | Work status detects build-in-progress when feature branch exists on develop-based project | verified | ok |
| A004 | Starting work succeeds when on the develop artifact branch | verified | ok |
| A005 | Starting work fails when not on the configured develop branch | verified | ok |
| A006 | Saving a scope is allowed when on the develop artifact branch | verified | ok |
| A007 | Saving a build report is rejected when on the develop artifact branch | verified | ok |
| A008 | Saving a build report succeeds from a feature branch when artifact branch is develop | verified | ok |
Findings 4 total
debtpackages/cli/src/commands/init/state.ts→ closed
A010 has no runtime test — verified by source inspection only
debtpackages/cli/tests/commands/work.test.ts→ closed
completeWork test builds fixture manually (60 lines) instead of using createMergedProject helper
obs→ closed
A010 contract assertion uses source-level target (state.ts:634) — fragile if line numbers shift
obspackages/cli/tests/utils/worktree.test.ts→ closed
Pre-existing worktree.test.ts failure — detectWorktreeSlug('') returns slug when run inside worktree
Integrity seal
scopesha256:59f784162f4cb...
contractsha256:0254b0110eab2...
plansha256:847bbc3389531...
specsha256:d8c4c63d2c537...
build-reportsha256:d45a81643cd15...
verify-reportsha256:ba95ed0a9e97e...
build-datasha256:5ab07c1bf9827...
verify-datasha256:41ce96964546d...
audit cmd$ ana proof audit non-main-artifact-branch-tests → all hashes match