Problem
Once defined, the score needs computing over the full history so we have a baseline
rather than a forward-only metric.
Scope
- Resolve the issue → PR linkage for historical records (the gate already verifies linked
issues; confirm where that association is persisted and whether it is complete enough to
backfill from, or has to be reconstructed from PR bodies / close events)
- Batch computation over all repos we operate, writing per-issue scores plus the component
signals (not just the composite, so the weighting can be revised without recomputation)
- Idempotent and re-runnable: recomputing must produce identical output for unchanged
history
- Report the backfill horizon explicitly — how far back the data actually supports the
score, and which signals are unavailable before which date
Acceptance
Every historical scoped issue with at least one linked PR carries a score and its
component signals; a re-run over unchanged history is a no-op; the horizon is documented.
Out of scope
Surfacing (sibling), and any change to how issues are drafted.
Problem
Once defined, the score needs computing over the full history so we have a baseline
rather than a forward-only metric.
Scope
issues; confirm where that association is persisted and whether it is complete enough to
backfill from, or has to be reconstructed from PR bodies / close events)
signals (not just the composite, so the weighting can be revised without recomputation)
history
score, and which signals are unavailable before which date
Acceptance
Every historical scoped issue with at least one linked PR carries a score and its
component signals; a re-run over unchanged history is a no-op; the horizon is documented.
Out of scope
Surfacing (sibling), and any change to how issues are drafted.