Reconcile & drift
The status a project claims is only worth trusting if something checks it against reality. reconcile is that something: it recomputes state from a census of the files and reports where the claim and the files disagree.
What drifts
Section titled “What drifts”- Index rows - an artefact with no index row, or a row pointing at a file that no longer exists.
- Status mismatches - an index row that says Open while the file says Fixed.
- Counts - an epic’s “3/5 stories done” checkbox that no longer matches its children.
/sdlc-studio reconcile # detect: read-only, reports drift/sdlc-studio reconcile apply # fix the mechanical drift/sdlc-studio reconcile --verify # also run the executable Verify: linesdetect writes nothing; apply fixes the mechanical drift; the index is derived, never hand-authored.
Why derived beats asserted
Section titled “Why derived beats asserted”A spec-driven tool writes the status down and trusts the agent to keep it current. A week and ten changes later, the documents and the code have quietly diverged and nothing noticed. Reconciliation removes the trust: the count is recomputed from the files every time, and a pre-commit gate refuses a commit whose counts, index or status do not match - naming the exact drift and the fix.
See also
Section titled “See also”- Executable acceptance criteria -
reconcile --verifyruns them. - Mutation testing - proving those tests can fail.