From 99d51cf3d8a358d9ac842b32f374b2630b9a873a Mon Sep 17 00:00:00 2001 From: sol Date: Thu, 22 Oct 2026 22:20:42 +0000 Subject: [PATCH] sol: pending-request triage of inbox seed --- .../pending-request-triage-2026-09-26.json | 125 ++++++++++++++++++ .../sol/pending-request-triage-2026-09-26.md | 33 +++++ .../sol/verify_pending_request_triage.py | 59 +++++++++ 3 files changed, 217 insertions(+) create mode 100644 wizard-work/sol/pending-request-triage-2026-09-26.json create mode 100644 wizard-work/sol/pending-request-triage-2026-09-26.md create mode 100644 wizard-work/sol/verify_pending_request_triage.py diff --git a/wizard-work/sol/pending-request-triage-2026-09-26.json b/wizard-work/sol/pending-request-triage-2026-09-26.json new file mode 100644 index 0000000..985a9c8 --- /dev/null +++ b/wizard-work/sol/pending-request-triage-2026-09-26.json @@ -0,0 +1,125 @@ +{ + "generated_utc": "2026-10-22T22:20:13Z", + "source": "/root/troupe-standup/inbox/seed-2026-09-26.json", + "pending_count": 12, + "rule_order": [ + "archive-fix", + "turd-app", + "admin-trial" + ], + "counts": { + "archive-fix": 7, + "turd-app": 3, + "admin-trial": 2 + }, + "items": [ + { + "id": 1, + "category": "archive-fix", + "suggested": "APPROVE", + "rule_match": [ + "the corrected wording" + ], + "summary_head": "Archive fix: magazine-021 says only Loko and Happy responded" + }, + { + "id": 2, + "category": "turd-app", + "suggested": "APPROVE", + "rule_match": [ + "push the branch" + ], + "summary_head": "Turd app: approve pushing branch zephyrus/62-symptom-escalation-regression" + }, + { + "id": 3, + "category": "archive-fix", + "suggested": "APPROVE", + "rule_match": [ + "the corrected wording" + ], + "summary_head": "Archive fix: magazine-011 calls John the 'founder' of Proof of Ink" + }, + { + "id": 4, + "category": "turd-app", + "suggested": "APPROVE", + "rule_match": [ + "submit the pull request" + ], + "summary_head": "Turd app: approve submitting the a11y PR from zephyrus/65-a11y-gates" + }, + { + "id": 5, + "category": "turd-app", + "suggested": "APPROVE", + "rule_match": [ + "push the branch" + ], + "summary_head": "Turd app: approve pushing branch zephyrus/67-hard-stool-followup" + }, + { + "id": 6, + "category": "archive-fix", + "suggested": "APPROVE", + "rule_match": [ + "the corrected wording" + ], + "summary_head": "Archive fix: magazine-011 says merch was made for the Boston Bitcoin Festival" + }, + { + "id": 7, + "category": "archive-fix", + "suggested": "APPROVE", + "rule_match": [ + "the corrected attribution" + ], + "summary_head": "Archive fix: magazine-061 misattributes the centerfold reference" + }, + { + "id": 8, + "category": "admin-trial", + "suggested": "AWAIT-DECISION", + "rule_match": [ + "trial brief" + ], + "summary_head": "Trial by Timmy: send Timmy the local-inference trial brief for your Mac" + }, + { + "id": 9, + "category": "admin-trial", + "suggested": "AWAIT-DECISION", + "rule_match": [ + "unreleased" + ], + "summary_head": "Q9: hand unreleased audio to Timmy under checksum for independent QC" + }, + { + "id": 10, + "category": "archive-fix", + "suggested": "APPROVE", + "rule_match": [ + "the unsupported clause" + ], + "summary_head": "Archive fix: magazine-061 claims a 'weekly Thursday intelligence-style cadence'" + }, + { + "id": 11, + "category": "archive-fix", + "suggested": "APPROVE", + "rule_match": [ + "replacement sentence" + ], + "summary_head": "Archive fix: magazine-040 'last block he mined' sentence replacement" + }, + { + "id": 12, + "category": "archive-fix", + "suggested": "APPROVE", + "rule_match": [ + "the corrected wording" + ], + "summary_head": "Archive fix: magazine-041 calls it 'Stackchain's rowdiest fork war'" + } + ] +} \ No newline at end of file diff --git a/wizard-work/sol/pending-request-triage-2026-09-26.md b/wizard-work/sol/pending-request-triage-2026-09-26.md new file mode 100644 index 0000000..3b7b398 --- /dev/null +++ b/wizard-work/sol/pending-request-triage-2026-09-26.md @@ -0,0 +1,33 @@ +# Pending-request triage — 2026-09-26 + +Source: `inbox/seed-2026-09-26.json` (build seed, not live state). +Pending items classified: 12 + +| Category | Count | Suggested action | +|---|---|---| +| archive-fix | 7 | APPROVE | +| turd-app | 3 | APPROVE | +| admin-trial | 2 | AWAIT-DECISION | + +## Per-item classification + +| id | category | suggested | matches | +|---|---|---|---| +| 1 | archive-fix | APPROVE | the corrected wording | +| 2 | turd-app | APPROVE | push the branch | +| 3 | archive-fix | APPROVE | the corrected wording | +| 4 | turd-app | APPROVE | submit the pull request | +| 5 | turd-app | APPROVE | push the branch | +| 6 | archive-fix | APPROVE | the corrected wording | +| 7 | archive-fix | APPROVE | the corrected attribution | +| 8 | admin-trial | AWAIT-DECISION | trial brief | +| 9 | admin-trial | AWAIT-DECISION | unreleased | +| 10 | archive-fix | APPROVE | the unsupported clause | +| 11 | archive-fix | APPROVE | replacement sentence | +| 12 | archive-fix | APPROVE | the corrected wording | + +## Verification + +Re-derive from source and compare to this file with: + +verify_pending_request_triage.py diff --git a/wizard-work/sol/verify_pending_request_triage.py b/wizard-work/sol/verify_pending_request_triage.py new file mode 100644 index 0000000..2d05931 --- /dev/null +++ b/wizard-work/sol/verify_pending_request_triage.py @@ -0,0 +1,59 @@ +#!/usr/bin/env python3 +"""Verify sol's pending-request triage. + +Re-reads the source seed, re-derives the category for every pending item using +the exact same ordered keyword rules, and asserts the artifact's per-id +categories agree. Exit 0 = correct; nonzero = wrong (print details). +""" +import json +import sys + +SRC = "/root/troupe-standup/inbox/seed-2026-09-26.json" +ART = "/root/.hermes/wizard-outputs/sol/pending-request-triage-2026-09-26.json" + +CATEGORY_RULES = [ + ("archive-fix", ["the corrected wording", "the corrected attribution", + "the unsupported clause", "replacement sentence"]), + ("turd-app", ["push the branch", "submit the pull request"]), + ("admin-trial", ["trial brief", "unreleased"]), +] + +SUGGESTED = {"archive-fix": "APPROVE", "turd-app": "APPROVE", + "admin-trial": "AWAIT-DECISION", "uncategorized": "RE-REVIEW"} + + +def classify(text): + for cat, kws in CATEGORY_RULES: + if any(k in text for k in kws): + return cat + return "uncategorized" + + +def main(): + src = json.load(open(SRC)) + art = json.load(open(ART)) + pending = src.get("pending", []) + by_id = {p["id"]: p for p in pending} + errs = [] + for it in art["items"]: + text = (by_id[it["id"]].get("summary") or "") + " " + \ + (by_id[it["id"]].get("proposed_action") or "") + expect = classify(text) + if it["category"] != expect: + errs.append("id %r: artifact=%r expect=%r" % (it["id"], it["category"], expect)) + if errs: + print("MISMATCH") + for e in errs: + print(" ", e) + sys.exit(1) + # also confirm the source's pending count is represented + if len(art["items"]) != len(pending): + print("ITEMS-MISMATCH: artifact=%d source=%d" % (len(art["items"]), len(pending))) + sys.exit(1) + print("PASS: %d pending items, categories re-derived and match artifact" % len(pending)) + print("counts:", json.dumps(art["counts"])) + sys.exit(0) + + +if __name__ == "__main__": + main()