Parent roadmap: #82
Background
Issue-discovery outcomes affect credibility and contributor strategy differently from direct PR outcomes.
Goal
Build a separate issue-discovery lifecycle model for open, closed-not-solved, solved, valid-solved, stale, duplicate, and invalid states.
Current Behavior
Issue and PR signals exist, but issue-discovery lifecycle is not fully separated from generic issue quality.
Desired Behavior
Decision packs and issue-quality reports explain which issue-discovery activity helps, hurts, or should be avoided.
Implementation Requirements
- Add lifecycle classifier.
- Use official/mirror data first.
- Separate valid solved issues from raw closed issues.
- Feed lifecycle into issue quality, strategy, and scoring profile.
- Avoid encouraging issue filing in direct-PR-only repos.
Public/Private Output Boundaries
Signal data can inform private API/MCP outputs. Public GitHub output must use only sanitized, maintainer-friendly summaries and must not expose private scoreability or contributor scoring internals.
Acceptance Criteria
- Valid solved issues are distinct from raw solved/closed.
- Closed-not-solved affects risk.
- Direct-PR-only repos do not encourage issue spam.
- Lifecycle state is deterministic.
Testing Requirements
npm run test:ci must pass.
- Global coverage must remain at or above 97% for lines, statements, functions, and branches.
- Aim for 98%+ branch coverage locally to avoid CI variance.
- Add tests for every new branch, fallback path, sanitizer rule, and regression.
- Add invariant/property-style tests when behavior depends on sorting, gating, scoring, queue pressure, source-upload safety, public/private boundaries, or upstream drift.
- Public GitHub output must be tested against forbidden language: wallet, hotkey, raw trust score, payout, reward estimate, farming, private reviewability, and public score estimate.
- MCP/local tooling must prove source contents are not uploaded.
Additional Test Scenarios
- Valid solved fixture.
- Closed-not-solved fixture.
- Stale issue fixture.
- Direct-PR-only fixture.
- Issue-discovery repo fixture.
Parent roadmap: #82
Background
Issue-discovery outcomes affect credibility and contributor strategy differently from direct PR outcomes.
Goal
Build a separate issue-discovery lifecycle model for open, closed-not-solved, solved, valid-solved, stale, duplicate, and invalid states.
Current Behavior
Issue and PR signals exist, but issue-discovery lifecycle is not fully separated from generic issue quality.
Desired Behavior
Decision packs and issue-quality reports explain which issue-discovery activity helps, hurts, or should be avoided.
Implementation Requirements
Public/Private Output Boundaries
Signal data can inform private API/MCP outputs. Public GitHub output must use only sanitized, maintainer-friendly summaries and must not expose private scoreability or contributor scoring internals.
Acceptance Criteria
Testing Requirements
npm run test:cimust pass.Additional Test Scenarios