Purpose. Long ops sessions on this cloud routinely exceed a single context window and get COMPACTED (sometimes several times). Anything living only in the chat scrollback is lost at compaction. This ledger is the durable, committed record of what is IN FLIGHT, so any session -- after a compaction, or a fresh one -- can resume without losing pending work.
How to use it (standing practice).
bash scripts/ledger-scan.sh. Reconcile.ledger-scan.sh is the DRIFT CHECK -- it derives the open-work it reliably can (PROPOSED/OPEN decisions, OPEN security rows, next-free numbers) straight from the repo. This narrative must not claim CLOSED anything the scan shows OPEN, nor omit what it surfaces.SINGLE STREAM (collapsed 2026-07-13). This ledger previously carried three parallel, separately-owned stream sections (main-chat, jumphost, shared) plus ~30 append-only session narratives. Those streams are CLOSED and reconciled into the one list below. There is now ONE stream. Do not re-introduce per-stream sections.
Where the history went. The 2,189-line session-by-session narrative is NOT lost -- it is in git history (the parent of the collapse commit) and, in durable form, in the 65 docs/changelog-*.md files, docs/design-decisions.md, and the incident reports. This ledger deliberately carries only what is still OPEN, plus the facts that would otherwise be lost because they live nowhere else.
scripts/ledger-scan.sh; do not hand-edit)Re-seeded from the 2026-07-17 scan. Re-run bash scripts/ledger-scan.sh to refresh.
docs/opnsense-edge-addon-review-20260718.md).bash scripts/ledger-scan.sh (re-seeded 2026-07-19). The SEC register of record is docs/security-ledger.md; row-level dispositions live THERE only (GA-R4 amendment F3) -- this block carries pointer + count, never rows.vvr1-dc0; site-down = one virsh destroy vvr1-dc0) via operator ruling R-1 2026-07-16 -- this SUPERSEDES the earlier "D-123 Model A" this block used to record. Also: D-124 transit addressing PINNED (172.31.0.0/24) + imported to office1-netbox; D-125 bridge-in single-NAT uplink; D-126 durable rootless site access; D-127 IaC autostart matrix. The Stage-4 rack<->region addressing the prior block flagged as HELD is now assigned.)docs/ or runbooks/ prose -- historically a decoy token in prose inflated the next-free counter (hardened in DOCFIX-174); the authoring discipline stands regardless.ledger-scan D-115 false-positive: RESOLVED. The scan now keys on the LAST **Status:** line per ## D-NNN: block (see scripts/ledger-scan.sh awk), not arbitrary body prose, so D-115 (ADOPTED) no longer shows as PROPOSED/OPEN. The general hygiene -- trust the Status line over body text -- still holds.The pre-rotation bodies (~1080 lines: Live state, OPEN WORK VR1/VR0, NetBox write-path bugs, PINNED rulings, standing lessons, state facts, project- completion, NetBox import narrative) moved VERBATIM to docs/archive/session-ledger-rotated-20260719.md. Standing lessons + VR0 state facts were ROUTED to durable homes first (platform-traps already carried most; juju format=line -> appendix-A; guard discipline -> operating-discipline; VR0 cloud facts -> maas-as-built-reference.md). Open work is machine-derived above + CURRENT-STATE.md; do not re-grow bodies here -- sessions append BOUNDED summaries only (15-line cap).
Retained compact blocks (still-live obligations without another home yet):
Next gate: operator opens Batch 1 (D-130 verification pair v8/v7 -> ruling -> reconcile -> re-plan).
BATCH 1 COMPLETE (2026-07-19, same session): L10 flipped to FAIL (9683a18); v8 + v7 verifications captured (suppression confirmed; no-bounce fact); D-130 ADOPTED (a) + implemented with harness (dac10e0); G6 state surgery executed per operator ruling (ii), backup terraform.tfstate.pre-G6-20260719; G7 re-plan = 6/0/6 == recorded triple (5a4f5eb). Gate status lives in CURRENT-STATE.md.
Next gate: operator opens Batch 2 (record fixes, GA-F backlog, repo-only).
BATCH 2 COMPLETE (2026-07-19, same session): items 2.1-2.10 landed per-GA-F (9 commits), two operator rulings recorded GA-R5-style (D-tags: "Tags as proposed + D-122 amendment"; R3-F disposition none-unaccounted). Live-surface vocab flags 0; residual extractor groups adjudicated history-class/mechanical -- see the session changelog's Batch-2 verification note, incl. the criterion-mechanics FINDING (Batch-2 literal ZERO is Batch-4-dependent by construction).
Next gate: operator opens Batch 3 (memory hygiene; edits shown per-file, memory is outside the repo).
BATCH 3 COMPLETE (2026-07-19, same session): memory hygiene per GA-R7 rule 6 -- two files removed per the recorded provenance rulings (GA-F06/GA-F07), hostname fixed, index rebuilt, skill line added; first full G1 review ran (rules 1-4): one further violation found + corrected + registered (GA-F16, creds pointer reduction). Pre-edit copies: docs/archive/memory-20260718/. Zero violations remain (3 files). Next gate: operator opens Batch 4 (consolidation + rotation -- the big one).
BATCH 4 COMPLETE (2026-07-19, same session): ledger rotated (this file, 131 lines -- F1 cap live); 96 changelogs + 24 history docs consolidated to docs/archive/ (4 stage records, manifest commits C2-C5); top-level docs/ = 16 (< 25); live refs rewritten. Verification in the close commit.
Next gate: operator opens Batch 5 (skill sweep) then Batch 6 (exit runs).
BATCH 5 COMPLETE (2026-07-19, same session): skill swept against ratified GA-R1..R7 + vocabulary; checklist committed (docs/audit/skill-sweep-checklist-20260719.md); repo-lint 0-fail. Single commit.
Next gate: operator opens Batch 6 (exit runs) -- NOTE the flagged extractor-semantics decision (docs/archive/ exclusion) wants ruling at Batch 6 open.
BATCH 6 OPENED (2026-07-19): archive-exclusion RULED + implemented; exit runs 1/2/4/5 PASS (docs/audit/phase6-exit-runs-20260719.md); AWAITING operator items 3 (probe trio) + 6 (re-sign).