diff --git a/wizard-work/ledger/2026-10-28-recovery-registry/CHECK b/wizard-work/ledger/2026-10-28-recovery-registry/CHECK new file mode 100755 index 0000000..b4a3c2b --- /dev/null +++ b/wizard-work/ledger/2026-10-28-recovery-registry/CHECK @@ -0,0 +1,134 @@ +#!/usr/bin/env python3 +"""CHECK — recovery-registry extract (Extract lane, 2026-10-28). + +Independent verification: re-derives the registry straight from the source +(recoveries/ + WORK-QUEUE.md), without importing the extractor, and diffs it +against the committed recoveries-registry.tsv. Exits 0 only if every check +passes. (No fallback arms; a failing check produces a nonzero exit.) +""" +import hashlib +import json +import os +import sys + +HERE = os.path.dirname(os.path.abspath(__file__)) +REPO_ROOT = os.path.abspath(os.path.join(HERE, "..", "..", "..")) +RECOVERIES_DIR = os.path.join(REPO_ROOT, "recoveries") +QUEUE_FILE = os.path.join(REPO_ROOT, "WORK-QUEUE.md") +TSV_FILE = os.path.join(HERE, "recoveries-registry.tsv") +MD_FILE = os.path.join(HERE, "recoveries-registry.md") +MANIFEST_FILE = os.path.join(HERE, "manifest.json") + +fails = [] +checked = 0 + + +def check(name, cond, detail=""): + global checked + checked += 1 + if cond: + print("PASS", name) + else: + print("FAIL", name, detail) + fails.append(name) + + +def own_extract(): + """Independent re-implementation of the extraction rules.""" + rows = [] + for dirpath, _d, files in os.walk(RECOVERIES_DIR): + for name in sorted(files): + full = os.path.join(dirpath, name) + if not os.path.isfile(full): + continue + rel = os.path.relpath(full, RECOVERIES_DIR) + h = hashlib.sha256() + with open(full, "rb") as fh: + for chunk in iter(lambda: fh.read(1024 * 1024), b""): + h.update(chunk) + with open(QUEUE_FILE, "r", encoding="utf-8") as fh: + txt = fh.read() + rows.append({ + "rel_path": rel, + "size_bytes": os.path.getsize(full), + "sha256": h.hexdigest(), + "q_hits": txt.count(rel), + }) + rows.sort(key=lambda r: r["rel_path"]) + return rows + + +def read_tsv(): + with open(TSV_FILE, "r", encoding="utf-8") as fh: + lines = fh.read().splitlines() + header = lines[0].split("\t") + assert header == ["path", "size_bytes", "sha256", "mtime_utc", "q_hits"], header + out = [] + for ln in lines[1:]: + p, s, h, m, q = ln.split("\t") + out.append({"path": p, "size_bytes": int(s), "sha256": h, + "mtime_utc": m, "q_hits": int(q)}) + return out + + +def read_manifest(): + with open(MANIFEST_FILE, "r", encoding="utf-8") as fh: + return json.load(fh) + + +def read_md(): + with open(MD_FILE, "r", encoding="utf-8") as fh: + return fh.read() + + +def main(): + own = own_extract() + committed = read_tsv() + + # 1) Fresh extraction must equal the committed TSV, row for row. + ok = len(own) == len(committed) + if ok: + for a, b in zip(own, committed): + if (a["rel_path"], a["size_bytes"], a["sha256"], a["q_hits"]) != ( + b["path"], b["size_bytes"], b["sha256"], b["q_hits"]): + ok = False + break + check("fresh extraction matches committed TSV (row order + values)", + ok, "rows=%d committed=%d" % (len(own), len(committed))) + + # 2) Committed MD must contain a table with the same row count. + md = read_md() + check("committed MD exists and is non-empty", len(md) > 0) + check("committed MD header row present", + "| path | size_bytes | sha256 | mtime_utc | q_hits |" in md) + data_rows = [ln for ln in md.splitlines() if ln.startswith("| `")] + check("committed MD data-row count matches TSV", + len(data_rows) == len(committed), + "md_data_rows=%d tsv_rows=%d" % (len(data_rows), len(committed))) + + # 3) Manifest totals must agree with a direct directory walk. + man = read_manifest() + total = 0 + for dirpath, _d, files in os.walk(RECOVERIES_DIR): + for name in files: + total += os.path.getsize(os.path.join(dirpath, name)) + check("manifest.file_count == directory file count", + man.get("file_count") == len(committed) == len(own)) + check("manifest.total_bytes == direct byte sum", + man.get("total_bytes") == total, "manifest=%s direct=%d" % (man.get("total_bytes"), total)) + check("manifest.files_with_q_hits == recomputed", + man.get("files_with_q_hits") == sum(1 for r in own if r["q_hits"] > 0)) + check("manifest.top_referenced == recomputed top 8", + [r["rel_path"] for r in sorted(own, key=lambda x: -x["q_hits"])[:8]] == + [t["path"] for t in man.get("top_referenced", [])]) + + print("----") + if fails: + print("CHECKS FAILED:", len(fails), fails) + sys.exit(1) + print("ALL CHECKS PASSED (%d checks)" % checked) + sys.exit(0) + + +if __name__ == "__main__": + main() diff --git a/wizard-work/ledger/2026-10-28-recovery-registry/extract_recoveries_registry.py b/wizard-work/ledger/2026-10-28-recovery-registry/extract_recoveries_registry.py new file mode 100644 index 0000000..626278b --- /dev/null +++ b/wizard-work/ledger/2026-10-28-recovery-registry/extract_recoveries_registry.py @@ -0,0 +1,141 @@ +#!/usr/bin/env python3 +"""Extract the recovery-registry artifact (Extract lane, 2026-10-28). + +Source: + - /root/troupe-standup/recoveries/ (directory inventory) + - /root/troupe-standup/WORK-QUEUE.md (queue prose; each reference) + +Output (all relative to this script's directory): + - recoveries-registry.tsv : path, size_bytes, sha256, mtime_utc, q_hits + - recoveries-registry.md : human-readable markdown table + - manifest.json : self-reported statistics +""" +import hashlib +import json +import os +import sys +from datetime import datetime, timezone + +REPO_ROOT = "/root/troupe-standup" +RECOVERIES_DIR = os.path.join(REPO_ROOT, "recoveries") +QUEUE_FILE = os.path.join(REPO_ROOT, "WORK-QUEUE.md") + +TSV_NAME = "recoveries-registry.tsv" +MD_NAME = "recoveries-registry.md" +MANIFEST_NAME = "manifest.json" + + +def sha256_of(path): + h = hashlib.sha256() + with open(path, "rb") as fh: + for chunk in iter(lambda: fh.read(1024 * 1024), b""): + h.update(chunk) + return h.hexdigest() + + +def collect(): + """Return a list of row dicts, one per file under RECOVERIES_DIR.""" + rows = [] + for dirpath, _dirnames, filenames in os.walk(RECOVERIES_DIR): + for name in sorted(filenames): + full = os.path.join(dirpath, name) + if not os.path.isfile(full): + continue + rel = os.path.relpath(full, RECOVERIES_DIR) + rows.append({ + "rel_path": rel, + "size_bytes": os.path.getsize(full), + "sha256": sha256_of(full), + "mtime_utc": datetime.fromtimestamp( + os.path.getmtime(full), tz=timezone.utc + ).isoformat(), + }) + rows.sort(key=lambda r: r["rel_path"]) + return rows + + +def queue_hits(rows): + """Count occurrences of each recovery path in WORK-QUEUE.md prose.""" + with open(QUEUE_FILE, "r", encoding="utf-8") as fh: + text = fh.read() + for row in rows: + row["q_hits"] = text.count(row["rel_path"]) + return rows + + +def build(): + rows = queue_hits(collect()) + return rows + + +def write_tsv(rows, path): + lines = ["path\tsize_bytes\tsha256\tmtime_utc\tq_hits"] + for r in rows: + lines.append( + "\t".join([ + r["rel_path"], + str(r["size_bytes"]), + r["sha256"], + r["mtime_utc"], + str(r["q_hits"]), + ]) + ) + with open(path, "w", encoding="utf-8", newline="\n") as fh: + fh.write("\n".join(lines) + "\n") + + +def write_md(rows, path): + lines = [ + "# Recovery registry", + "", + "Extraction artifact, lane **Extract**. One row per file under `recoveries/`,", + "with byte size, SHA-256, UTC mtime, and the number of times its path appears", + "in `WORK-QUEUE.md` prose.", + "", + "| path | size_bytes | sha256 | mtime_utc | q_hits |", + "|---|---|---|---|---|", + ] + for r in rows: + lines.append( + "| `{}` | {} | `{}` | {} | {} |".format( + r["rel_path"], r["size_bytes"], r["sha256"], r["mtime_utc"], r["q_hits"] + ) + ) + lines += ["", "Total files: **{}** | Total bytes: **{}**".format( + len(rows), sum(r["size_bytes"] for r in rows)), ""] + with open(path, "w", encoding="utf-8", newline="\n") as fh: + fh.write("\n".join(lines)) + + +def write_manifest(rows, path): + manifest = { + "lane": "extract", + "artifact": "recoveries-registry", + "source": "WORK-QUEUE.md + recoveries/ tree", + "file_count": len(rows), + "total_bytes": sum(r["size_bytes"] for r in rows), + "files_with_q_hits": sum(1 for r in rows if r["q_hits"] > 0), + "max_q_hits": max((r["q_hits"] for r in rows), default=0), + "top_referenced": [ + {"path": r["rel_path"], "q_hits": r["q_hits"]} + for r in sorted(rows, key=lambda x: -x["q_hits"])[:8] + ], + } + with open(path, "w", encoding="utf-8", newline="\n") as fh: + json.dump(manifest, fh, indent=2) + fh.write("\n") + + +def main(): + rows = build() + here = os.path.dirname(os.path.abspath(__file__)) + write_tsv(rows, os.path.join(here, TSV_NAME)) + write_md(rows, os.path.join(here, MD_NAME)) + write_manifest(rows, os.path.join(here, MANIFEST_NAME)) + print("wrote", TSV_NAME, "with", len(rows), "rows") + print("wrote", MD_NAME) + print("wrote", MANIFEST_NAME) + + +if __name__ == "__main__": + main() diff --git a/wizard-work/ledger/2026-10-28-recovery-registry/manifest.json b/wizard-work/ledger/2026-10-28-recovery-registry/manifest.json new file mode 100644 index 0000000..eb983ff --- /dev/null +++ b/wizard-work/ledger/2026-10-28-recovery-registry/manifest.json @@ -0,0 +1,43 @@ +{ + "lane": "extract", + "artifact": "recoveries-registry", + "source": "WORK-QUEUE.md + recoveries/ tree", + "file_count": 64, + "total_bytes": 1384931, + "files_with_q_hits": 63, + "max_q_hits": 22, + "top_referenced": [ + { + "path": "summary-fidelity-full-clauses.md", + "q_hits": 22 + }, + { + "path": "helm-discovery-channel-seed.md", + "q_hits": 18 + }, + { + "path": "excerpt-binding-audit.md", + "q_hits": 11 + }, + { + "path": "helm-collector-run.md", + "q_hits": 10 + }, + { + "path": "summary-fidelity-nonmagazine.md", + "q_hits": 9 + }, + { + "path": "excerpt-placement-audit.md", + "q_hits": 8 + }, + { + "path": "summary-fidelity-pilot.md", + "q_hits": 7 + }, + { + "path": "evidence-tier-audit.md", + "q_hits": 6 + } + ] +} diff --git a/wizard-work/ledger/2026-10-28-recovery-registry/recoveries-registry.md b/wizard-work/ledger/2026-10-28-recovery-registry/recoveries-registry.md new file mode 100644 index 0000000..40f7b68 --- /dev/null +++ b/wizard-work/ledger/2026-10-28-recovery-registry/recoveries-registry.md @@ -0,0 +1,74 @@ +# Recovery registry + +Extraction artifact, lane **Extract**. One row per file under `recoveries/`, +with byte size, SHA-256, UTC mtime, and the number of times its path appears +in `WORK-QUEUE.md` prose. + +| path | size_bytes | sha256 | mtime_utc | q_hits | +|---|---|---|---|---| +| `apply-queue-status-2026-10-25.md` | 6271 | `12da1c5ef134a2f3976d8f76cc1a2b87851e8dcb1f5f732f8cfa56927166d1b5` | 2026-10-28T13:33:43.140822+00:00 | 0 | +| `dead-link.md` | 3134 | `9b49e424ec981ad014431b979fa8251ca9301ffc80da67327594a0bfe8d48ecd` | 2026-09-24T20:27:23.832450+00:00 | 1 | +| `evidence-tier-audit.md` | 19516 | `625bfb1e9afd9ba3541dc83c09fab39032c7e77095dea616dea60fa70c4ca1dd` | 2026-10-10T09:07:44.555549+00:00 | 6 | +| `excerpt-binding-audit.md` | 110696 | `47ff51b0eb7bfe22235ed980fe103572c8534c53669f7030d6c23e77a1b5e66e` | 2026-10-10T13:34:28.608890+00:00 | 11 | +| `excerpt-placement-audit-zephyrus-sample.md` | 13368 | `f8cda6cd2c707038bc342238652699aa14be7477bc48d9fd36de59e2033806d2` | 2026-10-12T13:16:09.003821+00:00 | 2 | +| `excerpt-placement-audit.md` | 14045 | `4b1052df4530342a36540ebbdd4550f32c30fef04a11ea576eb556084831cd45` | 2026-10-12T04:51:30.993999+00:00 | 8 | +| `excerpt-placement-nonmagazine-zephyrus-recompute.md` | 24613 | `8e6726cb7b2a60458d65b350373cd03d282585e777c59ad6112d513bb9b88604` | 2026-10-15T13:16:41.464012+00:00 | 4 | +| `excerpt-placement-nonmagazine.md` | 38817 | `815222254935f2f7cc449e3fd3e619f32c915d79571df64643c3746cca3edf29` | 2026-10-12T16:07:11.000508+00:00 | 4 | +| `excerpt-placement-rows.md` | 74561 | `880223f35f9b660e54df9fe21f3de372468fc610fb7d19cf7b820d82935c7123` | 2026-10-12T04:49:04.686720+00:00 | 4 | +| `falsification-pass.md` | 8065 | `e111e9e4cd6fbcacf3993c981e9fcddda13f94d65aab70e8fbcf3879ad63398a` | 2026-09-24T20:27:23.832450+00:00 | 2 | +| `helm-adoption-rehearsal.md` | 12914 | `b31466d2e77451f47e6ae10a5314fbc96ec2d151151aa3ba5912d3aa72648490` | 2026-10-15T13:51:24.080434+00:00 | 1 | +| `helm-adoption-sequence-readiness.md` | 12450 | `263610ab3e861bf656c85a54ed8b950d434e5cade108134997097420ab9324b0` | 2026-10-14T23:04:15.638536+00:00 | 2 | +| `helm-behavioural-guard.md` | 10232 | `69e72474c103c727c11408aca34a666309b740db66f0cd476bc13e1772d56db9` | 2026-10-12T07:05:00.757147+00:00 | 2 | +| `helm-cli-entry-point.md` | 5887 | `dca2fe53fa41a6d0d9eafe3133af13bb2185848f55f76fae8c23aeba921cc9ad` | 2026-10-11T11:15:21.670438+00:00 | 3 | +| `helm-collector-run.md` | 19380 | `a74c395ee5eb5e90a38cae0744c6989dea6b604d4466175ba920afcf0396c0a5` | 2026-10-11T15:39:31.141312+00:00 | 10 | +| `helm-deployed-gate-admission.md` | 5633 | `5bdd2e7503cced8eee5b31a0256500aaa8eda9f8e3adbb80d3702eeb5e8df61a` | 2026-10-12T11:37:49.562949+00:00 | 3 | +| `helm-deployed-page-generation.md` | 9953 | `bdd5fa1c03586c28bd5e33a35ab4615a16a3e49d20c04bf8d25f492c5965eef2` | 2026-10-14T13:24:57.090995+00:00 | 2 | +| `helm-deployed-pill-guard.md` | 11418 | `b7137bc469ee9cd8d07f85822cdd24bdbab44edbf496a2c85a32b73ff6d88d82` | 2026-10-15T01:21:21.925581+00:00 | 1 | +| `helm-destination-guard-fix.md` | 12253 | `56e25f160b8019d44d9b293d07ada642006bb51dacc726aece7481163294c42e` | 2026-10-12T09:30:03.418321+00:00 | 2 | +| `helm-discovery-channel-seed.md` | 22650 | `35bdeec27f617cf1d6c50c94b902b0f944d1e32e32c1a99f5a498ece9bdb9ce8` | 2026-10-14T08:39:19.253591+00:00 | 18 | +| `helm-g8-scrub.md` | 9517 | `50defb09faabdde43a7ff0b085646f0bd8d101e8a73d2f7bccbde81b5d6a50e7` | 2026-10-11T22:18:12.501765+00:00 | 4 | +| `helm-hash-line-qualifier.md` | 13678 | `d92f5b7ce9fab458fa8d8ef275d04d2a2d7a2a7d78d7e91ca2dc6feeaa9eb543` | 2026-10-15T08:38:57.573602+00:00 | 1 | +| `helm-home-channel-guard.md` | 34311 | `4ba00ce427b85079adedf34524c8334a92e949b205efcc682c8cdd47a99a1cd7` | 2026-10-13T20:49:23.319738+00:00 | 5 | +| `helm-leg-sandbox.md` | 13561 | `7c5111aa064e85247007a8ce1ca7a20e0d82d64db45eae0edcef62b9e78eec28` | 2026-10-12T18:31:27.568825+00:00 | 2 | +| `helm-null-gate.md` | 9924 | `84b1e714bfad1c0be948845f0f0a9f92a739ce5b64b68a197523bbb7c0808a58` | 2026-10-12T00:27:58.308032+00:00 | 2 | +| `helm-parse-guard.md` | 12284 | `19fa3ff6d25c85ce4ae5dfbde5af00b832651f76ca17ca42d3eadf17731f3eba` | 2026-10-13T01:36:45.457449+00:00 | 3 | +| `helm-pill-both-directions.md` | 13535 | `8536781b5566390db74d3e3497260dd14e2e2bd958c97795b38a71d12bbb47d1` | 2026-10-15T06:11:09.116136+00:00 | 1 | +| `helm-pill-ground-truth.md` | 14419 | `d6600fd195e4b11c937b6512366242c92269243293c84a28e56c0d51d54b38bb` | 2026-10-15T03:53:29.970866+00:00 | 1 | +| `helm-pin-hash-convention.md` | 15109 | `b84391af977218c832d7bba1c6f457d0a4e2a8e463fa609b62b676bfcf5392dc` | 2026-10-15T18:49:37.803962+00:00 | 4 | +| `helm-pin-pill-staleness.md` | 20989 | `d4f686ebaeed51cfcb3d20be1e989e8e9918c438e7e2e6635774393ad3c48a1d` | 2026-10-14T18:33:05.780643+00:00 | 5 | +| `helm-pointer-split.md` | 13828 | `9a85184a18d5264ba26faaa15dda46dfe7c317dfe2915df1f2e53b6efcf22e35` | 2026-10-11T22:18:49.313832+00:00 | 1 | +| `helm-precondition-gate.md` | 8261 | `a5d3ad6af205f3c1c8caf4f4baa2ee01548b5a89697ff5478e3fc52a9a61656b` | 2026-10-12T02:36:31.775141+00:00 | 4 | +| `helm-probe-spawn-env.md` | 15287 | `4b557db28dbaad1b5758cd3c136fded70f415cec725f282d877937014bcb4ff5` | 2026-10-13T11:25:35.388798+00:00 | 3 | +| `helm-pwdir-channel-refusal.md` | 20820 | `8d67248fd9acb73cb5cb0c39a5fb774232c02730f97e998a5f3292d54efbbcc1` | 2026-10-14T03:37:21.165505+00:00 | 4 | +| `helm-read-path-guard.md` | 12821 | `5bf9ba115071a97f07a4d6e09bd4d4add78646680724ff63e32f2d101cdc1516` | 2026-10-13T03:52:02.873410+00:00 | 4 | +| `helm-render-aging.md` | 9349 | `fb6bc7c9a6933c0f4e6f0b54e130b0a50281fe47b4c08d72cd77296d47641781` | 2026-10-11T09:07:49.370878+00:00 | 2 | +| `helm-resolved-redirect.md` | 22619 | `0e3d8fd9a5851b05769258dc05ab1343e35efc0bd56665555ea17e3f0544d7f8` | 2026-10-12T23:20:16.004555+00:00 | 3 | +| `helm-resolved-root-live-path.md` | 15759 | `729471cd79a0d769cbe3f05503ac1ea1d7e8641da052f4c17aafe7217c3f4919` | 2026-10-13T09:07:08.630294+00:00 | 3 | +| `helm-root-redirect.md` | 12811 | `e68be4cdd5a535e22eae87f5ffbf9cb6841ea3d8a044ae34c13e74f86460568b` | 2026-10-12T20:50:26.224823+00:00 | 3 | +| `helm-runtime-redirect.md` | 14030 | `8da99a7994c7b8fb78d3c452dfb9d2971cf51acaf6a328b0e591e9ba19701f5f` | 2026-10-13T06:42:16.451130+00:00 | 5 | +| `helm-runwide-census-hoist.md` | 12041 | `0ab0cc10829e14823b76267b6438392fcaca78884d0b404d2f764069f88904a8` | 2026-10-13T13:39:09.328751+00:00 | 2 | +| `ledger-audit-pass1.md` | 7638 | `81f3489fbe75bb7917837452b1849456c6b8fdbf9b02ee4b7c7c501435aa2534` | 2026-09-24T20:27:23.832450+00:00 | 1 | +| `ledger-audit-pass2.md` | 15795 | `0f39926d463768e770dc8a8929e7f0a3cbf229a1a0dfee9b2cac5e61c1fe8a38` | 2026-09-24T20:27:23.833450+00:00 | 6 | +| `ledger-date-closure.md` | 16510 | `a3d022d3bb30ebc44ca2330684f4ec9ec43df7be57f991f6c61a27a4763b0857` | 2026-10-09T09:09:13.923936+00:00 | 4 | +| `ledger-link-inventory.md` | 25510 | `eab36efcf379d177b7d8cb04813e15f9e40e0291408a6e4d1b30bdb7ebfd9603` | 2026-09-24T20:27:23.833450+00:00 | 1 | +| `magazine-article-map.md` | 15440 | `9ef3bf9baa27ce86e5b0d382ec08b2ddd76d6a7b9e34f4fc0abd7711ad4fee05` | 2026-09-24T20:27:23.833450+00:00 | 2 | +| `monitor-identity-census.md` | 5144 | `0c04b700c1eda1d4be97164e711d008850956038209d5d54c9f73220136f223d` | 2026-10-12T09:49:37.878256+00:00 | 3 | +| `music-master-verification.md` | 6807 | `62fcd10b0676d710ae014749627055fbfe90b8a5b87c94fe2410da905ace28ed` | 2026-09-24T20:32:33.132975+00:00 | 1 | +| `named-source-liveness-unlinked.md` | 10493 | `8a28efe9d84f222593473ea38b69a57cbacf624c4311bfdb06d69aaa6dca58d2` | 2026-10-10T17:50:50.217292+00:00 | 5 | +| `named-source-liveness.md` | 16731 | `f12b8a42595a6fd9ba2ebeafc15d4f9cee8631cb2a5725e2cb37ac0a3e04d69a` | 2026-10-10T15:44:49.783216+00:00 | 5 | +| `prose-anchor-convention.md` | 16728 | `f029000f01d13452b86d4bfc11eec436fe6a788b78c8c12570e6b5b442b71c80` | 2026-10-10T22:16:34.154470+00:00 | 4 | +| `prose-anchor-hardening.md` | 15250 | `607b29403e61db44f15657386531ef11d009f964b90b1a4a5a25542612325108` | 2026-10-11T00:24:04.307601+00:00 | 5 | +| `queue-hygiene-census.md` | 10123 | `eb0e1b4f5fa8733fb12eba758d9543a60eb85b8f12f5f7fc79b9908300d2405d` | 2026-10-15T11:00:49.102231+00:00 | 1 | +| `quote-fidelity-live.md` | 4074 | `90774cd4b84b7b084554f3c92ae0f67a8edb0663773bd4174260ed8f263ff34b` | 2026-09-24T20:27:23.833450+00:00 | 5 | +| `render-site-channels.md` | 16456 | `ea4b5e988a065dfd0bbc06f735cf7aead88e30030dfd9af4bcfdf5c05ec4c1bc` | 2026-10-11T04:39:45.117135+00:00 | 5 | +| `render-site-coverage.md` | 20865 | `34716145492bd265cceb9cded8363f0a59a057862e1c90f74625e93b39d51ac1` | 2026-10-11T02:31:45.406739+00:00 | 5 | +| `render-site-guards.md` | 16728 | `906753079a020c1475a38df1c4ccbb233ba8b2da5d523492635a1ec7de4722eb` | 2026-10-11T06:50:32.194852+00:00 | 4 | +| `silent-rooms-enrichment.md` | 6417 | `8e4d1d6c5a784bda866f5b539c212a8cbff17c2bb3543d596c904f39bd4a45c1` | 2026-09-24T20:27:23.834450+00:00 | 1 | +| `silent-rooms.md` | 5289 | `0ee9a7eab44b02a45108ede17af315d6784743b896cac4a6943550689849e951` | 2026-09-24T20:27:23.834450+00:00 | 2 | +| `summary-fidelity-full-clauses.md` | 311090 | `e3267b6a01a08385caa7f059685e92bafd024ae7ef4e7cdd008c81e44d2bd022` | 2026-10-07T13:16:05.109015+00:00 | 22 | +| `summary-fidelity-nonmagazine-pilot.md` | 7308 | `b595708a40940e6f234a499dd9ed9fe37bd733d0a6b061000bfbed36ffc797a6` | 2026-10-08T13:12:48.603151+00:00 | 3 | +| `summary-fidelity-nonmagazine.md` | 65970 | `8331124d36b833d2ee5ab5597bb8ee1699d119d6bb28bbd0549ea33da494c0a2` | 2026-10-10T13:27:29.854277+00:00 | 9 | +| `summary-fidelity-pilot.md` | 5313 | `2d7d61344590a41bf8d996b80d76eb60a410156cca215199a46602f03dbf4323` | 2026-09-26T13:39:22.687296+00:00 | 7 | +| `truncated-identifier-census.md` | 12443 | `f04520dfee745fab93059f073b94853da1c5515b6768901bf6439d5ad59f2fcf` | 2026-10-26T13:34:26.439261+00:00 | 5 | + +Total files: **64** | Total bytes: **1384931** diff --git a/wizard-work/ledger/2026-10-28-recovery-registry/recoveries-registry.tsv b/wizard-work/ledger/2026-10-28-recovery-registry/recoveries-registry.tsv new file mode 100644 index 0000000..47a76d2 --- /dev/null +++ b/wizard-work/ledger/2026-10-28-recovery-registry/recoveries-registry.tsv @@ -0,0 +1,65 @@ +path size_bytes sha256 mtime_utc q_hits +apply-queue-status-2026-10-25.md 6271 12da1c5ef134a2f3976d8f76cc1a2b87851e8dcb1f5f732f8cfa56927166d1b5 2026-10-28T13:33:43.140822+00:00 0 +dead-link.md 3134 9b49e424ec981ad014431b979fa8251ca9301ffc80da67327594a0bfe8d48ecd 2026-09-24T20:27:23.832450+00:00 1 +evidence-tier-audit.md 19516 625bfb1e9afd9ba3541dc83c09fab39032c7e77095dea616dea60fa70c4ca1dd 2026-10-10T09:07:44.555549+00:00 6 +excerpt-binding-audit.md 110696 47ff51b0eb7bfe22235ed980fe103572c8534c53669f7030d6c23e77a1b5e66e 2026-10-10T13:34:28.608890+00:00 11 +excerpt-placement-audit-zephyrus-sample.md 13368 f8cda6cd2c707038bc342238652699aa14be7477bc48d9fd36de59e2033806d2 2026-10-12T13:16:09.003821+00:00 2 +excerpt-placement-audit.md 14045 4b1052df4530342a36540ebbdd4550f32c30fef04a11ea576eb556084831cd45 2026-10-12T04:51:30.993999+00:00 8 +excerpt-placement-nonmagazine-zephyrus-recompute.md 24613 8e6726cb7b2a60458d65b350373cd03d282585e777c59ad6112d513bb9b88604 2026-10-15T13:16:41.464012+00:00 4 +excerpt-placement-nonmagazine.md 38817 815222254935f2f7cc449e3fd3e619f32c915d79571df64643c3746cca3edf29 2026-10-12T16:07:11.000508+00:00 4 +excerpt-placement-rows.md 74561 880223f35f9b660e54df9fe21f3de372468fc610fb7d19cf7b820d82935c7123 2026-10-12T04:49:04.686720+00:00 4 +falsification-pass.md 8065 e111e9e4cd6fbcacf3993c981e9fcddda13f94d65aab70e8fbcf3879ad63398a 2026-09-24T20:27:23.832450+00:00 2 +helm-adoption-rehearsal.md 12914 b31466d2e77451f47e6ae10a5314fbc96ec2d151151aa3ba5912d3aa72648490 2026-10-15T13:51:24.080434+00:00 1 +helm-adoption-sequence-readiness.md 12450 263610ab3e861bf656c85a54ed8b950d434e5cade108134997097420ab9324b0 2026-10-14T23:04:15.638536+00:00 2 +helm-behavioural-guard.md 10232 69e72474c103c727c11408aca34a666309b740db66f0cd476bc13e1772d56db9 2026-10-12T07:05:00.757147+00:00 2 +helm-cli-entry-point.md 5887 dca2fe53fa41a6d0d9eafe3133af13bb2185848f55f76fae8c23aeba921cc9ad 2026-10-11T11:15:21.670438+00:00 3 +helm-collector-run.md 19380 a74c395ee5eb5e90a38cae0744c6989dea6b604d4466175ba920afcf0396c0a5 2026-10-11T15:39:31.141312+00:00 10 +helm-deployed-gate-admission.md 5633 5bdd2e7503cced8eee5b31a0256500aaa8eda9f8e3adbb80d3702eeb5e8df61a 2026-10-12T11:37:49.562949+00:00 3 +helm-deployed-page-generation.md 9953 bdd5fa1c03586c28bd5e33a35ab4615a16a3e49d20c04bf8d25f492c5965eef2 2026-10-14T13:24:57.090995+00:00 2 +helm-deployed-pill-guard.md 11418 b7137bc469ee9cd8d07f85822cdd24bdbab44edbf496a2c85a32b73ff6d88d82 2026-10-15T01:21:21.925581+00:00 1 +helm-destination-guard-fix.md 12253 56e25f160b8019d44d9b293d07ada642006bb51dacc726aece7481163294c42e 2026-10-12T09:30:03.418321+00:00 2 +helm-discovery-channel-seed.md 22650 35bdeec27f617cf1d6c50c94b902b0f944d1e32e32c1a99f5a498ece9bdb9ce8 2026-10-14T08:39:19.253591+00:00 18 +helm-g8-scrub.md 9517 50defb09faabdde43a7ff0b085646f0bd8d101e8a73d2f7bccbde81b5d6a50e7 2026-10-11T22:18:12.501765+00:00 4 +helm-hash-line-qualifier.md 13678 d92f5b7ce9fab458fa8d8ef275d04d2a2d7a2a7d78d7e91ca2dc6feeaa9eb543 2026-10-15T08:38:57.573602+00:00 1 +helm-home-channel-guard.md 34311 4ba00ce427b85079adedf34524c8334a92e949b205efcc682c8cdd47a99a1cd7 2026-10-13T20:49:23.319738+00:00 5 +helm-leg-sandbox.md 13561 7c5111aa064e85247007a8ce1ca7a20e0d82d64db45eae0edcef62b9e78eec28 2026-10-12T18:31:27.568825+00:00 2 +helm-null-gate.md 9924 84b1e714bfad1c0be948845f0f0a9f92a739ce5b64b68a197523bbb7c0808a58 2026-10-12T00:27:58.308032+00:00 2 +helm-parse-guard.md 12284 19fa3ff6d25c85ce4ae5dfbde5af00b832651f76ca17ca42d3eadf17731f3eba 2026-10-13T01:36:45.457449+00:00 3 +helm-pill-both-directions.md 13535 8536781b5566390db74d3e3497260dd14e2e2bd958c97795b38a71d12bbb47d1 2026-10-15T06:11:09.116136+00:00 1 +helm-pill-ground-truth.md 14419 d6600fd195e4b11c937b6512366242c92269243293c84a28e56c0d51d54b38bb 2026-10-15T03:53:29.970866+00:00 1 +helm-pin-hash-convention.md 15109 b84391af977218c832d7bba1c6f457d0a4e2a8e463fa609b62b676bfcf5392dc 2026-10-15T18:49:37.803962+00:00 4 +helm-pin-pill-staleness.md 20989 d4f686ebaeed51cfcb3d20be1e989e8e9918c438e7e2e6635774393ad3c48a1d 2026-10-14T18:33:05.780643+00:00 5 +helm-pointer-split.md 13828 9a85184a18d5264ba26faaa15dda46dfe7c317dfe2915df1f2e53b6efcf22e35 2026-10-11T22:18:49.313832+00:00 1 +helm-precondition-gate.md 8261 a5d3ad6af205f3c1c8caf4f4baa2ee01548b5a89697ff5478e3fc52a9a61656b 2026-10-12T02:36:31.775141+00:00 4 +helm-probe-spawn-env.md 15287 4b557db28dbaad1b5758cd3c136fded70f415cec725f282d877937014bcb4ff5 2026-10-13T11:25:35.388798+00:00 3 +helm-pwdir-channel-refusal.md 20820 8d67248fd9acb73cb5cb0c39a5fb774232c02730f97e998a5f3292d54efbbcc1 2026-10-14T03:37:21.165505+00:00 4 +helm-read-path-guard.md 12821 5bf9ba115071a97f07a4d6e09bd4d4add78646680724ff63e32f2d101cdc1516 2026-10-13T03:52:02.873410+00:00 4 +helm-render-aging.md 9349 fb6bc7c9a6933c0f4e6f0b54e130b0a50281fe47b4c08d72cd77296d47641781 2026-10-11T09:07:49.370878+00:00 2 +helm-resolved-redirect.md 22619 0e3d8fd9a5851b05769258dc05ab1343e35efc0bd56665555ea17e3f0544d7f8 2026-10-12T23:20:16.004555+00:00 3 +helm-resolved-root-live-path.md 15759 729471cd79a0d769cbe3f05503ac1ea1d7e8641da052f4c17aafe7217c3f4919 2026-10-13T09:07:08.630294+00:00 3 +helm-root-redirect.md 12811 e68be4cdd5a535e22eae87f5ffbf9cb6841ea3d8a044ae34c13e74f86460568b 2026-10-12T20:50:26.224823+00:00 3 +helm-runtime-redirect.md 14030 8da99a7994c7b8fb78d3c452dfb9d2971cf51acaf6a328b0e591e9ba19701f5f 2026-10-13T06:42:16.451130+00:00 5 +helm-runwide-census-hoist.md 12041 0ab0cc10829e14823b76267b6438392fcaca78884d0b404d2f764069f88904a8 2026-10-13T13:39:09.328751+00:00 2 +ledger-audit-pass1.md 7638 81f3489fbe75bb7917837452b1849456c6b8fdbf9b02ee4b7c7c501435aa2534 2026-09-24T20:27:23.832450+00:00 1 +ledger-audit-pass2.md 15795 0f39926d463768e770dc8a8929e7f0a3cbf229a1a0dfee9b2cac5e61c1fe8a38 2026-09-24T20:27:23.833450+00:00 6 +ledger-date-closure.md 16510 a3d022d3bb30ebc44ca2330684f4ec9ec43df7be57f991f6c61a27a4763b0857 2026-10-09T09:09:13.923936+00:00 4 +ledger-link-inventory.md 25510 eab36efcf379d177b7d8cb04813e15f9e40e0291408a6e4d1b30bdb7ebfd9603 2026-09-24T20:27:23.833450+00:00 1 +magazine-article-map.md 15440 9ef3bf9baa27ce86e5b0d382ec08b2ddd76d6a7b9e34f4fc0abd7711ad4fee05 2026-09-24T20:27:23.833450+00:00 2 +monitor-identity-census.md 5144 0c04b700c1eda1d4be97164e711d008850956038209d5d54c9f73220136f223d 2026-10-12T09:49:37.878256+00:00 3 +music-master-verification.md 6807 62fcd10b0676d710ae014749627055fbfe90b8a5b87c94fe2410da905ace28ed 2026-09-24T20:32:33.132975+00:00 1 +named-source-liveness-unlinked.md 10493 8a28efe9d84f222593473ea38b69a57cbacf624c4311bfdb06d69aaa6dca58d2 2026-10-10T17:50:50.217292+00:00 5 +named-source-liveness.md 16731 f12b8a42595a6fd9ba2ebeafc15d4f9cee8631cb2a5725e2cb37ac0a3e04d69a 2026-10-10T15:44:49.783216+00:00 5 +prose-anchor-convention.md 16728 f029000f01d13452b86d4bfc11eec436fe6a788b78c8c12570e6b5b442b71c80 2026-10-10T22:16:34.154470+00:00 4 +prose-anchor-hardening.md 15250 607b29403e61db44f15657386531ef11d009f964b90b1a4a5a25542612325108 2026-10-11T00:24:04.307601+00:00 5 +queue-hygiene-census.md 10123 eb0e1b4f5fa8733fb12eba758d9543a60eb85b8f12f5f7fc79b9908300d2405d 2026-10-15T11:00:49.102231+00:00 1 +quote-fidelity-live.md 4074 90774cd4b84b7b084554f3c92ae0f67a8edb0663773bd4174260ed8f263ff34b 2026-09-24T20:27:23.833450+00:00 5 +render-site-channels.md 16456 ea4b5e988a065dfd0bbc06f735cf7aead88e30030dfd9af4bcfdf5c05ec4c1bc 2026-10-11T04:39:45.117135+00:00 5 +render-site-coverage.md 20865 34716145492bd265cceb9cded8363f0a59a057862e1c90f74625e93b39d51ac1 2026-10-11T02:31:45.406739+00:00 5 +render-site-guards.md 16728 906753079a020c1475a38df1c4ccbb233ba8b2da5d523492635a1ec7de4722eb 2026-10-11T06:50:32.194852+00:00 4 +silent-rooms-enrichment.md 6417 8e4d1d6c5a784bda866f5b539c212a8cbff17c2bb3543d596c904f39bd4a45c1 2026-09-24T20:27:23.834450+00:00 1 +silent-rooms.md 5289 0ee9a7eab44b02a45108ede17af315d6784743b896cac4a6943550689849e951 2026-09-24T20:27:23.834450+00:00 2 +summary-fidelity-full-clauses.md 311090 e3267b6a01a08385caa7f059685e92bafd024ae7ef4e7cdd008c81e44d2bd022 2026-10-07T13:16:05.109015+00:00 22 +summary-fidelity-nonmagazine-pilot.md 7308 b595708a40940e6f234a499dd9ed9fe37bd733d0a6b061000bfbed36ffc797a6 2026-10-08T13:12:48.603151+00:00 3 +summary-fidelity-nonmagazine.md 65970 8331124d36b833d2ee5ab5597bb8ee1699d119d6bb28bbd0549ea33da494c0a2 2026-10-10T13:27:29.854277+00:00 9 +summary-fidelity-pilot.md 5313 2d7d61344590a41bf8d996b80d76eb60a410156cca215199a46602f03dbf4323 2026-09-26T13:39:22.687296+00:00 7 +truncated-identifier-census.md 12443 f04520dfee745fab93059f073b94853da1c5515b6768901bf6439d5ad59f2fcf 2026-10-26T13:34:26.439261+00:00 5