sol: pending-request triage of inbox seed

This commit is contained in:
sol committed 2026-10-22 22:20:42 +00:00
1 parent 311aae865f
commit 99d51cf3d8
3 files changed
+217

No files matched your search

@@ -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'"
}
]
}
@@ -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
@@ -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()