The browser subagent cannot use more than one tab, so a five-seat check ran for an hour #118

Closed
opened 2026-10-01 23:13:28 -04:00 by cmoriarty · 1 comment
Owner

The same run as #116 (run_01M3WX1VW43K77HWNQ328RBGJK, agent.test.browser). The app under test is a five-player card game, so the check needs five players on screen at once. The browser subagent's tool list leaves out Playwright's tabs tool (13 of the server's 24 tools are allowed, trimmed in #17 for context cost), so the subagent drove five seats from one tab with window.open handles and evaluate, built DOM copies of the other tabs to screenshot, hit a stray seat in the room, and spent two runs of about 22 minutes each, 43 of the step's 60 minutes, on it.

Asked for:

  • Give the browser subagent the tabs tool, and tell it to open one tab per player or window instead of reaching into other pages from one.
  • Measure what the extra tool costs in context, and update the figures the shape floors are checked against.
The same run as #116 (run_01M3WX1VW43K77HWNQ328RBGJK, agent.test.browser). The app under test is a five-player card game, so the check needs five players on screen at once. The `browser` subagent's tool list leaves out Playwright's `tabs` tool (13 of the server's 24 tools are allowed, trimmed in #17 for context cost), so the subagent drove five seats from one tab with `window.open` handles and `evaluate`, built DOM copies of the other tabs to screenshot, hit a stray seat in the room, and spent two runs of about 22 minutes each, 43 of the step's 60 minutes, on it. Asked for: - Give the `browser` subagent the `tabs` tool, and tell it to open one tab per player or window instead of reaching into other pages from one. - Measure what the extra tool costs in context, and update the figures the shape floors are checked against.
Author
Owner

Shipped and deployed, and archived as browser-tabs. Commit a3182a9, live since ac2caaf (2026-10-02 05:12 UTC); production now runs 3bc80ce. The limit is doubled as asked.

  • The browser subagent has Playwright's tabs tool (list, open, switch, close). It costs 630 more characters of the subagent's tools (the allowed set is 9,881), and its instructions say to open one tab for each person a check needs and to switch between them, and not to reach into one page from another. The primary's prompt says to ask for one tab per person when a check needs several people at once. Tabs share one browser context, so they do not give two people separate cookies.
  • agent.test.browser goes from 3,600 s to 7,200 s in every built-in pipeline. A run keeps the pipeline it started with (#102), so only runs admitted from now on have it; the engine's retry of a time-out (#119) doubles the limit either way.

Seen on production: the resumed run's regenerated opencode.json lists the tool for the subagent. Not seen: the tool in use. The resumed attempt's primary was shown the previous subagent's note that its tools were pinned to one tab (true until this shipped) in the briefing of its resume, and wrote the window.open workaround into the new subagent's task. The briefing now ends its quoted reports with a line saying they describe what their writers had to work with then, and the browser check's step 3 tells the primary never to say the tools are pinned to one tab (91ad99f, deployed in 3bc80ce). Task 3.4 stays open in the archived change until a production browser check calls the tool. If the next one still opens its seats with window.open, reopen this.

Shipped and deployed, and archived as `browser-tabs`. Commit a3182a9, live since ac2caaf (2026-10-02 05:12 UTC); production now runs 3bc80ce. The limit is doubled as asked. - The `browser` subagent has Playwright's `tabs` tool (list, open, switch, close). It costs 630 more characters of the subagent's tools (the allowed set is 9,881), and its instructions say to open one tab for each person a check needs and to switch between them, and not to reach into one page from another. The primary's prompt says to ask for one tab per person when a check needs several people at once. Tabs share one browser context, so they do not give two people separate cookies. - `agent.test.browser` goes from 3,600 s to 7,200 s in every built-in pipeline. A run keeps the pipeline it started with (#102), so only runs admitted from now on have it; the engine's retry of a time-out (#119) doubles the limit either way. Seen on production: the resumed run's regenerated opencode.json lists the tool for the subagent. Not seen: the tool in use. The resumed attempt's primary was shown the previous subagent's note that its tools were pinned to one tab (true until this shipped) in the briefing of its resume, and wrote the `window.open` workaround into the new subagent's task. The briefing now ends its quoted reports with a line saying they describe what their writers had to work with then, and the browser check's step 3 tells the primary never to say the tools are pinned to one tab (91ad99f, deployed in 3bc80ce). Task 3.4 stays open in the archived change until a production browser check calls the tool. If the next one still opens its seats with `window.open`, reopen this.
Sign in to join this conversation.
No labels
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
cmoriarty/braid#118
No description provided.