Skip to content

testing: one named tool per job for browser and profiling #7580

Closed
3 of 3 issues completed
Closed

Description

@kyle-sexton

Parent

Refs #7555. Source: PLAN Phase 13 (first item), topic poteto-review. Thread: Tool per job (browser
and profiling).

Depends on

Outcome

Each job names one tool through a setting with a named default (browser_driver: playwright-cli):
skills check the tool resolves and stop if it is missing, and heap and trace analysis run in
analyze-profile's SQLite converter, with no MCP handoff.

Decisions

  • One named tool per job, no MCP handoff: heap compare and trace analysis in analyze-profile's SQLite
    converter; playwright-cli with CDP sessions for driving and capture; skills name the command,
    check it resolves, stop if missing, and say other browser tools are not substitutes (Q561).
    Origin: Lauren's (Playwright plus CDP), owner's ("follow Lauren or better").
  • Tool per job is a setting with a named default (e.g. browser_driver: playwright-cli), read
    through the adapter; when the default is missing, use the tool the user has, pick one per run and
    say which, never rotate mid-run (Q569). Setting scope: repo.
  • Rejected: Chrome DevTools MCP as a handoff (its artifacts still accepted as input); Claude in
    Chrome; Playwright MCP; Puppeteer CDPSession or chrome-remote-interface; memlab and agent-browser
    until a run shows the converter cannot answer.
  • Research tags: skill disallowed-tools with an MCP server-wide pattern; the converter on a large
    heap; Cursor support for disallowed-tools (assumption 6, Q579).
  • This thread closes with the app-control thread's first slice (tool-per-job-setting).

Key interfaces

Variation verdicts: "Browser driver and profiling tools: abstract now; tool-per-job setting read
through the adapter; one named tool, no MCP handoff (Q561, Q569)." Settings: "Tool per job (e.g.
browser_driver: playwright-cli), repo."

Done when

  • Child debugging: probe disallowed-tools MCP pattern and large-heap converter #7593 carries a Probe result: comment for both parts.
  • The tool-per-job setting resolves through the config cascade with default
    browser_driver: playwright-cli, and a skill that reads it stops with a named message when the
    tool is missing (a test shows both).
  • Every slice sub-issue is closed by a merged PR.

Out of scope

  • The app-control plugin and capture move (app-control thread).

Activity

  1. added
    needs-humanHuman-in-the-loop required; autonomous sessions must not resolve items carrying this.
    on Oct 16, 2026
  2. github-actions commented on Oct 16, 2026

    @github-actions
    Contributor

    Proposed work class: work-class: scoped
    Basis: automated intake triage; the lanes App applied this class.

    Size: Medium
    Complexity: Medium
    Uncertainty: Knowable
    Flags: none
    Blocked by: #7571, #7593

    I understand this as adding a per-job tool setting (default browser_driver: playwright-cli) that resolves through the config cascade. Skills that read it would stop with a named message when the tool is missing. Heap and trace analysis would stay in analyze-profile's SQLite converter, with no MCP handoff. The decisions and done-when items are specific, so I found no open intent question. The work depends on #7571 (settings resolution) and on the #7593 probe result. I found no likely duplicates in the open issues I was given.

    Automated triage, applied by the lanes App.

  3. removed
    needs-humanHuman-in-the-loop required; autonomous sessions must not resolve items carrying this.
    on Oct 24, 2026
  4. 14 remaining items

  5. added
    admission-deferredAdmitted but waiting for WIP room; the hourly work-unblock sweep labels it agent-ready.
    agent-readyFully specified and briefed; eligible for autonomous pickup from the frontier.
    and removed
    admission-deferredAdmitted but waiting for WIP room; the hourly work-unblock sweep labels it agent-ready.
    on Nov 1, 2026
  6. kyle-sexton commented on Nov 1, 2026

    @kyle-sexton
    MemberAuthor

    Issue Triage session: removing agent-ready from this split parent; it waits on its open sub-issue #8651 (host-run), and lane runs on it no-op (run 41293763892).

  7. removed
    agent-readyFully specified and briefed; eligible for autonomous pickup from the frontier.
    on Nov 1, 2026
  8. kyle-sexton commented on Nov 4, 2026

    @kyle-sexton
    MemberAuthor

    Status.
    Agent choice, not an owner answer.

    Intent: each job names one tool through a repo-scoped setting with a named default (browser_driver: playwright-cli), skills stop by name when it is missing, and heap and trace analysis stay in analyze-profile's SQLite converter with no MCP handoff (this issue's Decisions, from Q561 and Q569 in the poteto-review interview ledger). The owner's 2026-10-20 dispositions round put one more slice under this issue, D9: pr-verify runs the project's own app-control skill after the deterministic tests (#7555 (comment)), filed as #8651. Two of the three Done-when items are met on main; the third waits only on #8651.

    Met:

    Remaining, kept out of the lane checklist: "every slice sub-issue is closed by a merged PR" waits on #8651, which edits the pr-verify workflow and carries host-run. That is session-builder work (Automation Lanes), not a lane PR on this issue. No other lane work remains here; this issue closes when #8651 closes by a merged PR.

    needs-spec is satisfied by this record.

  9. removed
    needs-specNeeds a Brief or plan before anyone can build it.
    on Nov 4, 2026
  10. self-assigned this
    on Nov 6, 2026
  11. kyle-sexton commented on Nov 6, 2026

    @kyle-sexton
    MemberAuthor
    No description provided.
  12. kyle-sexton commented on Nov 6, 2026

    @kyle-sexton
    MemberAuthor
    No description provided.
  13. kyle-sexton commented on Nov 6, 2026

    @kyle-sexton
    MemberAuthor

    Close audit against origin/main 41f3a2bc48 (hub H94): 2 of 3 done-when met; the third is blocked outside this issue.

    Done when State Evidence
    #7593 carries a Probe result: for both parts Met #7593 closed completed; probe results recorded there
    browser_driver resolves through the cascade with default playwright-cli; a skill stops by name when it is missing; a test shows both Met plugins/testing/scripts/resolve-config.sh:258 (def=playwright-cli); plugins/testing/skills/run-e2e/SKILL.md:200 runs check-browser-driver.sh, which stops naming the setting, value and source (check-browser-driver.sh:35-37); resolve-config.test.sh:510-521 covers the default and the layer order. Delivered by #8720 (closes #8539)
    Every slice sub-issue closed by a merged PR Not met Sub-issues: #7593 closed, #8539 closed, #8651 open. #8651's own done-when is graded fully ticked (comment), but it closes only after #11364, which waits on #13757's PRs (#13762, #13765, #13774) and one live capture once PR_VERIFY_CLAUDE_API_KEY has credit

    Heap compare stays in analyze-profile's converter (plugins/debugging/skills/analyze-profile/SKILL.md:129-131), with no MCP handoff, as the Decisions require.

    Nothing for a lane to build here. #8651 and #11364 belong to the dedicated App Driven PR Verify session. This issue closes when #8651 closes. Lane 5 is releasing its lease.

  14. removed
    status: readyTriaged, unblocked, and fully specified; eligible to pick up.
    on Nov 7, 2026
  15. kyle-sexton commented on Nov 7, 2026

    @kyle-sexton
    MemberAuthor

    Closing record. All three done-when boxes are met, checked on main:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

priority: mediumReal value, no hard deadline; normal backlog flow.work-class: scopedA briefed fix or small feature; blast radius bounded by the brief, tests exist.

Fields

Work status

ready

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions