KB-1E0E
O9 first-automated-production-run readiness — 05-approval-discovery
4 min read Revision 1
dieu44iu-cutterv0.6o9first-automated-production-runreadiness
O9 Report 05 — Sovereign approval discovery (G5 / GAP7)
- macro:
v0.6-o9-first-automated-production-run-readiness - date_utc: 2026-05-21 · host: Contabo
vmi3080463 - gate covered: G5 — explicit sovereign approval discovery
- result: G5 COMPLETE — NO explicit valid sovereign approval found. The macro STOPs at
READY_FOR_SOVEREIGN_APPROVAL.
1. What was searched
directus.public.knowledge_documents (KB SSOT) and the runtime tree, for:
- any doc authorising the
execution_enabledkill-switch flip (GAP7); - any SG_1 / SG_2 sovereign approval for a v0.6 orchestrator run;
- any doc created/updated after the O8F ruling (id > 4379 / after 2026-05-21 07:43);
/var/lib/cutter/approvals/contents;cutter_governance.review_decisionrows.
2. Findings
docs_after_O8F_ruling: NONE — no knowledge_documents row with id>4379
or date > 2026-05-21T07:43Z. The O8F PASS ruling
(id 4379) is the most recent KB doc.
latest_ruling (id 4379): "dot-iu-cutter-v0.6-o8f-pass-next-o9-gpt-ruling"
— explicitly lists residual blocker:
"GAP7 open: approval for first
orchestrator-managed production run".
O8E approval package (4363): DRAFTED only — states verbatim
"approval_requested: NO — not requested, not assumed".
prior O8 discovery (4290): "explicit_sovereign_approval_for_O8_production_run:
NONE FOUND"; all *approval* docs are v0.5-era.
/var/lib/cutter/approvals/: EMPTY — no approval package, no consumed record.
review_decision rows: 3 — all from the v0.5 ICX-CONST enactment cycle;
none scopes a v0.6 orchestrator run.
The strings kb:approval-sovereign-prod-write-1 / kb:approval-u-w4b-grant-1
appear only inside O8E/O8F packages, rulings and test fixtures as
placeholder ids — never inside an actual sovereign grant document.
3. Approval-validation contract (for the sovereign — from approval.py)
When the approval IS minted it must satisfy validate_sovereign_approval:
required lines (loosely-parsed; context text allowed around them):
gate: SG_1_cut_authz # exact SovereignGate value
run_id: <the run_id printed by the paused cut() call>
signed_utc: <ISO-8601 UTC> # SG_1 freshness TTL = 24h
allowance: explicit
payload_sha256: <hex> # optional; matched if the resume passes it
two-gate model:
SG_1_cut_authz authorises pre_write_backup..write_verify -> IUs in 'draft'
SG_2_lifecycle_authz authorises lifecycle_enact -> 'enacted' (irreversible)
SG_2 additionally requires a review_decision_id: line; TTL 12h
recommended first run: SG_1 ONLY — stop before lifecycle_enact.
The run_id is generated by the cut(mode=LIVE) call, so the SG_1 approval
doc is authored after the run pauses at SG_1 (see Report 06 for the exact
sequence). The kill-switch flip is a separate sovereign act that must
happen before cut(mode=LIVE) can start.
4. Verdict
g5: COMPLETE
explicit_valid_sovereign_approval: NONE FOUND
killswitch_flip_authorisation: ABSENT
consequence: do NOT run; do NOT flip execution_enabled;
STOP at READY_FOR_SOVEREIGN_APPROVAL