feat(notifications): add gate-outcomes section for the maintainer recap#4321
Conversation
Pure section builder over a RecapReport projection: summarize the gate's window — blocked count, maintainer overrides, and the blocked-then-merged false-positive count plus rate. The false-positive rate is nulled below MIN_SAMPLE (5) exactly as gate-precision.ts, which also guards the divide-by-zero (blocked === 0) arm. Own file (maintainer-recap-gate-outcomes.ts) mirroring the calibration section, so it stays decoupled from the foundation builder and sibling sections. Closes JSONbored#2242
|
🚨 Contributor flagged. Click here for more info: Superagent Dashboard |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #4321 +/- ##
=======================================
Coverage 93.94% 93.94%
=======================================
Files 397 398 +1
Lines 36736 36745 +9
Branches 13428 13430 +2
=======================================
+ Hits 34511 34520 +9
Misses 1569 1569
Partials 656 656
🚀 New features to boost your workflow:
|
|
Warning 🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨 ⏸️ Gittensory review result - manual review recommendedReview updated: 2026-07-08 21:19:53 UTC
⏸️ Suggested Action - Manual Review
Review summary Nits — 6 non-blocking
Linked issue satisfactionAddressed Review context
Contributor next steps
Signal definitions
🟩 Safe / merged · 🟦 Advisory · 🟨 Held for review · 🟥 Blocked / closed 💰 Earn for open-source contributions like this. Gittensor lets GitHub contributors earn for the work they already do — register to start earning →. Checked by Gittensory, a quiet PR intelligence layer for OSS maintainers.
|
Adds a gate-outcomes section for the #1963 maintainer recap digest (Closes #2242).
A pure section builder over a
RecapReportprojection: summarize the gate's window — blocked count, maintainer overrides, and the blocked-then-merged false-positive count plus a rate line. The false-positive rate is nulled below MIN_SAMPLE (5) exactly asgate-precision.ts:103(a 1-of-few false positive is noise, not a precision signal), which also guards the divide-by-zero (blocked === 0) arm.Ships in its own file (
src/services/maintainer-recap-gate-outcomes.ts), mirroring the calibration section (#2243) so it stays decoupled from the foundation builder (#2239) and sibling sections — no shared-file edits, no new queries.Test
test/unit/maintainer-recap-gate-outcomes.test.ts— the enough-samples numeric-rate arm, the too-few-samples null arm, theblocked === MIN_SAMPLEboundary, the empty/divide-by-zero arm, three-decimal rounding (mirroringgate-precision.ts), and per-line redaction. 100% statements / branches / functions / lines on the new module.site//CNAME/**/lovable/**; noCHANGELOG.md. Pure new module + test only.