feat(miner): add a dry-run --full-execution mode to the cross-repo evaluation harness#7650
Conversation
…aluation harness The cross-repo evaluation harness (JSONbored#4788) is readiness-only — it checks whether the miner can FORM A PLAN for a repo (detectRepoStack, resolveMinerGoalSpec, buildCodingTaskSpec) but never runs the coding agent or its tests. This adds a dry-run --full-execution mode that runs the discover -> plan -> code -> test loop against >=2 benchmark repos locally and reports per-repo pass/fail with execution-specific failure categories. - Extend CROSS_REPO_FAILURE_CATEGORY with exec_setup_gap, plan_compile_gap, test_failure, and no_op_diff (the readiness categories are unchanged). - Add evaluateRepoExecution / runCrossRepoExecution, mirroring the readiness evaluator's options-injection pattern with new injectable seams (cloneRepo / runCodingAgent / runTests) so tests drive every path with zero real IO. The default agent seam is a non-spawning shadow (no credentials), preserving the harness's read/execute-locally-and-discard safety posture. - --full-execution CLI flag on the existing script; summarize/formatReport surface the new categories in the same format (readiness output unchanged). - Extend miner-cross-repo-evaluation.test.ts (+12 tests, 53 total) covering a passing run and each new failure category, all mocked. - Document the new mode in docs/cross-repo-evaluation.md. Dry-run only: no live GitHub PR submission, no write access to benchmark repos, no credentials beyond a local clone. Closes JSONbored#7634
|
Superagent didn't find any vulnerabilities or security issues in this PR. |
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #7650 +/- ##
==========================================
- Coverage 88.51% 88.45% -0.06%
==========================================
Files 724 724
Lines 75992 76087 +95
Branches 22618 22651 +33
==========================================
+ Hits 67263 67303 +40
- Misses 7681 7725 +44
- Partials 1048 1059 +11
Flags with carried forward coverage won't be shown. Click here to find out more.
|
|
Caution 🛑 LoopOver review result - fixes requiredReview updated: 2026-07-21 06:45:57 UTC
Review summary Nits — 5 non-blocking
CI checks failing
Decision drivers
Context & advisory signals — never blocks the verdict
Linked issue satisfactionAddressed Review context
Contributor next steps
Signal definitions
🧪 Chat with LoopOverAsk LoopOver a question about this PR directly in a comment — grounded only in the same cached, public-safe facts shown above, never a new claim.
Full command reference: https://loopover.ai/docs/loopover-commands 🧪 Experimental — new and may change. 🟩 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 LoopOver, a quiet PR intelligence layer for OSS maintainers.
|
|
LoopOver is closing this pull request on the maintainer's behalf (CI is failing (codecov/patch)). 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
The cross-repo evaluation harness (#4788) is readiness-only — it exercises
detectRepoStack/resolveMinerGoalSpec/buildCodingTaskSpecagainst the benchmark repos to answer "can the miner form a plan for this repo," but never runs the coding agent or the repo's tests. This adds a dry-run--full-executionmode that runs the discover → plan → code → test loop against ≥2 of the existing benchmark repos locally, and reports per-repo pass/fail with execution-specific failure categories — real signal toward #4810's launch-readiness bar.What's here
CROSS_REPO_FAILURE_CATEGORYgainsexec_setup_gap,plan_compile_gap,test_failure,no_op_diff— the 5 readiness members are untouched, andsummarize/formatReportsurface the new ones in the same format (readiness output byte-identical).evaluateRepoExecution/runCrossRepoExecution: mirror the readiness evaluator'soptions.X ?? realImplinjection, with three new injectable seams —cloneRepo,runCodingAgent,runTests— so unit tests drive success and every failure category with zero real IO. Readiness's single (non-idempotent)buildCodingTaskSpeccall is refactored into a shared core and reused, not duplicated.--full-executionflag on the existingscripts/cross-repo-evaluation.mjs(no new script), with its hand-maintained.d.mtskept in sync.miner-cross-repo-evaluation.test.tsextended (+12, 53 total, all passing) — a passing run plus each new failure category, fully mocked. All original readiness tests unchanged and green.docs/cross-repo-evaluation.mddocuments the new mode.Dry-run safety (hard constraint honored)
No live GitHub PR submission, no write access to the third-party repos, no credentials beyond a local clone. The default
runCodingAgentseam is a non-spawning shadow (no credentials, empty diff → honestno_op_diffwhen run with no agent injected); a real diff is produced only when a real/fake agent is injected viaoptions.runCodingAgent(as the tests do). There is nooctokit/PR-open/network path anywhere in the new code.Closes #7634