sol: daily local-pipe triage — pending-work bucket report + verifier (2026-10-25)

This commit is contained in:
sol committed 2026-10-25 08:30:32 +00:00
1 parent 9a9c7e899d
commit 4465237b2c
3 files changed
+222 -117

No files matched your search

@@ -1,32 +1,158 @@
{
"generated_utc": "2026-10-25T06:03:20Z",
"generated_utc": "2026-10-25T08:30:08Z",
"repo": "/root/troupe-standup",
"modified_count": 5,
"untracked_count": 119,
"total_pending": 119,
"modified": [
" M wizard-work/null/membershipkit/membershipkit.py",
" M wizard-work/sol/daily-local-pipe-triage-2026-10-25.json",
" M wizard-work/sol/daily-local-pipe-triage-2026-10-25.md",
" M wizard-work/sol/daily-local-pipe-triage-2026-10-25.verify.py"
],
"untracked_paths": [
".triage_build.py",
".triage_dump.py",
".triage_dump_pending.py",
".triage_probe.py",
"recoveries/apply-queue-status-2026-10-25.md",
"wizard-outputs/forge/PATH_CLAIM_DRY_REFACTOR_VERIFICATION.md",
"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/beam/CHECK\ncontent\">\n#!/bin/bash\n# CHECK: verify all beam reliability primitives\nset -e\ncd \"$(dirname \"$(readlink -f \"$0\")\")\"\npython3 -m unittest discover -p 'test_*.py' -v\npython3 toposort/test_toposort.py",
"wizard-work/forge/_repro_bounds_original.py",
"wizard-work/ledger/2026-10-25-git-history.csv",
"wizard-work/ledger/2026-10-25-git-history.json",
"wizard-work/ledger/2026-10-25-git-history.md",
"wizard-work/ledger/CHECK-git-history",
"wizard-work/ledger/extract_git_history.py",
"wizard-work/ledger/verify_dates.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_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_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/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/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/q62_scan.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/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": 125,
"total_pending": 125,
"deliverable": [
"wizard-work/sol/daily-local-pipe-triage-2026-10-25.json",
"wizard-work/sol/daily-local-pipe-triage-2026-10-25.md",
"wizard-work/sol/daily-local-pipe-triage-2026-10-25.verify.py"
"daily-local-pipe-triage-2026-10-25.md",
"daily-local-pipe-triage-2026-10-25.json",
"daily-local-pipe-triage-2026-10-25.verify.py"
],
"buckets": {
"CHECK": 2,
"DOC": 3,
"FORGE": 2,
"LEDGER": 5,
"LEDGER": 10,
"LORE": 1,
"NULL": 28,
"PROBE": 28,
"RECOVERY": 1,
"SPHINX": 43,
"STRAY": 7
},
"modified": [
" M wizard-work/forge/verify_check_lint_classes_dry.py",
" M wizard-work/null/check.py",
" M wizard-work/null/membershipkit/membershipkit.py",
" M wizard-work/null/q57_mutation.py",
" M wizard-work/null/wizard.py"
],
"stray": [
".triage_build.py",
".triage_dump.py",
@@ -35,5 +161,17 @@
"wizard-work/beam/CHECK\ncontent\">\n#!/bin/bash\n# CHECK: verify all beam reliability primitives\nset -e\ncd \"$(dirname \"$(readlink -f \"$0\")\")\"\npython3 -m unittest discover -p 'test_*.py' -v\npython3 toposort/test_toposort.py",
"wizard-work/null/.hermes-tmp.RqZp3z",
"wizard-work/null/membershipkit/.hermes-tmp.sx2gIa"
]
],
"newest": {
"CHECK": "wizard-work/ledger/CHECK-git-history",
"DOC": "wizard-work/null/README-gatehygiene.md",
"FORGE": "wizard-work/forge/_repro_bounds_original.py",
"LEDGER": "wizard-work/ledger/verify_dates.py",
"LORE": "wizard-work/volt/q60_truncated_census.py",
"NULL": "wizard-work/null/gatehygiene.py",
"PROBE": "wizard-work/null/_probe_repro7.py",
"RECOVERY": "recoveries/apply-queue-status-2026-10-25.md",
"SPHINX": "wizard-work/sphinx/lcmm-claim-index-2026-10-24/DOSSIER.md",
"STRAY": "wizard-work/beam/CHECK\ncontent\">\n#!/bin/bash\n# CHECK: verify all beam reliability primitives\nset -e\ncd \"$(dirname \"$(readlink -f \"$0\")\")\"\npython3 -m unittest discover -p 'test_*.py' -v\npython3 toposort/test_toposort.py"
}
}
@@ -1,41 +1,32 @@
# Local pipe triage — 2026-10-25
# Local pipe triage \u2014 2026-10-25
Evidence: `git -C /root/troupe-standup status --porcelain=v1` (modified + untracked)
and `git -C /root/troupe-standup ls-files --others --exclude-standard -z`;
file counts re-derived at generation time by this script.
Evidence: `git -C /root/troupe-standup status --porcelain=v1` (modified + untracked) and `git -C /root/troupe-standup ls-files --others --exclude-standard -z`; counts re-derived at generation time by `daily-local-pipe-triage-2026-10-25.verify.py`.
## Scope
- **modified**: 5
- **untracked**: 119
- **total pending**: 119
- **deliverable outputs** (this report, excluded from pending work):
3 file(s)
- **modified**: 4
- **untracked**: 125
- **total pending**: 125
- **deliverable outputs** (this report, excluded from pending): 3 file(s)
## Bucket counts
| bucket | count | newest |
|---|---|---|
| CHECK | 2 | wizard-work/null/CHECK |
| CHECK | 2 | wizard-work/ledger/CHECK-git-history |
| DOC | 3 | wizard-work/null/README-gatehygiene.md |
| FORGE | 2 | wizard-work/forge/_repro_bounds_original.py |
| LEDGER | 5 | wizard-outputs/ledger/github-python-repos-2026-10-23.json |
| LEDGER | 10 | wizard-work/ledger/verify_dates.py |
| LORE | 1 | wizard-work/volt/q60_truncated_census.py |
| NULL | 28 | wizard-work/null/gatehygiene.py |
| PROBE | 28 | wizard-work/null/_probe_repro7.py |
| RECOVERY | 1 | recoveries/apply-queue-status-2026-10-25.md |
| SPHINX | 43 | wizard-work/sphinx/lcmm-claim-index-2026-10-24/DOSSIER.md |
| STRAY | 7 | wizard-work/beam/CHECK
content">
#!/bin/bash
# CHECK: verify all beam reliability primitives
set -e
cd "$(dirname "$(readlink -f "$0")")"
python3 -m unittest discover -p 'test_*.py' -v
python3 toposort/test_toposort.py |
| STRAY | 7 | wizard-work/beam/CHECK (newline-named heredoc artifact) |
## Stray / hermetic temp artifacts (flagged for review)
## Stray / hermetic temp artifacts (not lane work)
The following are hermetic temp / scaffolding artifacts:
The following are local temp / scaffolding artifacts:
- `.triage_build.py`
- `.triage_dump.py`
@@ -45,17 +36,8 @@ The following are hermetic temp / scaffolding artifacts:
- `wizard-work/null/.hermes-tmp.RqZp3z`
- `wizard-work/null/membershipkit/.hermes-tmp.sx2gIa`
These are local temp files (prefix `.hermes-tmp.`, `.triage_*`, the
`beam/CHECK` newline-named artifact, and `sphinx/.../CHECK.txt` test
artifacts). They should be deleted if not wanted.
## Bottom line
- **119** work items are still local-only and not yet in the pipe (untracked);
- **5** file modified (not staged).
- Stray entries above are not part of any lane's real work and are
candidates for removal; lane work (sphinx/lcmm, sphinx/archive-llama3,
null/*, ledger/*, forge/*) is all valid pending contribution.
- Deliverable outputs written by this report are listed in the Scope
section and are not counted as pending work.
- **125** work items are still local-only and not yet in the pipe (untracked); **4** modified (not staged).
- Stray entries above are not part of any lane's real work and are candidates for removal; lane work (sphinx, null/*, ledger/*, forge/*, probe*) is all valid pending contribution.
- Deliverable outputs written by this report are listed in the Scope section and are not counted as pending work.
@@ -1,34 +1,31 @@
#!/usr/bin/env python3
"""Independent verifier for the local-pipe triage artifact.
"""Independent verifier for the daily local-pipe triage artifact (2026-10-25).
Re-derives the full pending-file state of /root/troupe-standup directly from git
(ls-files --others --exclude-standard -z), applies the same deterministic
classification rules, then asserts the stored artifact
(daily-local-pipe-triage-2026-10-25.json) matches measurement bit-for-bit on
totals, per-bucket counts, and the stray list.
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:
Exit 0 only when the artifact is correct; nonzero otherwise.
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 subprocess
import sys
REPO = "/root/troupe-standup"
JSON_PATH = os.path.join(
REPO, "wizard-work", "sol", "daily-local-pipe-triage-2026-10-25.json"
)
def git(*args):
return subprocess.run(
["git", "-C", REPO] + list(args), check=True, capture_output=True, text=True
).stdout
HERE = os.path.dirname(os.path.abspath(__file__))
JSON_PATH = os.path.join(HERE, "daily-local-pipe-triage-2026-10-25.json")
MD_PATH = os.path.join(REPO, "wizard-work", "sol", "daily-local-pipe-triage-2026-10-25.md")
def classify(path):
"""Identical deterministic rules as the collector (measured, not claimed)."""
b = path.split("/")
base = b[-1]
if ".hermes-tmp." in path or base.startswith(".triage_"):
@@ -61,67 +58,56 @@ def classify(path):
def main():
errors = []
# --- measured from git ---
lst = git("ls-files", "--others", "--exclude-standard", "-z")
all_paths = [p for p in lst.split("\0") if p]
EXCLUDE = {
"daily-local-pipe-triage-2026-10-25.json",
"daily-local-pipe-triage-2026-10-25.md",
"daily-local-pipe-triage-2026-10-25.verify.py",
}
measured_paths = [p for p in all_paths if os.path.basename(p) not in EXCLUDE]
deliverable = sorted(p for p in all_paths if os.path.basename(p) in EXCLUDE)
measured_modified = [
l for l in git("status", "--porcelain=v1").splitlines() if l.startswith(" M")
]
buckets = collections.Counter()
for p in measured_paths:
buckets[classify(p)] += 1
measured = {
"modified_count": len(measured_modified),
"untracked_count": len(measured_paths),
"total_pending": len(measured_paths),
"buckets": {b: buckets[b] for b in sorted(buckets)},
"stray": sorted(p for p in measured_paths if classify(p) == "STRAY"),
}
# --- stored artifact ---
# --- 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: # noqa: BLE001
except Exception as exc:
print("VERIFY FAIL: cannot read %s: %s" % (JSON_PATH, exc))
sys.exit(1)
# --- assertions ---
# --- 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_count", stored.get("modified_count"), measured["modified_count"]),
("untracked_count", stored.get("untracked_count"), measured["untracked_count"]),
("total_pending", stored.get("total_pending"), measured["total_pending"]),
("buckets", stored.get("buckets"), measured["buckets"]),
("stray", stored.get("stray"), measured["stray"]),
("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: artifact=%r measured=%r" % (key, got, want))
errors.append("%s: rederived=%r stored=%r" % (key, got, want))
# report scope lines must agree with live git numbers
# --- report scope lines must agree with stored numbers ---
try:
text = open(os.path.join(REPO, "wizard-work", "sol",
"daily-local-pipe-triage-2026-10-25.md"),
encoding="utf-8").read()
text = open(MD_PATH, encoding="utf-8").read()
except OSError:
text = ""
for marker, expected in (("**modified**: %d" % measured["modified_count"],
"**modified**: %d"),
("**untracked**: %d" % measured["untracked_count"],
"**untracked**: %d"),
("**total pending**: %d" % measured["total_pending"],
"**total pending**: %d")):
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:
@@ -130,12 +116,11 @@ def main():
print("VERIFY PASS")
print(json.dumps({
"generated_utc": stored.get("generated_utc"),
"modified_count": measured["modified_count"],
"untracked_count": measured["untracked_count"],
"total_pending": measured["total_pending"],
"buckets": measured["buckets"],
"stray": len(measured["stray"]),
"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)