De-slop: remove every em-dash + banned words across all modules + capstone (#94)
Sync course wiki / sync-wiki (push) Successful in 4s

Co-authored-by: claude <claude@jpaul.io>
Co-committed-by: claude <claude@jpaul.io>
This commit was merged in pull request #94.
This commit is contained in:
2026-06-22 23:21:22 -04:00
committed by Claude (agent)
parent 513d7e7ac8
commit c098933f25
99 changed files with 1324 additions and 1315 deletions
+7 -7
View File
@@ -1,14 +1,14 @@
"""Assistive issue-triage agent local simulation of a triage bot.
"""Assistive issue-triage agent: local simulation of a triage bot.
Stands in for a forge-native triage agent (triggered when an issue opens) without a hosted account.
It assembles the prompt, then validates and renders the AI's suggestion and stops at a human
It assembles the prompt, then validates and renders the AI's suggestion, and stops at a human
confirm. The agent proposes labels and a route; it does not apply them.
python triage.py prompt # taxonomy + issue -> prompt for the agent
python triage.py apply ai-triage.sample.json # validate + render + confirm gate
The validation step matters: the agent may only use labels that exist in label-taxonomy.md. A
hallucinated label is rejected. Stdlib only no pip install.
hallucinated label is rejected. Stdlib only, no pip install.
"""
import argparse
@@ -31,7 +31,7 @@ and a rationale for the issue that follows. Return ONLY the JSON object the taxo
"""
# Allowed labels are the backticked `prefix:value` tokens in the taxonomy file. Keeping the source
# of truth in the committed markdown not hardcoded here is the point.
# of truth in the committed markdown (not hardcoded here) is the point.
LABEL_RE = re.compile(r"`([a-z]+:[a-z0-9-]+)`")
@@ -75,7 +75,7 @@ def cmd_apply(args: argparse.Namespace) -> int:
bogus = [l for l in labels if l not in allowed]
if bogus:
print("=" * 70)
print("REJECTED the agent suggested labels that aren't in the taxonomy:")
print("REJECTED: the agent suggested labels that aren't in the taxonomy:")
for l in bogus:
print(f" - {l}")
print(
@@ -85,7 +85,7 @@ def cmd_apply(args: argparse.Namespace) -> int:
return 1
print("=" * 70)
print("TRIAGE AGENT suggestion (advisory only)")
print("TRIAGE AGENT: suggestion (advisory only)")
print("=" * 70)
print(f"\n Labels: {', '.join(labels) or '(none)'}")
print(f" Route to: {sug.get('assignee_type', '?')}")
@@ -99,7 +99,7 @@ def cmd_apply(args: argparse.Namespace) -> int:
" - confirm apply the labels and route as proposed\n"
" - edit change a label or the route, then apply\n"
" - reject the triage is wrong; do it yourself\n"
"\nA wrong label here costs one glance and one click to fix which is exactly why\n"
"\nA wrong label here costs one glance and one click to fix, which is exactly why\n"
"triage is the safe place to let an agent in first.\n"
)
return 0