04 — Seed & Readiness Plan (one transient draft-ruleset seed; ownership stays empty for honest under-coverage; NO seed created; 2026-06-02)
04 — Seed & Readiness Plan
Minimal seeds required before a dry-run, classified by whether each may be a transient rehearsal seed (rolled back) or must stay empty. No seed is created by this mission.
4.1 Seed inventory
| Seed | Needed? | Mode for first dry-run | Persist? |
|---|---|---|---|
Ruleset row (governance_ruleset) |
Yes — scan must resolve a ruleset_version |
one draft ruleset, rehearsal-seeded inside BEGIN..ROLLBACK |
No (rolled back) |
Snapshot row (evolution_snapshots) |
Reusable — 1 already exists (id present) | reference the existing snapshot; do not create | n/a (already 1) |
Cursor row (gov_worker_cursor) |
Yes for object-grain; not for collection-grain | collection-grain dry-run needs none; if seeded, rehearsal-only | No |
Scope seed (governance_responsibility_scope) |
Already seeded (6, reference data) | reuse as-is | already present |
Owner seed (governance_object_ownership) |
Intentionally empty | leave empty — the dry-run must honestly show owner gaps | No |
Issue-type seed (system_issues buckets) |
No new bucket | issues ride existing buckets; none created in dry-run | No |
| Event-type activation (SB-11) | Stays active=false |
unchanged | No |
| Seam wiring (doc 02) | Yes for a non-trivial run | CREATE OR REPLACE inside BEGIN..ROLLBACK (collection-grain) |
No |
Axis seeds (axis_registry/axis_assignment) |
Out of scope — substrate unbuilt | not seeded | No |
4.2 What stays empty (hard invariants for the dry-run)
governance_object_ownership= 0 (proves honest under-coverage reporting).governance_candidate_state/candidate_scan_run/governance_candidate_object= 0 persisted.event_outboxgovernance emit = 0.os_proposal_approvals= 0,approval_requests/apr_approvalsunchanged.- All 5 governance event types
active=false. governance_relations=8,dot_tools=309.
4.3 The honest-result principle
The first dry-run must not seed owners. An empty ownership table means every governed collection shows as an owner gap — and that is the correct result to verify: it proves the path reports reality (under-coverage) rather than a manufactured PASS. Seeding owners to "make it green" would be the exact anti-pattern (a checked-forever / declared-coverage lie) the substrate was designed to prevent.
4.4 Seed classification vs the forbidden list
Every seed above is either (a) reference data already present (scopes, snapshot), or (b) a transient rehearsal seed inside a rolled-back transaction (ruleset, optional cursor, seam wiring). None is a persistent production candidate/owner population. This satisfies the mission's "no production candidate/owner data unless explicitly classified as inert test seed and justified" — here the classification is: no persistent seed at all; only rolled-back rehearsal seeds, justified as the minimum to exercise the path.
4.5 Readiness gate before any dry-run
A dry-run may proceed only when all hold (re-verified read-only immediately prior):
os_proposal_approvals=0 (gate intact) and dry-run is explicitly non-activating.- Substrate census matches doc 01 (8 tables + 6 views, all inert).
- Seam wiring spec (doc 02) chosen as collection-grain (object-grain deferred).
- Operator has the rollback script staged (doc 02 §2.5 inert-restore is the SB-2 rollback already on disk).
idle_in_transaction=0 at start.
4.6 Seed/readiness verdict
CLEAR. Exactly one transient seed (a draft ruleset) plus inside-transaction seam wiring are required; everything else is reused-as-present or stays empty. The plan forbids persistent candidate/owner seeding and mandates an empty-ownership honest-gap result.