State consistency
The task record still describes this checkout — same branch, and HEAD at or ahead of the recorded commit.
blockingA violation stops the command with exit 10.
The chain
A rule is enforced only when every link below holds. majordomus doctor resolves each one from the source on every run; this page shows what it resolved.
- 1 Declared majordomus.state-consistency
- 2 Validator mj_validate_state
- 3 Runs under check, finish, watch
- 4 On violation exit 10
- 5 Proved by test/cases/04_start_check.sh
- 6 Run by CI .github/workflows/validate.yml
Where it runs
- majordomus checkIs the current task still consistent with its policy, its scope and this checkout?
- majordomus finishEvaluate the finish contract and refuse the outcome if any line of it is unmet.
- majordomus watchWhat has drifted since the last update — policy, projections, state, retention.
A repository selects this line of the finish contract by naming state_updated in verification.finish_requires. A requirement the policy names that no doctrine defines is reported and refuses.
What it lets us promise
- guaranteedIdentity fields on every state record are computed from git and never authored
- guaranteedcheck reports whether state, scope, blockers and checkpoint age are consistent right now
- guaranteedState read back is labelled exact, advanced, diverged or different_context against git
Read it here
majordomus doctrine show majordomus.state-consistency
majordomus check --rule majordomus.state-consistency