Repository navigation
Slice 2: director role cards become versioned registry artifacts (human-gated seed) #806
Description
Important
Problem — The four director role cards (hypothesizer, experimenter, analyzer, implementer) exist only as deployed staging-bundle artifacts: unversioned, untested, no upgrade path — and the doctor's reverse-direction check flags machines carrying them as stale by construction.
Approach — Author the role cards into the shipped agents directory as versioned, digest-verified registry artifacts owned by their mode bundles, SEEDED from the live deployed artifacts — with a human-gated seed diff against the engine-neutral definitions before any parity test pins content.
Scope — in: the four role cards in-repo + registry ownership + staging/upgrade parity with the cards + the seed gate · out: skill moves (slice 3), plugin changes, any new role.
Acceptance Criteria
- The four role cards exist as versioned repo sources, owned by their mode bundles, staged and digest-verified with the director cards
- The doctor's source set includes them — a machine carrying the old deployed-only artifacts reads current once UPGRADED (and, if the seed gate amends content, reads stale until then — the condition is the honest outcome, not a regression)
- The parity test (shipped card ↔ engine-neutral vault definition, where they overlap) passes on revision-pinned fixtures that carry the vault revision they pinned
- The seed gate is recorded: the implementing cast prepared the diff, AARON performed and signed it, and the seed machine's provenance hash is in the campaign record — before any parity test pinned content
- A scheduled pin-behind-HEAD check rides the doctor's fleet cadence on the vault-visible machine and files a chore issue on drift
Testing Decisions
Extend the staging/upgrade fixtures (role cards join the bundle) and the doctor staleness probe (the stale-by-construction verdict resolves). The parity test is new surface but composes the existing mode-card parity machinery.
Key Decisions
The seed is gated because deployed artifacts are plausibly per-machine drifted: garbage-in must never be enshrined as the tested baseline. Only THIS slice's parity pins block on Aaron's signature — no downstream slice waits on it.
Constraints & Invariants
The shipped card is the opencode binding; the vault definition is the engine-neutral contract — repo wins for shipped bindings, vault wins for engine-neutral semantics, and the parity test keeps the overlap coherent.
Prior Art
Spec decision D3; the registry slice's bundle layout; the engine-neutral role definitions in the private vault (agents records); the existing mode-card parity test machinery.
Source
Spec spec-20260905-063000-modes-first-class · Campaign ledger session-20260905-modes-first-class · Blocked by the mode-registry slice (bundle shape) and the ADR-amendment slice (publishing authorization — this is the first slice shipping previously-internal content). Published with Aaron's standing approval to execute (autodev, 2026-09-05).
Notes
Contains a HUMAN GATE (the seed-gate signature) — runnable to the gate autonomously; the signature itself waits for Aaron.
Activity
fix(seed-gate): fold the independent review — B1 fixture hold, B2 fet…
feat(seed-gate): Aaron's signature lands (accept-seed, by directive) …
fix(ops): the parity CLI + orchestrator accept the signed tree's thir…
feat(role-cards): director role cards become versioned registry artif…