Release/v0.2.3#8
Merged
Merged
Conversation
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
This was referenced May 5, 2026
Merged
kalil0321
added a commit
that referenced
this pull request
May 6, 2026
…item 5)
Lets agents and CI wrappers sanity-check inputs (prompt, url, config,
env vars, deps, output dir writability) without launching a browser
or burning LLM tokens. Implies --json since --dry-run is fundamentally
about machine-parseable validation.
Output shape: same top-level fields as `agent --json` (schema_version,
status, run_id=null, prompt, url, mode="dry-run", error, error_kind)
plus:
- `would_run` sub-object: agent_provider, sdk, model, output_dir,
headless — what an actual `agent` invocation would do
- `checks` array: one entry per validation step with name, status
(ok | warn | error), and a human message
Validations:
1. prompt non-empty
2. url is http(s):// if provided
3. agent_provider in {auto, chrome-mcp}
4. SDK env var present (warn — SDK may resolve auth elsewhere)
5. node binary in PATH (required by both MCP servers) + version
6. chrome-mcp without --headless: warn that auto-connect needs Chrome
146+ with remote-debugging enabled (not auto-checkable)
7. output_dir writable (probe-write-and-delete)
Aggregate status is `error` if any check is `error`, otherwise `ok`.
Error kinds are `misuse` for prompt/url issues, `config_invalid` for
env/deps/output_dir issues — matching the schema-v1 error_kind enum.
Tests: 6 new in TestAgentDryRun covering: ok path, missing prompt
(misuse), bad url (misuse), unwritable output_dir (config_invalid),
that run_agent_capture is NOT called under --dry-run, and --help
mentions the flag with "Implies --json".
Closes the last medium-priority blocker on issue #62. Item #8
(`run --json` wrapped) intentionally deferred — orthogonal surface.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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.
Greptile Summary
This release (v0.2.3) includes version management improvements, logging cleanup, and installation documentation updates. The version is now dynamically imported from
__version__instead of hardcoded strings, external logs frombrowser-useandclaude-agent-sdkare suppressed, and the README provides clearer instructions for installingbrowser-usefrom git.Key changes:
opencode_ui.pyand HAR creator metadata by importing from__init__.pybrowser-useby setting environment variable and using a dedicated suppression functionclaude_agent_sdkinengineer.pyandutils.pyT)browser-usefrom PyPI dependencies in favor of git-based installationfinal_result()methodIssues found:
final_result()call on line 791 ofbrowser.pyassumes it's a method, but if it's actually a property in thebrowser-useAPI, this will cause an errorConfidence Score: 4/5
browser.pythat callsfinal_result()as a method needs verification against thebrowser-useAPI - if it's a property rather than a method, this will cause runtime errors. The environment variable for logging may also not work as expected if set after imports.browser.pychanges work correctly with the browser-use API, especially thefinal_result()method callImportant Files Changed