feat(evals): mine FP/FN candidates with Daytona and Jev - #1820
Open
devin-ai-integration[bot] wants to merge 3 commits into
Open
devin-ai-integration[bot] wants to merge 3 commits into
devin-ai-integration[bot] wants to merge 3 commits into
Conversation
Co-Authored-By: aiden@million.dev <aiden.bai05@gmail.com>
Contributor
Author
|
I'll fix CI failures and address comments from users with write access. I'll skip comments containing "(aside)".
Original prompt from Aiden
|
commit: |
Co-Authored-By: aiden@million.dev <aiden.bai05@gmail.com>
Contributor
Interactive terminal E2ETerminal Control verified the built CLI at
|
Co-Authored-By: aiden@million.dev <aiden.bai05@gmail.com>
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Add an FP-first mining loop to the private eval package so maintainers can review likely detector mistakes across a repository corpus:
--interval-minutesrepeats scans;--inputreuses a parity/eval artifact. Successful model responses are cached by evidence, detector, rubric, prompt, model and threshold; the issue log deduplicates across restarts. Standaloneclassify prepare/classify runcommands allow independent replay.Only complete v3 full-scan evidence at pinned revisions is accepted. Jev gets typed questions without the detector verdict; both answer confidence and context sufficiency must reach 0.9. Missing/oversized source becomes
review. FN sampling is opt-in (--silent-files); these are review candidates, not measured precision/recall. The candidate limit includes cache hits, so expanding coverage requires a larger limit or changed corpus.See
packages/evals/README.mdfor usage and artifacts. AI SDK versions are pinned with the explicitly approved version-specific dependency-age exceptions; the private eval package now requires Node 22.13+.Validation
Promise.withResolverswith an equivalent Promise barrier; assertions are unchanged.async-await-in-loopwarnings remain intentionally: source fetches are already scheduled concurrently, and result writes are serialized to preserve NDJSON record order.exits quietly when no react-doctor runner is available). Reproduced on untouched base260b448cd: the test's/usr/bin:/binPATH still exposes npx, which downloads/runs React Doctor and emits output instead of staying silent. No existing tests were changed.likely_tp, onecandidate_fn, onelikely_tn, onereview. The strict four-verdict calibration assertion failed: the expected FP was judgedvalidwith probability 0.99, but context sufficiency was 0.88, below the unchanged 0.9 threshold. This is a conservative abstention, not an API failure; the rubric still needs calibration before scaling.classify run: four cache hits, zero errors, zero newly billed input tokens. A fresh Daytona-to-Jev run remains unverified; these synthetic cases are not corpus evidence.Product brief
Job: Reduce manual review of diagnostics across large React repository corpora.
Reuse: Compose the existing Daytona evaluator and generated rule registry; keep the workflow in private eval tooling.
Signal: JSON summaries expose processed/cache/error/token counts and verdicts by rule. Use the candidate log for human-confirmed candidate yield; no repository/path telemetry is added.
Compatibility: FP-only default; no published CLI, report schema, score or Action change, so no changeset.
Kill metric: Rework or retire the rubric if fewer than 20% of reviewed candidates are confirmed after two corpus cycles with at least 50 reviews.
Link to Devin session: https://app.devin.ai/sessions/490c477d82c54b9786c13f1d5b79ab35
Open in Devin Desktop: https://app.devin.ai/desktop/session/490c477d82c54b9786c13f1d5b79ab35?variant=devin