-
Notifications
You must be signed in to change notification settings - Fork 3
plat 028
github-actions[bot] edited this page Sep 20, 2026
·
1 revision
| Coordination | Value |
|---|---|
| Assigned agent | Codex |
| Ticket state | implemented |
| Last synchronized | 2026-08-04 |
- Priority: P1
-
Owner:
agent_go/pkg/browser/executor.go -
Evidence: an agent issued a CDP click with arguments equivalent to
["--cdp", "http://localhost:9222", "t2", "e64"]. The harness recognized baret2as the tab and selected it, but invokedagent-browserasclick t2 e64; the CLI then treatedt2as the element reference and failed withElement not found: t2. -
Root cause: bare-tab recovery mutated
commandArgsonly after those arguments had already been copied into the subprocess command. Selection and execution therefore observed two different argument lists. -
Implementation: recover the narrow, unambiguous bare
tNform during initial CDP normalization, before artifact/upload planning and subprocess construction. The recovered tab becomes routing metadata and is removed from page-action arguments. Recovery still ignores flag values such astype --text t7, and a call with no tab remains a hard error. -
Regression test:
TestAgentBrowserBareTabIsNotForwardedAsPageActionArgumentsends the exactt2+e64form through the real executor boundary and proves the final command selectst2but containsclick e64, neverclick t2 e64. -
Verification:
go test -count=1 ./pkg/browserandgo vet ./pkg/browserpass. -
Acceptance: the next real shared-CDP workflow may use either canonical
tab/--tabsyntax or the recoverable baretNform without forwarding the tab as an element selector. Missing-tab calls must still fail with the canonical retry guidance.
Auto-synced from docs/ on main. Edit there, not here.