inventory(c4): file-level orphan inventory + file-level wiring guard#53
Merged
Conversation
Add a file-level wiring guard + inventory on top of the C3 dir-level quarantine. The dir-level orphan guard proves which module DIRS are live; this adds proof of which FILES inside the 6 live modules are reached on the live path (21 wired, 1 documentation) vs which ship UNWIRED (13). - tests/guards/live_module_file_inventory_test.bats: new FILE-level guard. Test 1 fails CI if any file under the 6 live modules is unclassified (a surprise file ships); test 2 fails if any of the 13 unwired files enters the live source-closure (a draft gets wired). Reuses live_closure.bash byte-unmodified; both arms proven non-vacuous (demos in HANDOFF-C4). - docs/architecture/runtime-authority-map.md: add the 'File-level wiring within live modules (C4 inventory)' subsection (the 21/1/13 split with per-file evidence + deferred disposition). Existing Standalone section + line-45 row untouched (left to D1). - docs/runbooks/PHASE0_LEDGER.md: add Entry 024 (Pending) + ratify Entry 023. C4 changes NO module/code/installer file: the live source-closure is byte-identical to d482818 (modules/ has zero changes). Behavior-free -> no branch e2e required (as with C1). Disposition deferred: backup/* -> E2/E3; audit/deploy-audit.sh + drupal/{prepare,secure}.sh -> Phase 5.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Phase C4 (Track C cleanup — the repurposed slot, vocabulary having folded into D1) · baseline d482818 (#52).
Inventories and pins the file-level wiring inside the 6 live modules — the dir-level
C1 guard only proved which module DIRS are live. Of the 35 files: 21 wired, 1 doc
(fix_catalog.md), 13 UNWIRED that ship to prod (in-place install + chown -R) but never
execute — the 10-file backup/ "Phase 4.5 Item 2" PITR/binlog/encrypted-backup cluster
(a partial E2/E3 implementation, manually deployable), audit/deploy-audit.sh
(self-declared stale), and drupal/{prepare,secure}.sh (superseded extractions;
provision.sh is the wired stage).
Adds tests/guards/live_module_file_inventory_test.bats with two arms — every shipped
module file must be classified (no surprise file ships), and no unwired file may be
reached by the live install closure — and records the inventory in
runtime-authority-map.md. Ledger Entry 024 (Pending) + Entry 023 ratified.
Disposition is DEFERRED, not done: backup/* → E2/E3; audit/drupal unwired → Phase 5.
Behavior-free: no module/code/installer file touched; the live source-closure is
byte-identical to d482818. REVIEW = APPROVE, DOC-CHECK = PASS (separate windows; both
non-vacuity demos reproduced independently). Guards 26/26, generated 9/9; tree
74a025fa…; author actools-pl, no Co-authored-by.
No branch e2e required (behavior-free) — merge on CI net green.