Part of #59 (epic). Depends on #61 (snapshot contract).
Scope
Detect relationships between open issues. Consumes the snapshot file produced by triage-collect.js; does NOT re-fetch. Output feeds the triage report's Relationships section.
Signals (rule-based, MVP)
Config
Duplicate threshold and signal weightings live in backlog/triage-config.yml (defined in #61). references/classification.md documents the schema.
Acceptance Criteria
Deferred to follow-up
Both are tracked at #73. Re-scope came from review of initial dispatch (PR #72).
Part of #59 (epic). Depends on #61 (snapshot contract).
Scope
Detect relationships between open issues. Consumes the snapshot file produced by
triage-collect.js; does NOT re-fetch. Output feeds the triage report's Relationships section.Signals (rule-based, MVP)
#Nreferences in issue bodies. Comments are deferred to enhance(backlog-triage): snapshot v2 schema for closing PRs, comments, and closed-issue scan #73 — the snapshot does not yet carry them.closing_prssnapshot extension. Not in this MVP.Config
Duplicate threshold and signal weightings live in
backlog/triage-config.yml(defined in #61).references/classification.mddocuments the schema.Acceptance Criteria
scripts/triage-relate.js --snapshot <path-to-snapshot.json> [--json]--snapshotmissing or malformed{from: N, to: M, kind: 'mentions'|'blocks'|'depends-on'|'duplicate-candidate', confidence, evidence}backlog/triage-config.ymlreferences/relationships.mddocuments the deferredPR linkagesignal and points at enhance(backlog-triage): snapshot v2 schema for closing PRs, comments, and closed-issue scan #73Deferred to follow-up
comments-based mention scan (requires enhance(backlog-triage): snapshot v2 schema for closing PRs, comments, and closed-issue scan #73 snapshot extension)PR linkageedge kind (requires enhance(backlog-triage): snapshot v2 schema for closing PRs, comments, and closed-issue scan #73closing_prssnapshot extension)Both are tracked at #73. Re-scope came from review of initial dispatch (PR #72).