I0007 — Enforce the canonical model as doctrine
Add the project model to the doctrine registry so that doctor reports a broken model and watch reports a model that has drifted, through the same dispatcher every other rule uses.
DONE wave 5 · p1 · implementation profile · parallel safe
Part of M000 — Milestone and DAG driven development.
Objective
Add the project model to the doctrine registry so that doctor reports a broken model and watch reports a model that has drifted, through the same dispatcher every other rule uses.
Why
A rule enforced by a script nobody runs is documentation. The doctrine registry is how this repository makes enforcement verifiable end to end.
Current state
The registry covered policy, profiles, scope, state, notes, projections and retention. Nothing covered the plan.
Desired state
majordomus.project-integrity and majordomus.dag-integrity are declared, have validator functions, are dispatched by doctor and watch, and each has a test.
Scope
- share/standard/majordomus/
- lib/doctor.sh
Out of scope
- Blocking a commit on a work-in-progress issue; progress is reported, not blocked
Dependencies
Acceptance criteria
- A repository with no canonical model skips both doctrines rather than failing
- An invalid model is a blocking doctor failure with a reproduce command
- watch reports the same violations as drift
Validation
- bash test/run.sh 44_model_doctrine
Evidence required
- doctrine_test
Evidence
| covers | type | command | result | at commit |
|---|---|---|---|---|
| doctrine_test | test | bash test/run.sh 44_model_doctrine | 1 passed, 0 failed | 2dd5915 |
Risk
A doctrine that fails in a repository without a project model would make every user installation red.
Timeline
- started
- 2026-09-04T03:12:56Z
- verified
- 2026-09-04T03:12:57Z
- completed
- 2026-09-04T03:12:58Z
Those three fields, the evidence above and the state of the dependencies are all the status is made of. There is no status field to disagree with them.
Canonical record: .ai/repo/project/issues/I0007.yaml. Read it back with majordomus plan show I0007.