Summary
Adopted spike Option B from the backlog-triage simplification spike (measure-only): replace the ~265 judgment/heuristic lines in triage-relate.js, triage-stale.js, and triage-report.js with prompt-level rubric guidance. Deterministic computation stays in scripts; semantic judgment moves to the model.
Changes
- triage-relate.js: removed phrase-based blocks / depends-on (scanPhraseEdges/scanBlocks/scanDependsOn) and title-Jaccard duplicates (tokenizeTitle/jaccardSimilarity/findDuplicateCandidates). Script now emits deterministic edges only: mentions, comment-mentions, merged-pr-link. Dropped the now-unused readTriageConfig/resolveBacklogDir/DEFAULT_CONFIG_PATH.
- triage-stale.js: removed scanDuplicateOfClosed/closedIssueMatches/jaccardSimilarity and SIGNALS.DUPLICATE_OF_CLOSED; duplicate-of-closed is now a model judgment. Script keeps date/label signals: inactive, wontfix, invalid, merged-closing-pr.
- triage-report.js: removed buildThemeStats/buildRelationshipCounts/buildPriorityActions/buildMilestoneActions (and getIsoWeek/nextSprintName). Added --model-actions PATH — the model's judged priority/milestone actions are rendered deterministically (anchors, dedupe, Apply Checklist unchanged).
- Rubric docs: references/relationships.md (model-judged blocks/depends-on/duplicate rubric), references/stale.md (model-judged duplicate-of-closed), references/decision-review.md (priority/milestone proposal rubric), SKILL.md (--model-actions JSON format + judgment distribution).
Verification
- 453 pass / 0 fail (unit + integration), smoke-test 190 pass / 0 fail.
- Net script/test delta: ~-454 lines (195 insertions / 649 deletions across 11 files).
Summary
Adopted spike Option B from the backlog-triage simplification spike (measure-only): replace the ~265 judgment/heuristic lines in triage-relate.js, triage-stale.js, and triage-report.js with prompt-level rubric guidance. Deterministic computation stays in scripts; semantic judgment moves to the model.
Changes
Verification