Record the Cut 2 fix batch and its follow-ups

gamecult-ops 803f2c7 pins each of the four cargo steps as a whole
docker invocation, asserts the recipe order, and brings the runbook into
the wiring test. The four mutations that previously passed silently now
fail, and no pre-existing assertion was weakened.

The same defect class survives in three places outside this migration:
the web build container, the Codex Connector's cargo steps, and a fixed
18-line search window. All three are recorded as follow-ups.

Soul has not yet passed on the fix batch.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Meta Vens 2026-09-16 02:47:28 +02:00
commit 8ddc1e86f3

View file

@ -80,6 +80,25 @@ neighbours, and `set -euo pipefail` with `trap` means a library-test
failure does abort the deploy. The acceptance test exists at
`crates/ghostlight/src/controllers.rs:8980` under `-p ghostlight --lib`.
C2-F1, C2-F2 and C2-F3 are fixed at gamecult-ops `803f2c7` (wiring test
only). A new `require_invocation` helper pins each of the four cargo steps
as a whole contiguous docker invocation and returns its start line; three
numeric comparisons assert the recipe order; the runbook became a checked
file, tying all four acceptance sites together. All four of Soul's
mutations now exit 1 where they previously exited 0, and every
pre-existing assertion still passes. `require_order` was unusable here
because its `last_line` resolves a substring and would have bound the
library step to the acceptance invocation. Soul has not yet passed on this
fix batch.
Follow-ups outside this migration, from the fix batch:
- `scripts/deploy-ghostlight-yggdrasil.sh:974`, the web container, is
pinned by substring and survives a `: ` prefix that neuters it.
- The Codex Connector's four cargo steps are bare substring pins with no
invocation or order assertion: the connector-side C2-F1 and C2-F2.
- `require_command_options` searches a fixed 18-line window, so a block
that grows past it stops being checked silently.
Open: **Q1-9 what sealing means.** A: restate invariant 1 as unforgeable
*admission* — external code may hold a syntactically valid ID or opportunity,
and the kernel must reject any it did not issue — and prove it with rejection