[GH-ISSUE #5488] [Feature] Add a validation-only command for browser scenario files #3340

Closed
opened 2026-10-31 00:39:20 +00:00 by bsakaguchi · 1 comment
Owner

Originally created by @jayykernel on GitHub (Oct 20, 2026).
Original GitHub issue: https://github.com/morluto/rea/issues/5488

Originally assigned to: @kaoru0822-kitauji on GitHub.

Problem

Browser scenarios contain actions, selectors, storage seeds, secret references, and other structured inputs. Users may want to catch a typo or invalid cross-reference before launching a browser or changing a page's state.

Proposed change

Provide an explicit validation-only workflow for browser scenario JSON. It should reuse the same canonical schema and semantic validation used by scenario execution, but must stop before browser discovery, launch, attachment, or navigation.

Acceptance criteria

  • The command reports schema and semantic errors with field paths and actionable messages.
  • It validates duplicate step IDs and undeclared secret references using the same rules as execution.
  • A valid scenario exits successfully without launching or attaching to a browser.
  • It does not resolve or print secret values.
  • Boundary tests verify that validation does not invoke browser/provider factories.

This is a convenience feature, not a claim that scenario execution skips existing validation.

Originally created by @jayykernel on GitHub (Oct 20, 2026). Original GitHub issue: https://github.com/morluto/rea/issues/5488 Originally assigned to: @kaoru0822-kitauji on GitHub. ### Problem Browser scenarios contain actions, selectors, storage seeds, secret references, and other structured inputs. Users may want to catch a typo or invalid cross-reference before launching a browser or changing a page's state. ### Proposed change Provide an explicit validation-only workflow for browser scenario JSON. It should reuse the same canonical schema and semantic validation used by scenario execution, but must stop before browser discovery, launch, attachment, or navigation. ### Acceptance criteria - The command reports schema and semantic errors with field paths and actionable messages. - It validates duplicate step IDs and undeclared secret references using the same rules as execution. - A valid scenario exits successfully without launching or attaching to a browser. - It does not resolve or print secret values. - Boundary tests verify that validation does not invoke browser/provider factories. This is a convenience feature, not a claim that scenario execution skips existing validation.
Author
Owner

@kaoru0822-kitauji commented on GitHub (Oct 25, 2026):

Picking this up. Planned shape: rea capture-browser-scenario <json> --dry-run (same argument and JSON/path resolution as execution) that stops before any provider is created:

  • runs browserScenarioSchema (schema plus duplicate step/secret IDs and undeclared secret references, the same rules execution uses), and returns the same projected input error with field paths;
  • checks that each declared secret's environment variable is present, using the rule execution applies at session open, now shared from one owner. It never reads values into the report and never prints them;
  • on success, returns a compact plan (browser mode, start URL origin, step IDs and action kinds, secret IDs with availability) plus an explicit not_checked list (discovery, launch or attach, navigation, selector resolution), so it doesn't overclaim.

CLI only for now. An extra MCP tool would add catalog tokens for every agent, while MCP capture_browser_scenario already rejects invalid input before launching. Happy to add one if maintainers prefer.

<!-- gh-comment-id:6396171632 --> @kaoru0822-kitauji commented on GitHub (Oct 25, 2026): Picking this up. Planned shape: `rea capture-browser-scenario <json> --dry-run` (same argument and JSON/path resolution as execution) that stops before any provider is created: - runs `browserScenarioSchema` (schema plus duplicate step/secret IDs and undeclared secret references, the same rules execution uses), and returns the same projected input error with field paths; - checks that each declared secret's environment variable is present, using the rule execution applies at session open, now shared from one owner. It never reads values into the report and never prints them; - on success, returns a compact plan (browser mode, start URL origin, step IDs and action kinds, secret IDs with availability) plus an explicit `not_checked` list (discovery, launch or attach, navigation, selector resolution), so it doesn't overclaim. CLI only for now. An extra MCP tool would add catalog tokens for every agent, while MCP `capture_browser_scenario` already rejects invalid input before launching. Happy to add one if maintainers prefer.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
morluto/rea#3340
No description provided.