From 1b409b3121083e6dd2ef46cfe1cc72e8db53ec1c Mon Sep 17 00:00:00 2001 From: Meta Vens Date: Wed, 16 Sep 2026 02:35:06 +0200 Subject: [PATCH] Record Cut 2 and the two spec defects it exposed Cut 2 landed at gamecult-ops 6aba281: the library test step now runs in the deploy script, is documented in the runbook, and is asserted by the wiring test. Without it a deploy would run 50 tests and skip the 420 kernel tests that moved to the library crate. Two defects in this map's own spec, reported by Hands rather than worked around: - the assertion it specified was vacuous, because require_text is a substring match and the given string is a substring of the persona-projection line; - the acceptance test path lives in a variable the spec did not list, pinned by the wiring test and repeated in the runbook prose. Changing the acceptance binding means sealed acceptance witnesses from before this commit will miss and regenerate. Soul has not passed on Cut 2 yet. Co-Authored-By: Claude Opus 5 --- .../ghostlight-library-extraction-cut.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/docs/architecture/ghostlight-library-extraction-cut.md b/docs/architecture/ghostlight-library-extraction-cut.md index 095cd2d..401df8b 100644 --- a/docs/architecture/ghostlight-library-extraction-cut.md +++ b/docs/architecture/ghostlight-library-extraction-cut.md @@ -42,6 +42,21 @@ Soul found six defects. Triage: `controller_work.v3` against code at `consumer.v4` and `controller_work.v15`. Outside L0; it changes no behavior here. +Cut 2 landed at gamecult-ops `6aba281` (text only; nothing live was run). +The library test step is in the runbook, the deploy script, and the wiring +test, ordered as `recipe.toml` orders it. Two spec defects Hands reported +rather than redesigned: the assertion this map specified was vacuous +(`require_text` is `grep -Fq`, and the string given is a substring of the +persona-projection line, so it passed with the library step deleted), so +Hands used the file's existing exact-line helper and proved it fails under +deletion; and the acceptance test path lives in `acceptance_test=` at +`scripts/deploy-ghostlight-yggdrasil.sh:34`, a fourth site this map did not +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. + 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