KB-7E4A
08 — C1 Preflight & Dry-Run Execution Log (2026-06-22)
3 min read Revision 1
08 — C1 Preflight & Dry-Run Execution Log — 2026-06-22
LABELS: LOCAL_DISPOSABLE_SANDBOX_DOT_EMULATOR · NOT_GOVERNED_RUNTIME · NOT_PRODUCTION · NOT_DIRECTUS_GOVERNED_WRITE · NOT_A_SUBSTITUTE_FOR_DOT_C1_REGISTRATION
Preflight — c1.dot_c1_preflight() → READY
| check | pass | value |
|---|---|---|
| c1_target_table_exists | ✔ | |
| authority_fixture_14_rows | ✔ | 14 |
| resolver_returns_rows | ✔ | 14 |
| table_registry_wired | ✔ | 4 |
| dot_c1_contracts_registered | ✔ | 7 |
| cser_hash_recomputable | ✔ | |
| prod_real_run_blocked | ✔ | |
→ "preflight": "READY" (all 7 checks pass). |
Scope: this is a sandbox preflight. It proves the C1 preflight LOGIC returns READY when its prerequisites are met. It does NOT assert governed-runtime readiness (governed prerequisites — collection, contracts, grant — are absent; file 05/07).
Dry-run — command, input, output
Command:
select c1.dot_c1_vocab_build('DRY_RUN',
jsonb_build_object('carrier','C1','plan_ref','LEGO1-C1-PLAN','protocol_version',1),
'no-auth-needed-for-dryrun');
Output (verbatim):
{ "mode":"DRY_RUN",
"outcome":"DRY_RUN_OK_AUTH_WOULD_REJECT",
"carrier":"C1", "plan_ref":"LEGO1-C1-PLAN", "protocol_version":1,
"manifest_hash":"c9286d3acf8223d77207de69c79b2333c949c996c33843c5c42866a628d7ec00",
"operation_count":14,
"auth_check":{ "ok":false, "reject_code":"REJECT_AUTH_NOT_FOUND" },
"persistent_state":"NONE",
"seal":"WITHHELD_DRY_RUN" }
- Exit status: success (function returned).
- Persistent state: NONE —
vocab_rows_before_dryrun=0,vocab_rows_after_dryrun=0. - Log path:
/tmp/c1_sandbox_2026_06_22/server.log(cluster), exercise transcript captured. - Seal: WITHHELD_DRY_RUN (dry-run emits no real seal/digest).
- Note: dry-run reports the manifest/hash/op-count and that authorization would reject (no grant yet), without consuming or writing. This is the intended dry-run behavior: plan + hash, zero mutation.
Route-level note
The dry-run exercised the actual dispatcher route c1.dot_c1_vocab_build (the same function used by SANDBOX_APPLY), not a stub — so the dry-run path and the write path share one code path, differing only by mode branch. This is sandbox-route proof, not governed-route proof.