foundation — A supervisory control layer that is real rather than described
A repository carries one policy, a small set of profiles, durable task state, and a set of commands that refuse work which does not meet a declared contract — with every rule dispatched from a registry that proves it reaches the command claiming to run it.
DONE 0 of 0 issues done
- ready
- 0
- blocked
- 0
- active
- 0
- verify
- 0
- done
- 0
- cancelled
- 0
Problem
An AI worker in a repository has no durable memory, no declared scope, and no contract that says when its work is finished. Every session starts from nothing and ends by asserting success. The evidence that a rule is enforced is usually a sentence claiming it is.
Outcome
A repository carries one policy, a small set of profiles, durable task state, and a set of commands that refuse work which does not meet a declared contract — with every rule dispatched from a registry that proves it reaches the command claiming to run it.
Current state
Delivered. The policy, the profiles, the durable records, the command surface, the doctrine registry with wiring reconciliation and the provider projections all exist and are covered by the behavioural suite.
Desired state
Unchanged: this milestone is the base every later one is measured against.
Scope
- bin
- lib
- share
- test
Out of scope
- Measuring tokens or cost
- Constraining a provider's runtime
Acceptance criteria
- One canonical policy projects to every provider and drift is detectable in one command
- A task declares scope, and work outside it is reported
- A finish contract is evaluated rather than asserted
- Every enforced rule is declared in a registry, dispatched from it, and proven to reach its command
- Every behaviour has a case in the suite and CI runs it
Validation
- bash test/run.sh
- bin/majordomus doctor
Evidence required
- suite
Risks
- The floor is bash 3.2 and BSD userland, which bounds what the engine can be asked to do.
Evidence
A milestone is never done because its issues are; the last step is its own acceptance, and it is gated on the rows below.
| covers | type | command | result |
|---|---|---|---|
| suite | test | bash test/run.sh | the behavioural suite covering the policy, the profiles, the task lifecycle, the doctrine registry and the provider projections passes |
Issues
Each one is an execution contract with its own acceptance criteria, validation command and required evidence. The wave column is the layer of the dependency graph it sits in.
| issue | status | wave | depends on | title |
|---|
The graph
flowchart LR
classDef done stroke:#16a34a,fill:#052e16,stroke-width:2px
classDef active stroke:#2563eb,fill:#eff6ff,stroke-width:2px
classDef verify stroke:#7c3aed,fill:#f5f3ff,stroke-width:2px
classDef ready stroke:#0891b2,fill:#ecfeff,stroke-width:2px
classDef blocked stroke:#b45309,fill:#fffbeb,stroke-width:2px
classDef cancelled stroke:#6b7280,fill:#f9fafb,stroke-width:2pxCanonical record: .ai/repo/project/milestones/foundation.yaml. Read it back with majordomus plan show foundation.