ana init commit — persist infrastructure to git

The CLI has no concept of committing infrastructure. Init writes files to disk. Setup enriches them. Neither commits. A teammate who clones gets nothing Anatomia-related. The investment of a 10-minute setup session exists only on one developer's machine. This scope adds `ana init commit` — a command that commits Anatomia infrastructure files to the artifact branch, distinct from pipeline artifacts (`ana artifact save`) and proof chain data (`ana work complete`, `ana proof close/promote/strengthen`).

verdict PASSscore 24 / 24findings 6 (0 risk · 2 debt · 4 obs)duration 3h 20mrejection cycles 0shipped May 15, 2026

Pipeline timeline

Intent to proven code in 3h 20m across Think, Plan, Build, and Verify.

Think
2m
Plan
6m
Build
20m
Verify
6m

Assertion ledger

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

IDSaysMatcher
A001Running init commit stages and commits discovered infrastructure filesverifiedok
A002The commit is path-scoped to only infrastructure filesverifiedok
A003File discovery walks known directory roots, not a hardcoded listverifiedok
A004Proof chain files are never committed by this commandverifiedok
A005Plan directory contents are never committed by this commandverifiedok
A006Proof chain markdown is never committed by this commandverifiedok
A007Per-developer state directory is excluded from commitsverifiedok
A008Agent memory is excluded from commitsverifiedok

Findings 6 total

debtpackages/cli/tests/commands/init/commit.test.tsscope
Push failure test doesn't test push failure — tests push skip (no remote)
debtpackages/cli/src/commands/init/commit.tsscope
No integration test for pull conflict abort path
obspackages/cli/src/commands/init/commit.tsclosed
No integration test for worktree guard — verified by source inspection only
obspackages/cli/src/commands/init/commit.tsclosed
discoverDirtyFiles returns empty array on git status failure without reporting why
obspackages/cli/tests/commands/init/commit.test.tsclosed
A013 (--no-verify) has no runtime assertion — test name claims it but only verifies commit happened
+1more findings

Integrity seal

scopesha256:7459a7862be75...
contractsha256:c6f8537e1192a...
plansha256:dc5008e416032...
specsha256:6d403d11130a0...
build-reportsha256:54e688419bcc2...
build-datasha256:7440f7dc6b3e0...
verify-reportsha256:87c3fafe8ce79...
verify-datasha256:62b954a1e8589...
audit cmd$ ana proof audit init-commit   → all hashes match