06 — Phase 0 Config-Only First Drafts (dry-run package, Branch F)
06 — Phase 0 Config-Only First Drafts (Branch F, dry-run package)
Gate state: G1 unborn (field/input_form/tier registries = NULL) and draft-record owner law not yet enacted → commit blocked. This is the executable dry-run package: the exact config-only draft records to commit once G1 is born + owner law clear. No runtime, no real workflows/tasks/forms/reports, no event delivery, no UI.
1. What "config-only draft" means here
A config-only draft is a metadata/registry record describing a Mother's first artifact — NOT an executable artifact. It is a draft row in the appropriate registry, owned by exactly one Mother (Đ7), with refs to Candidate Registry / IU / KG / mother-event / governance owner, plus a permission placeholder. It produces zero runtime effect.
2. Per-Mother first-draft skeleton (commit after G1)
MOW (Mother of Workflows) — owns workflows
- factory row: GOV-MOW (active after G4).
- CR refs: n/a for workflow shell (workflows reference tasks/forms downstream).
- IU ref: workflow definition anchored to an IU canonical address.
- KG relation ref:
workflow BELONGS_TO mother:GOV-MOW;workflow USES task:…(proposed, not asserted). - mother event ref:
mother.workflow.*event types (currently active=false; stay false). - governance owner: GOV-MOW (can_create ∋ workflows; must_not_own tasks/forms/templates/IU).
- permission placeholder: Đ37-H role binding (TBD on G2).
- draft status only; no execution.
MOT (Mother of Tasks) — owns tasks
- CR refs: task may reference field_registry/input_form_registry entries (born by G1).
- IU ref: task definition anchored to IU.
- KG:
task BELONGS_TO mother:GOV-MOT;task USED_BY workflow:…. - owner: GOV-MOT (must_not_own workflows/IU/templates).
MOIT (Mother of Input Templates) — owns input_form_registry, field_registry
- CR refs: direct — first draft input form references field_registry entries (these are exactly the registries G1 births).
- IU ref + KG:
input_form CONTAINS field:…;BELONGS_TO mother:GOV-MOIT. - owner: GOV-MOIT.
MOUT (Mother of UI/Output Templates) — owns design_templates
- CR refs: output template references tiers (tier_registry, born by G1) + fields.
- KG:
design_template BELONGS_TO mother:GOV-MOUT. - owner: GOV-MOUT (must_not_own workflows/tasks/input_form).
3. No-double-ownership proof obligation (each draft)
For every draft record, assert: the output-target collection is in exactly one Mother's capability.can_create, and the draft's owner = that Mother. The 4 can_create sets are already disjoint (doc 05 §1), so the partition holds by construction; the verifier (doc 12 prompt group 12) must re-prove it per draft.
4. Dry-run commit template (do NOT run until G1 born + owner law)
BEGIN;
-- example MOIT first input-form draft (illustrative shape; real codes per owner law)
-- INSERT INTO input_form_registry (code, owner_governance, status, iu_ref, ...)
-- VALUES ('FORM-DRAFT-001', 'GOV-MOIT', 'draft', '<iu_canonical_addr>', ...);
SELECT * FROM fn_phase0_cockpit(); -- verify counts moved only by intended drafts
ROLLBACK; -- dry-run: prove shape, persist nothing
5. Forbidden in this branch (restated)
No real workflows/tasks/forms/reports; no event delivery; no queue execution; no UI; no draft that owns another Mother's collection.
6. Commit gate
Config-only draft commit is authorized when: (a) G1 registries born; (b) draft-record owner law clear (which registry/column holds the owner ref); (c) gate all_safe; (d) BEGIN..ROLLBACK dry-run proven byte-clean first. Until then: dry-run only.