From e7d21013b97beca8217a755d43c88b229136d9e3 Mon Sep 17 00:00:00 2001 From: Meta Vens Date: Wed, 16 Sep 2026 02:40:45 +0200 Subject: [PATCH] Record Soul's Cut 2 verdict The assertions Cut 2 added pin text, not invocations. Deleting the two lines above the pinned cargo line turns it into trailing arguments on the previous container: the kernel tests never run and the wiring test still passes. Nothing pins the order of the four cargo steps, and the wiring test never reads the runbook. Those three are going to a fix batch. Two more are recorded, not fixed: a redeploy of an already-sealed commit runs no cargo steps at all, which is pre-existing deploy behaviour the operator owns, and the dated census docs still show the old single-crate paths. What held: the library step runs in the right branch with the same image and mounts, its failure aborts the deploy, and the acceptance test path resolves under the library crate. Co-Authored-By: Claude Opus 5 --- .../ghostlight-library-extraction-cut.md | 27 +++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/docs/architecture/ghostlight-library-extraction-cut.md b/docs/architecture/ghostlight-library-extraction-cut.md index 401df8b..a6b18b1 100644 --- a/docs/architecture/ghostlight-library-extraction-cut.md +++ b/docs/architecture/ghostlight-library-extraction-cut.md @@ -54,8 +54,31 @@ deletion; and the acceptance test path lives in `acceptance_test=` at list, pinned by the wiring test and repeated in the runbook prose. Operator consequence: changing `acceptance_test` changes the acceptance binding, so sealed witnesses under `/srv/ghostlight/acceptance//` from -before this commit will miss and regenerate. Soul has not passed on Cut 2 -yet. +before this commit will miss and regenerate. + +Soul passed on Cut 2 and found the assertions pin text, not invocations: +- **C2-F1 (high, fixing):** deleting the two lines above the pinned cargo + line in `scripts/deploy-ghostlight-yggdrasil.sh` leaves it byte-identical + as trailing argv on the *persona-projection* container, so the kernel + tests never run and the wiring test still exits 0. Prefixing the + `docker run` line with `: ` does the same. +- **C2-F2 (medium, fixing):** nothing pins the order of the four cargo + steps; the library block moved after the release build and the wiring + test passed, which would seal an artifact before the kernel tests ran. +- **C2-F3 (medium, fixing):** the wiring test never reads the runbook, so + only three of the four acceptance sites are enforced to agree. +- **C2-F4 (medium, pre-existing, recorded):** `deploy-…sh:937` takes a + reuse branch when the release directory for a commit already exists, so a + redeploy of a sealed commit runs no cargo steps at all. This bounds "the + deploy runs the kernel tests" to a commit's first build. Operator owns + whether that is right. +- **C2-F5 (low, recorded):** `docs/repo-census-2026-09/*` still shows + `src/world/...`. Dated census; no deploy effect. + +Held: the step sits in the same branch, image and mounts as its +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`. Open: **Q1-9 what sealing means.** A: restate invariant 1 as unforgeable *admission* — external code may hold a syntactically valid ID or opportunity,