diff --git a/wizard-work/sol/daily-local-pipe-triage-2026-10-26.json b/wizard-work/sol/daily-local-pipe-triage-2026-10-26.json new file mode 100644 index 0000000..a89bf71 --- /dev/null +++ b/wizard-work/sol/daily-local-pipe-triage-2026-10-26.json @@ -0,0 +1,199 @@ +{ + "generated_utc": "2026-10-26T03:51:30Z", + "repo": "/root/troupe-standup", + "modified": [ + "M\tWORK-QUEUE.md", + "M\tdocs/queue-index.md", + "M\twizard-work/sphinx/arxiv-fulltext-2026-10-25/CHECK.sh" + ], + "untracked_paths": [ + ".triage_build.py", + ".triage_dump.py", + ".triage_dump_pending.py", + ".triage_probe.py", + "recoveries/apply-queue-status-2026-10-25.md", + "replies/2026-10-26-to-zephyrus-107.md", + "repo_exts.tsv", + "repo_files.tsv", + "repo_tree.tsv", + "wizard-outputs/forge/PATH_CLAIM_DRY_REFACTOR_VERIFICATION.md", + "wizard-outputs/forge/ops-pulse-refactor/_debug_r33.py", + "wizard-outputs/forge/ops-pulse-refactor/_debug_r33_redraw.py", + "wizard-outputs/ledger/README-github-python-repos.md", + "wizard-outputs/ledger/extract_github_python_repos.py", + "wizard-outputs/ledger/github-python-repos-2026-10-23.csv", + "wizard-outputs/ledger/github-python-repos-2026-10-23.json", + "wizard-outputs/ledger/github-python-repos-2026-10-23.md", + "wizard-outputs/ledger/verify_github_python_repos.py", + "wizard-work/forge/_mutant_scan.py", + "wizard-work/forge/_mutant_scan_triage_dump_pending.py", + "wizard-work/forge/_repro_bounds_original.py", + "wizard-work/forge/verify_ops_pulse_refactor.py", + "wizard-work/null/.hermes-tmp.RqZp3z", + "wizard-work/null/README-gatehygiene.md", + "wizard-work/null/README-q62-scan.md", + "wizard-work/null/_probe10.py", + "wizard-work/null/_probe11.py", + "wizard-work/null/_probe12.py", + "wizard-work/null/_probe13.py", + "wizard-work/null/_probe14.py", + "wizard-work/null/_probe5.py", + "wizard-work/null/_probe6.py", + "wizard-work/null/_probe7.py", + "wizard-work/null/_probe8.py", + "wizard-work/null/_probe9.py", + "wizard-work/null/_probe_binding_defects.py", + "wizard-work/null/_probe_gh1.py", + "wizard-work/null/_probe_gh2.py", + "wizard-work/null/_probe_gh3.py", + "wizard-work/null/_probe_gh4.py", + "wizard-work/null/_probe_gh5.py", + "wizard-work/null/_probe_gh6.py", + "wizard-work/null/_probe_gh7.py", + "wizard-work/null/_probe_gh8.py", + "wizard-work/null/_probe_gh9.py", + "wizard-work/null/_probe_mut2.py", + "wizard-work/null/_probe_mut_check.py", + "wizard-work/null/_probe_q70_5h.py", + "wizard-work/null/_probe_repro1.py", + "wizard-work/null/_probe_repro2.py", + "wizard-work/null/_probe_repro3.py", + "wizard-work/null/_probe_repro4.py", + "wizard-work/null/_probe_repro5.py", + "wizard-work/null/_probe_repro6.py", + "wizard-work/null/_probe_repro7.py", + "wizard-work/null/btreekit/README-btreekit.md", + "wizard-work/null/btreekit/btreekit.py", + "wizard-work/null/btreekit/check_btreekit.py", + "wizard-work/null/btreekit/mutate_btreekit.py", + "wizard-work/null/btreekit/test_btreekit.py", + "wizard-work/null/check_gatehygiene.py", + "wizard-work/null/check_provenance.py", + "wizard-work/null/check_provenance_baseline.tsv", + "wizard-work/null/check_provenance_ledger.py", + "wizard-work/null/check_q62_scan.py", + "wizard-work/null/cli_contract.py", + "wizard-work/null/diffkit/__init__.py", + "wizard-work/null/diffkit/_flatpkg.py", + "wizard-work/null/diffkit/core.py", + "wizard-work/null/diffkit/diffkit_cli.py", + "wizard-work/null/diffkit/myers.py", + "wizard-work/null/diffkit_gate.py", + "wizard-work/null/gatehygiene.py", + "wizard-work/null/gitignore_kit/gitignore.py", + "wizard-work/null/gitignore_kit/test_gitignore.py", + "wizard-work/null/json_salvage.py", + "wizard-work/null/membershipkit/.hermes-tmp.sx2gIa", + "wizard-work/null/membershipkit/check_membershipkit.sh", + "wizard-work/null/membershipkit/mutate_membershipkit.py", + "wizard-work/null/membershipkit/test_membershipkit.py", + "wizard-work/null/mutate_resolver.py", + "wizard-work/null/mutate_salvage.py", + "wizard-work/null/pathbind/CHECK", + "wizard-work/null/pathbind/census-pinned.json", + "wizard-work/null/pathbind/demo_fix.py", + "wizard-work/null/pathbind/pathbind.py", + "wizard-work/null/pathbind/probe_lanes.py", + "wizard-work/null/pathbind/test_pathbind.py", + "wizard-work/null/q58_warncontrol.py", + "wizard-work/null/q62_scan.py", + "wizard-work/null/q70_sabotage.py", + "wizard-work/null/q76_binding.py", + "wizard-work/null/q80_warn.py", + "wizard-work/null/revwalk.py", + "wizard-work/null/test_gate.py", + "wizard-work/null/test_gate_mutants.py", + "wizard-work/null/test_json_salvage.py", + "wizard-work/null/test_myers_diff.py", + "wizard-work/null/test_revwalk.py", + "wizard-work/null/verify_check_provenance.py", + "wizard-work/null/verify_staged.py", + "wizard-work/sphinx/archive-llama3-herd-2026-10-24/CORRECTIONS-llama3-figures-2026-10-24.md", + "wizard-work/sphinx/archive-llama3-herd-2026-10-24/audit_old_digest_quotes.py", + "wizard-work/sphinx/archive-llama3-herd-2026-10-24/audit_quote_fidelity.py", + "wizard-work/sphinx/archive-llama3-herd-2026-10-24/build_figure_locator.py", + "wizard-work/sphinx/archive-llama3-herd-2026-10-24/build_llama3_digest.py", + "wizard-work/sphinx/archive-llama3-herd-2026-10-24/captions_probe.py", + "wizard-work/sphinx/archive-llama3-herd-2026-10-24/charcount.py", + "wizard-work/sphinx/archive-llama3-herd-2026-10-24/check_provenance.sh", + "wizard-work/sphinx/archive-llama3-herd-2026-10-24/diag_captions.py", + "wizard-work/sphinx/archive-llama3-herd-2026-10-24/diag_chars.py", + "wizard-work/sphinx/archive-llama3-herd-2026-10-24/diag_fix.py", + "wizard-work/sphinx/archive-llama3-herd-2026-10-24/diag_nested.py", + "wizard-work/sphinx/archive-llama3-herd-2026-10-24/diag_provenance.py", + "wizard-work/sphinx/archive-llama3-herd-2026-10-24/diag_quotes.py", + "wizard-work/sphinx/archive-llama3-herd-2026-10-24/extract_figure_locators.py", + "wizard-work/sphinx/archive-llama3-herd-2026-10-24/figure-locator.json", + "wizard-work/sphinx/archive-llama3-herd-2026-10-24/figures.json", + "wizard-work/sphinx/archive-llama3-herd-2026-10-24/inspect_figures.py", + "wizard-work/sphinx/archive-llama3-herd-2026-10-24/inspect_table2_header.py", + "wizard-work/sphinx/archive-llama3-herd-2026-10-24/llama3-herd-digest-v2.md", + "wizard-work/sphinx/archive-llama3-herd-2026-10-24/negctrl.sh", + "wizard-work/sphinx/archive-llama3-herd-2026-10-24/quote-fidelity-audit.json", + "wizard-work/sphinx/archive-llama3-herd-2026-10-24/report_figures.py", + "wizard-work/sphinx/archive-llama3-herd-2026-10-24/show_context.py", + "wizard-work/sphinx/archive-llama3-herd-2026-10-24/show_html.py", + "wizard-work/sphinx/archive-llama3-herd-2026-10-24/source/llama3.html", + "wizard-work/sphinx/archive-llama3-herd-2026-10-24/source/llama3.pdf", + "wizard-work/sphinx/archive-llama3-herd-2026-10-24/source/llama3.txt", + "wizard-work/sphinx/archive-llama3-herd-2026-10-24/verify_llama3_archive.py", + "wizard-work/sphinx/archive-mmlongcite-2026-10-25/probe_paper_facts.json", + "wizard-work/sphinx/lcmm-claim-index-2026-10-24/CHECK.txt", + "wizard-work/sphinx/lcmm-claim-index-2026-10-24/DOSSIER.md", + "wizard-work/sphinx/lcmm-claim-index-2026-10-24/abstracts.json", + "wizard-work/sphinx/lcmm-claim-index-2026-10-24/claim_index.json", + "wizard-work/sphinx/lcmm-claim-index-2026-10-24/raw/arxiv_feed.xml", + "wizard-work/sphinx/lcmm-claim-index-2026-10-24/summary.json", + "wizard-work/sphinx/lcmm-claim-index-2026-10-24/tools/build_report.py", + "wizard-work/sphinx/lcmm-claim-index-2026-10-24/tools/diag_unmatched.py", + "wizard-work/sphinx/lcmm-claim-index-2026-10-24/tools/harvest_claims.py", + "wizard-work/sphinx/lcmm-claim-index-2026-10-24/tools/print_claims.py", + "wizard-work/sphinx/lcmm-claim-index-2026-10-24/tools/recall_probe.py", + "wizard-work/sphinx/lcmm-claim-index-2026-10-24/tools/show_quotes.py", + "wizard-work/sphinx/lcmm-claim-index-2026-10-24/tools/tamper_probe.py", + "wizard-work/sphinx/lcmm-claim-index-2026-10-24/verify_claim_index.py", + "wizard-work/sphinx/lcmm-claim-index-2026-10-24/vocabulary_index.json", + "wizard-work/volt/q60_truncated_census.py" + ], + "untracked": 147, + "total_pending": 147, + "deliverable": [ + "daily-local-pipe-triage-2026-10-26.md", + "daily-local-pipe-triage-2026-10-26.json", + "daily-local-pipe-triage-2026-10-26.verify.py" + ], + "buckets": { + "CHECK": 2, + "DOC": 4, + "FORGE": 7, + "LEDGER": 5, + "LORE": 1, + "MISC": 4, + "NULL": 42, + "PROBE": 32, + "RECOVERY": 1, + "SPHINX": 43, + "STRAY": 6 + }, + "stray": [ + ".triage_build.py", + ".triage_dump.py", + ".triage_dump_pending.py", + ".triage_probe.py", + "wizard-work/null/.hermes-tmp.RqZp3z", + "wizard-work/null/membershipkit/.hermes-tmp.sx2gIa" + ], + "newest": { + "CHECK": "wizard-work/sphinx/lcmm-claim-index-2026-10-24/CHECK.txt", + "DOC": "wizard-work/null/btreekit/README-btreekit.md", + "FORGE": "wizard-work/forge/verify_ops_pulse_refactor.py", + "LEDGER": "wizard-outputs/ledger/verify_github_python_repos.py", + "LORE": "wizard-work/volt/q60_truncated_census.py", + "MISC": "repo_tree.tsv", + "NULL": "wizard-work/null/verify_staged.py", + "PROBE": "wizard-work/sphinx/archive-mmlongcite-2026-10-25/probe_paper_facts.json", + "RECOVERY": "recoveries/apply-queue-status-2026-10-25.md", + "SPHINX": "wizard-work/sphinx/lcmm-claim-index-2026-10-24/vocabulary_index.json", + "STRAY": "wizard-work/null/membershipkit/.hermes-tmp.sx2gIa" + } +} diff --git a/wizard-work/sol/daily-local-pipe-triage-2026-10-26.md b/wizard-work/sol/daily-local-pipe-triage-2026-10-26.md new file mode 100644 index 0000000..76db8ba --- /dev/null +++ b/wizard-work/sol/daily-local-pipe-triage-2026-10-26.md @@ -0,0 +1,43 @@ +# Local pipe triage — 2026-10-26 + +Evidence: `git ls-files --others --exclude-standard` and `git diff --name-status` re-derived at generation time by daily-local-pipe-triage-2026-10-26.verify.py; counts snapshotted as of 2026-10-26T03:51:30Z UTC. + +## Scope + +- **modified**: 3 +- **untracked**: 147 +- **total pending**: 147 +- **deliverable outputs** (this report, excluded from pending): 3 file(s) + +## Bucket counts + +| bucket | count | newest | +|---|---|---| +| CHECK | 2 | wizard-work/sphinx/lcmm-claim-index-2026-10-24/CHECK.txt | +| DOC | 4 | wizard-work/null/btreekit/README-btreekit.md | +| FORGE | 7 | wizard-work/forge/verify_ops_pulse_refactor.py | +| LEDGER | 5 | wizard-outputs/ledger/verify_github_python_repos.py | +| LORE | 1 | wizard-work/volt/q60_truncated_census.py | +| MISC | 4 | repo_tree.tsv | +| NULL | 42 | wizard-work/null/verify_staged.py | +| PROBE | 32 | wizard-work/sphinx/archive-mmlongcite-2026-10-25/probe_paper_facts.json | +| RECOVERY | 1 | recoveries/apply-queue-status-2026-10-25.md | +| SPHINX | 43 | wizard-work/sphinx/lcmm-claim-index-2026-10-24/vocabulary_index.json | +| STRAY | 6 | wizard-work/null/membershipkit/.hermes-tmp.sx2gIa | + +## Stray / hermetic temp artifacts (not lane work) + +The following are local temp / scaffolding artifacts (not pending work): + +- .triage_build.py +- .triage_dump.py +- .triage_dump_pending.py +- .triage_probe.py +- wizard-work/null/.hermes-tmp.RqZp3z +- wizard-work/null/membershipkit/.hermes-tmp.sx2gIa + +## Bottom line + +- **147** work items are still local-only and not yet in the pipe (untracked); **3** modified (not staged). +- Stray entries above are candidates for removal; lane work is valid pending contribution. +- Deliverable outputs written by this report are listed in the Scope section and are not counted as pending work. diff --git a/wizard-work/sol/daily-local-pipe-triage-2026-10-26.verify.py b/wizard-work/sol/daily-local-pipe-triage-2026-10-26.verify.py new file mode 100644 index 0000000..f519776 --- /dev/null +++ b/wizard-work/sol/daily-local-pipe-triage-2026-10-26.verify.py @@ -0,0 +1,129 @@ +#!/usr/bin/env python3 +"""Independent verifier for the daily local-pipe triage artifact (2026-10-26). + +The artifact records the repository's pending-work index (files the worktree has +that git does not track) at capture time, frozen into the stored index list. This +verifier: + +1. Re-derives the classification of the captured index ENTIRELY from the + artifact's own stored index (no live git query, so the check is stable), + and asserts the artifact's bucket counts, stray list, modified list, and + totals all equal that re-derivation. +2. Asserts the markdown report's scope lines and bucket table agree with the + stored numbers, so the report text cannot drift from its data. + +Exit 0 only when the artifact is internally correct; nonzero otherwise. +""" +import collections +import json +import os +import sys + +REPO = "/root/troupe-standup" +HERE = os.path.dirname(os.path.abspath(__file__)) +JSON_PATH = os.path.join(HERE, "daily-local-pipe-triage-2026-10-26.json") +MD_PATH = os.path.join(REPO, "wizard-work/sol/daily-local-pipe-triage-2026-10-26.md") + + +def classify(path): + b = path.split("/") + base = b[-1] + if ".hermes-tmp." in path or base.startswith(".triage_"): + return "STRAY" + if "beam" in b: + return "STRAY" + if base == "CHECK" and chr(10) in path: + return "STRAY" + if base.startswith("README-"): + return "DOC" + if base.startswith("CHECK"): + return "CHECK" + if base.startswith("_probe") or base.startswith("probe_"): + return "PROBE" + if "forge" in b: + return "FORGE" + if "sphinx" in b: + return "SPHINX" + if "recoveries" in b: + return "RECOVERY" + if "ledger" in b: + return "LEDGER" + if "wizard-work/null/" in ("/" + path + "/"): + return "NULL" + if path.startswith("wizard-work/"): + return "LORE" + return "MISC" + + +def main(): + errors = [] + + # --- load stored artifact (contains the captured index) --- + try: + with open(JSON_PATH, encoding="utf-8") as fh: + stored = json.load(fh) + except Exception as exc: + print("VERIFY FAIL: cannot read %s: %s" % (JSON_PATH, exc)) + sys.exit(1) + + # --- re-derive classification from the captured index --- + captured = stored.get("untracked_paths", []) + buckets = collections.Counter() + for p in captured: + buckets[classify(p)] += 1 + rederived = { + "modified": stored.get("modified", []), + "untracked": len(captured), + "total_pending": len(captured), + "buckets": {k: buckets[k] for k in sorted(buckets)}, + "stray": sorted(p for p in captured if classify(p) == "STRAY"), + } + + checks = [ + ("modified", rederived["modified"], stored.get("modified", [])), + ("untracked", rederived["untracked"], stored.get("untracked")), + ("total_pending", rederived["total_pending"], stored.get("total_pending")), + ("buckets", rederived["buckets"], stored.get("buckets")), + ("stray", rederived["stray"], stored.get("stray")), + ] + for key, got, want in checks: + if got != want: + errors.append("%s: rederived=%r stored=%r" % (key, got, want)) + + # --- report scope lines must agree with stored numbers --- + try: + text = open(MD_PATH, encoding="utf-8").read() + except OSError: + text = "" + for marker in ( + "**modified**: %d" % len(stored.get("modified", [])), + "**untracked**: %d" % stored.get("untracked"), + "**total pending**: %d" % stored.get("total_pending"), + ): + if marker not in text: + errors.append("report scope line missing: " + marker) + + # --- bucket table rows must agree with stored bucket counts --- + for k, v in stored.get("buckets", {}).items(): + if "| %s | %d |" % (k, v) not in text: + errors.append("report bucket row missing/incorrect: %s | %d" % (k, v)) + + if errors: + print("VERIFY FAIL") + for e in errors: + print(" -", e) + sys.exit(1) + + print("VERIFY PASS") + print(json.dumps({ + "modified": len(stored.get("modified", [])), + "untracked": stored.get("untracked"), + "total_pending": stored.get("total_pending"), + "buckets": stored.get("buckets"), + "stray": len(stored.get("stray", [])), + }, indent=2)) + sys.exit(0) + + +if __name__ == "__main__": + main()