M2 implementation brief: Corpus authority alignment¶
Work contract¶
| Field | Value |
|---|---|
| Milestone | M2 |
| Status | verified; independent verification passed at PR #13 head 395fbd2 |
| Primary gaps | G5, G6, G9 |
| Definition items | D-09, D-10, D-11 |
| Depends on | M0 verified; M1 verification requested |
| Mutation rule | Binding corpus edits only through proposal → Hector approval → PR |
| Tracking issue | #6 |
Objective¶
Make the live corpus compile the Initiative, concurrent-workstream, stage, role, authority, and known/adapt/novel model already established by M0 and physically proven by M1.
M2 changes policy representation. It does not build the plan-review or authorization runtime; that is M3.
Locked inputs¶
- Conductor is a supervisory compiler, not the project-state writer.
- Notion Initiative and workstreams are the organizational state spine.
- Workstreams may run concurrently; there is no Initiative-wide active line.
- One execution authorization covers one workstream, stage, role, and exact plan.
- GitHub Issues are optional repository evidence, not the Initiative contract.
- Core model, organization profile, adapters, state, and secrets are separate layers.
- Generated documentation is a derived mirror, never design authority.
- Binding corpus changes follow the governed proposal workflow in
AGENTS.md.
Deliverables¶
M2.1 Corpus architecture¶
- Define unit identity, status, version, dependencies, precedence, and deprecation.
- Define core versus organization-overlay packaging.
- Define how stage, role, inventory, standard, pattern, and example units compose.
- Define conflict and missing-dependency behavior.
M2.2 Complete stage contracts¶
For every active stage, encode:
- entry conditions;
- required bindings;
- permitted roles;
- expected artifacts and evidence;
- exit conditions;
- allowed next stages;
- deterministic checks versus judgment;
- rollback or recovery behavior.
Incomplete stages must emit an explicit gap.
M2.3 Authority migration¶
- Remove
active_lineandattending_linesas live policy. - Replace single-line ownership with persistent Portfolio plus concurrent line workstreams.
- Remove mandatory GitHub Issue requirements.
- Align role ownership and handoffs with the authority model.
- Preserve superseded material only as archive/recovery evidence.
M2.4 Pattern mode¶
Represent each material pattern choice as:
known— apply accepted precedent and report deviations;adapt— reuse precedent with explicit differences and validation;novel— preserve exploration, assumptions, risks, and review points.
No successful execution automatically promotes a pattern into binding policy.
M2.5 Deterministic generated documentation¶
- Regenerate the corpus mirror from live approved units.
- Restore generated pages to navigation.
- Record source unit and version provenance.
- Add checks for stale generated output.
M2.6 Consistency enforcement¶
Add automated checks that fail on:
- obsolete Initiative-wide line fields;
- mandatory GitHub Issue policy;
- unknown stage or role IDs;
- missing stage-contract sections;
- conflicting authority owners;
- unresolved unit dependencies;
- organization-specific vocabulary placed in core packages;
- generated documentation differing from approved corpus units.
Execution sequence¶
- Approve the decisions in decision-package.md.
- Inventory contradictions without modifying live corpus.
- Group changes into small
conductor-proposalissues. - Hector comments exactly
Conductor-Approval: approveon each accepted proposal. - Implement approved proposals as PRs; never merge automatically.
- Regenerate documentation.
- Run schema, compiler, consistency, snapshot, and documentation checks.
- Request independent M2 verification.
Acceptance conditions¶
- Every active stage has a complete contract.
- Corpus and canonical documents agree on Initiative/workstream concurrency.
- No active unit requires obsolete line fields or a GitHub Issue.
- Core and organization-specific policy are mechanically distinguishable.
- Unit dependency and precedence behavior is deterministic.
- Pattern mode supports known, adapt, and novel work.
- Generated docs reproduce deterministically from the approved corpus.
- Consistency checks detect each named superseded-policy fixture.
- Historical archive cannot become live authority.
- Every binding change has proposal, exact human approval, and PR evidence.
Non-goals¶
- Plan bundle and authorization-envelope implementation (M3).
- Real-world Asset triage or decisive EstateComparison execution (M4).
- Learning-loop implementation (M5).
- Second-organization onboarding (M6).
- Routine Notion or production mutation by Conductor.
Handoff¶
Report proposal/approval/PR links, migrated and deprecated unit IDs, consistency
results, generated-doc reproducibility, known gaps, and M2 status as
review requested or a named blocker. Do not self-mark verified.
Owner implementation approval was recorded on 2026-07-26 in
PR #13.
The first independent verification returned BLOCKED. Its four findings were
remediated without merging:
- mutation tools and webhook writeback were removed from the live app surface;
- all 73 YAML and Markdown corpus sources now carry typed metadata and participate in dependency/layer validation;
- stage inventory bindings now use resolvable unit IDs with a failing unknown-ID fixture;
- all 40 stages now carry line-specific entry, evidence, exit, checks, and recovery contracts, with both deterministic and judgment modes.
The remaining gate is a clean independent re-verification; owner approval alone does not self-mark M2 as verified.
The second verification confirmed those four remediations and found three additional fail-open edges. The current revision also:
- rejects malformed, unsupported, and incompatible exact or caret dependency constraints in schema, CI validation, and live corpus loading;
- resolves known/adapt precedents against the active accepted pattern-unit set;
- excludes archived-status units from live corpus snapshots and rejects active dependencies on archived units.
The third independent verification returned VERIFIED with no blockers.
Evidence is recorded in
PR #13.
The PR remains unmerged.