Skip to content

inventory(c4): file-level orphan inventory + file-level wiring guard#53

Merged
actools-pl merged 1 commit into
mainfrom
phaseC/C4-file-inventory
Jun 14, 2026
Merged

inventory(c4): file-level orphan inventory + file-level wiring guard#53
actools-pl merged 1 commit into
mainfrom
phaseC/C4-file-inventory

Conversation

@actools-pl

Copy link
Copy Markdown
Owner

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.

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.
@actools-pl actools-pl merged commit 49b9a52 into main Jun 14, 2026
8 checks passed
@actools-pl actools-pl deleted the phaseC/C4-file-inventory branch June 14, 2026 17:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant