sol: inbox triage of 12 pending escalations into 4 decision categories
This commit is contained in:
1 parent
f31c59daa5
commit
5257fdd90f
2 files changed
+66
No files matched your search
@@ -0,0 +1,27 @@
|
||||
# Inbox triage — 2026-10-20 (Sol, triage lane)
|
||||
|
||||
Source: `/root/troupe-standup/inbox/seed-2026-09-26.json` — Muse web artifact `inbox` build seed, not live state.
|
||||
Decided: 1 (id 13). Pending escalations to triage: 12 (ids 1-12).
|
||||
|
||||
Decision categories used:
|
||||
- publish-correction — archive text fix to publish
|
||||
- push-branch — approve/route a PR branch to maintainer review
|
||||
- authorize-trial — authorize the Timmy local-inference trial brief
|
||||
- audio-qc — decision on unreleased audio independent QC
|
||||
|
||||
| id | escalated_by | category | summary | evidence |
|
||||
|---|---|---|---|---|
|
||||
| id=1 | escalated_by=Zephyrus | category=publish-correction | archive fix: magazine-021 "only Loko and Happy responded" | Flag 3 of 7, Grade: contradicted |
|
||||
| id=2 | escalated_by=Zephyrus | category=push-branch | turd app PR zephyrus/62-symptom-escalation-regression | Local branch committed, not pushed; npm test 92/92; "No push without maintainer approval per your authority rules" |
|
||||
| id=3 | escalated_by=Zephyrus | category=publish-correction | archive fix: magazine-011 "founder of the Bitcoin-only printing company Proof of Ink" | Flag 2 of 7, Grade: unsupported |
|
||||
| id=4 | escalated_by=Zephyrus | category=push-branch | turd app a11y PR zephyrus/65-a11y-gates | "do not submit without your authorization" |
|
||||
| id=5 | escalated_by=Zephyrus | category=push-branch | turd app PR zephyrus/67-hard-stool-followup | "needs explicit maintainer approval before pushing" |
|
||||
| id=6 | escalated_by=Zephyrus | category=publish-correction | archive fix: magazine-011 merch for the Boston Bitcoin Festival | Flag 6 of 7, Grade: overstated (minor) |
|
||||
| id=7 | escalated_by=Zephyrus | category=publish-correction | archive fix: magazine-061 centerfold reference misattribution | Flag 5 of 7, Grade: unsupported |
|
||||
| id=8 | escalated_by=Zephyrus | category=authorize-trial | send Timmy the local-inference trial brief for your Mac | "standing goal... trial brief 'Trial by Timmy' ... awaiting your go-ahead" |
|
||||
| id=9 | escalated_by=Timmy | category=audio-qc | Q9: hand unreleased audio to Timmy under checksum for independent QC | "unreleased Q9 audio... needs Alexander's decision" |
|
||||
| id=10 | escalated_by=Zephyrus | category=publish-correction | archive fix: magazine-061 "weekly Thursday intelligence-style cadence" | Flag 1 of 7, Grade: unsupported |
|
||||
| id=11 | escalated_by=Timmy | category=publish-correction | archive fix: magazine-040 "last block he mined" sentence replacement | Q4 falsification pass; published Patoshi analyses end at block 54,316 |
|
||||
| id=12 | escalated_by=Zephyrus | category=publish-correction | archive fix: magazine-041 "rowdiest fork war" | Flag 4 of 7, Grade: overstated |
|
||||
|
||||
Category totals: publish-correction=7, push-branch=3, authorize-trial=1, audio-qc=1. (12 pending + 1 decided = 13 total items.)
|
||||
@@ -0,0 +1,39 @@
|
||||
#!/usr/bin/env python3
|
||||
import json, re, sys
|
||||
|
||||
SEED = "/root/troupe-standup/inbox/seed-2026-09-26.json"
|
||||
REPORT = "/root/.hermes/wizard-outputs/sol/inbox-triage-2026-10-20.md"
|
||||
|
||||
def expected(p):
|
||||
e = (p.get("evidence") or "") + " " + (p.get("proposed_action") or "")
|
||||
if "push" in e or "pull request" in (p.get("proposed_action") or "").lower():
|
||||
return "push-branch"
|
||||
if "audio under checksum" in e or "unreleased audio" in e or "Q9" in e:
|
||||
return "audio-qc"
|
||||
if "Trial by Timmy" in e:
|
||||
return "authorize-trial"
|
||||
return "publish-correction"
|
||||
|
||||
def main():
|
||||
seed = json.load(open(SEED, encoding="utf-8"))
|
||||
pending = seed["pending"]
|
||||
want = {p["id"] for p in pending}
|
||||
text = open(REPORT, encoding="utf-8").read()
|
||||
ids = [int(x) for x in re.findall(r"id=(\d+)", text)]
|
||||
cats = re.findall(r"category=([a-z-]+)", text)
|
||||
if len(ids) != len(pending):
|
||||
print("CHECK FAIL: %d rows, want %d" % (len(ids), len(pending)))
|
||||
return 1
|
||||
got = dict(zip(ids, cats))
|
||||
if set(got) != want:
|
||||
print("CHECK FAIL: ids %s" % sorted(got))
|
||||
return 1
|
||||
for p in pending:
|
||||
i = p["id"]
|
||||
if got[i] != expected(p):
|
||||
print("CHECK FAIL: id %d got %r want %r" % (i, got[i], expected(p)))
|
||||
return 1
|
||||
print("CHECK OK: %d pending escalations classified; all match source evidence" % len(pending))
|
||||
return 0
|
||||
|
||||
sys.exit(main())
|
||||
Reference in new issue
Block a user