fix(miner): isolate replay scoring key - #3235
Conversation
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
gittensory-ui | 2442a0a | Commit Preview URL Branch Preview URL |
Jul 04 2026, 11:58 PM |
|
Superagent didn't find any vulnerabilities or security issues in this PR. |
|
Tip 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 ✅ Gittensory review result - approve/merge recommendedReview updated: 2026-07-05 00:01:26 UTC
✅ Suggested Action - Approve/Merge
Review summary Nits — 4 non-blocking
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.
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #3235 +/- ##
=======================================
Coverage 94.12% 94.12%
=======================================
Files 276 276
Lines 30202 30202
Branches 11011 11011
=======================================
Hits 28429 28429
Misses 1127 1127
Partials 646 646 🚀 New features to boost your workflow:
|
The review flagged that eligible: true here only mirrors selectFreezePoint, not generateReplayTask's full scrub/lint pipeline -- a candidate can pass selection but still fail generateReplayTask's lintFrozenContext check (unscrubbable forward reference), producing a scoring key with no matching frozen task. Document this explicitly so a caller never assumes the two are a matched pair without checking generateReplayTask's own result.
a5c9b8a to
2442a0a
Compare
Motivation
Description
generateReplayTaskto return only the scrubbed frozen replay bundle (frozen) for eligible tasks and remove anyrevealedfield from the returned object.generateReplayScoringKey(candidate, options)as a scoring-only accessor that returnscommitCountandgroundTruth(or an eligible rejection) and never contains frozen context.replay-task-generation.d.tsto removerevealedfromReplayTaskand add a newReplayScoringKeytype and function signature forgenerateReplayScoringKey.test/unit/miner-replay-task-generation.test.tsto assert the replay task contains no revealed bundle and to exercise the new scoring-only accessor, plus keep existing rejection/determinism assertions.Testing
npx vitest run test/unit/miner-replay-task-generation.test.ts, and the tests covering the miner replay task file passed (19 tests all green).npm --workspace @jsonbored/gittensory-miner run build, which completed (node --checkvalidation passed for the changed files).npm run typecheck, which completed without errors.npm run test:ci) and coverage runs in this environment but they did not complete to a clean green due to unrelated environment/network limitations (DNS/setup foractionlint,selfhost:env-reference:checkdrift, long-running unrelated full-suite tests) and registry audit access (npm audit) returning a 403; these are environmental and unrelated to the isolated behavioral change in the miner module.Codex Task