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:
parent
e7d21013b9
commit
8ddc1e86f3
1 changed files with 19 additions and 0 deletions
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in a new issue