[Feat] Add bounded Jev screenshot preparation - #3057
Draft
roomote-roomote[bot] wants to merge 14 commits into
Draft
roomote-roomote[bot] wants to merge 14 commits into
roomote-roomote[bot] wants to merge 14 commits into
Conversation
Contributor
|
No new code issues found. See task
Reviewed e29910b |
Contributor
Author
Final lifecycle/visual acceptance fix is in [commit e29910b](https://github.com/RooCodeInc/Roomote/commit/e29910b2ed9d93c025dd06eb46b193a4d880bd7f).
The review thread is resolved. The PR remains a draft. See the associated task: https://community.roomote.ai/task/27wpnvcecmzbg?utm_source=github-comment&utm_medium=link&utm_campaign=github_pr_review |
…t-preparation-0wuo6fxyuv95i
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.
What changed
prepare_screenshotRoomote MCP tool and authenticated task-run API route for bounded screenshot preparation.navigateaction descriptions before they enter the allowed-action state sent to Jev.benchmark:screenshot-preparationharness with a fixed 1280x800 fixture requiring tab selection, form fill, dialog opening, below-fold scroll, and final save, plus explicit DOM/image acceptance and JSON timing output.loopIdacross all benchmark phases and recorded the independently accepted capture through the boundedrecordpath.capture-readyJev decision on that same loop before screenshot acceptance andrecord accepted.record acceptedon an explicit post-run visual inspection result; otherwise the harness reports DOM acceptance andvisual-inspection-requiredwithout recording success.capturePath,accepted, and post-captureinspectedAttimestamp.agent-browseras the real UI executor and exact final screenshot inspection as the acceptance gate; documented the prototype in the capture workflow and environment configuration.Why this change was made
Jev is text-only but accepts structured JSON state, so it can help choose relevant bounded browser preparation actions without putting screenshots or browser execution behind the decision model. The existing visual-proof flow remains the default, the prototype is disabled unless both the deployment flag and task opt-in are present, and state sanitization now enforces the no-secret boundary rather than relying on prompt guidance.
Impact
The new path is isolated to screenshot preparation and fails back to the existing capture flow when Jev is unavailable, uncertain, stale, or over budget. The complex develop baseline completed 5/5 runs with visually accepted final PNGs; warm medians were 845.9 ms preparation, 78.4 ms capture, and 2,585.2 ms total. The PR prototype reached four genuine Jev-guided actions, consuming 6,723 input and 178 output tokens in the diagnostic attempt, but stopped at the final save action because the model remained low-confidence; no valid Jev-guided comparison or speedup claim is reported. The harness now explicitly requests
capture-ready, permits post-capture recording after the preparation budget when capture-ready was reached, and only records acceptance after a post-capture exact-PNG result manifest; DOM-only runs remain unrecorded. The provider probe used a temporary process-only OpenRouter selection; no TypeSafe key, stored judgment selection, or persistent prototype flag is configured. The JSON baseline report is attached as a task artifact, and USD pricing is not inferred when the provider does not report it.