feat(engine): extract test-evidence signals and add MCP self-check (#2277)#3774
feat(engine): extract test-evidence signals and add MCP self-check (#2277)#3774kiannidev wants to merge 9 commits into
Conversation
Expose the deterministic changed-path test-evidence classifier as a metadata-only MCP tool with coverage-gap guidance. Co-authored-by: Cursor <cursoragent@cursor.com>
Calibration module files under lib/calibration/ must pass check-miner-package after JSONbored#2332. Co-authored-by: Cursor <cursoragent@cursor.com>
Exercise path deduplication, blank skips, and every classification guidance string. Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
|
Superagent didn't find any vulnerabilities or security issues in this PR. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #3774 +/- ##
=======================================
Coverage 93.29% 93.30%
=======================================
Files 317 319 +2
Lines 32368 32399 +31
Branches 11872 11878 +6
=======================================
+ Hits 30199 30230 +31
Misses 1537 1537
Partials 632 632
🚀 New features to boost your workflow:
|
Exercise changedPaths/testPaths ?? [] branches and cross-list deduplication. Co-authored-by: Cursor <cursoragent@cursor.com>
Resolve check-miner-package conflicts by taking upstream (JSONbored#3773) calibration layout. Co-authored-by: Cursor <cursoragent@cursor.com>
Calibration pack-checker coverage already lives on main; keep this PR MCP-only. Co-authored-by: Cursor <cursoragent@cursor.com>
…SONbored#2277) Move isTestPath, classifyTestCoverage, and computeLocalScorerTokens into @gittensory/gittensory-engine with thin src/ shims, then register gittensory_check_test_evidence on the hosted MCP Worker. Closes JSONbored#2277 Co-authored-by: Cursor <cursoragent@cursor.com>
|
Caution 🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥 🛑 Gittensory review result - reject/close recommendedReview updated: 2026-07-06 10:12:07 UTC
🛑 Suggested Action - Reject/Close
Review summary Nits — 1 non-blocking
Why this is blocked
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.
|
Typecheck and ui:openapi run before the engine package is built, so src/ shims point at packages/gittensory-engine/src instead of the dist entry. Co-authored-by: Cursor <cursoragent@cursor.com>
|
Gittensory is closing this pull request on the maintainer's behalf (Linked issue #2235 is assigned to the maintainer (@JSONbored) — that work is reserved for the maintainer, so this PR cannot be auto-accepted.). This is an automated maintenance action — to pursue this change, please open a new pull request with the issues resolved. Closed PRs may be analyzed later to improve review accuracy, but they are not automatically reopened or re-reviewed. |
Summary
isTestPath,hasLocalTestEvidence,classifyTestCoverage, andcomputeLocalScorerTokensinto@jsonbored/gittensory-engine, with thinsrc/signals/*re-export shims so existing imports keep working.gittensory_check_test_evidenceon the hosted/mcpWorker as the metadata-only hosted consumer of the extracted engine helpers (buildCheckTestEvidenceReport+ guidance bands).maintainer-onlyand assigned to the owner; this PR targets the miner-foundation extraction issue instead.main(pack-checker fix already upstream); MCP-only delta beyond the engine extraction.Closes #2277
Scope
packages/gittensory-engine/src/test-evidence.ts,local-scorer.ts,index.tssrc/signals/test-evidence.ts(re-export +hasValidationNote),src/signals/local-scorer.tssrc/mcp/check-test-evidence.ts,src/mcp/server.tstest/unit/engine-test-evidence-extraction.test.ts,test/unit/mcp-check-test-evidence.test.ts,test/unit/mcp-output-schemas.test.tspackage.jsondepends on@jsonbored/gittensory-engineConflict avoidance
No overlap with open PRs on processors/queue (#3760, #3755, #3721, #3698), path-matchers (#3763), local-branch (#3724), visual/shot (#3771, #3712), deps (#3764), or pack-checker (#3773/#3781).
Test plan
npx vitest run test/unit/test-evidence.test.ts test/unit/local-scorer.test.ts test/unit/engine-test-evidence-extraction.test.ts test/unit/mcp-check-test-evidence.test.tsnpm run typecheck