Skip to content

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.

coverstypecommandresult
suitetestbash test/run.shthe 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.

issuestatuswavedepends ontitle

The graph

foundation dependency graphfrom .ai/repo/project
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:2px

Canonical record: .ai/repo/project/milestones/foundation.yaml. Read it back with majordomus plan show foundation.