Skip to content

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

Open
2 of 3 issues completed
Open

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. kyle-sexton commented on Oct 24, 2026

    @kyle-sexton
    MemberAuthor

    Released for re-triage under the owner's 2026-10-24 rule: an issue stops for a person only for an intent or vision question, a security call, a host or attended run, or spend outside prepaid credit. The hold label came off and intake triage runs again now; it re-applies a hold, with a numbered question, when one of those applies.

    To hold this issue again, add needs-human (or status: needs-decision) and say why in a comment.

  5. added
    needs-triageNot yet classified. Floor until a type and one priority tier are set.
    priority: mediumReal value, no hard deadline; normal backlog flow.
    and removed
    needs-triageNot yet classified. Floor until a type and one priority tier are set.
    on Oct 24, 2026
  6. added
    status: readyTriaged, unblocked, and fully specified; eligible to pick up.
    work-class: scopedA briefed fix or small feature; blast radius bounded by the brief, tests exist.
    status: needs-decisionAwaiting a human or maintainer judgment call.
    on Oct 24, 2026
  7. melodic-automation-lanes commented on Oct 24, 2026

    @melodic-automation-lanes
    Contributor

    Not admitted to the issue lane yet: blocker #7571 is not closed by a listed human or a merge; sub-issue #8651 is open.

  8. melodic-automation-lanes commented on Oct 24, 2026

    @melodic-automation-lanes
    Contributor

    The latest triage verdict holds nothing: the issue is at status: ready.

  9. kyle-sexton commented on Oct 26, 2026

    @kyle-sexton
    MemberAuthor

    Released for re-triage under the owner's 2026-10-24 rule: an issue stops for a person only for an intent or vision question, a security call, a host or attended run, or spend outside prepaid credit. The hold label came off and intake triage runs again now; it re-applies a hold, with a numbered question, when one of those applies.

    To hold this issue again, add needs-human (or status: needs-decision) and say why in a comment.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    needs-specNeeds a Brief or plan before anyone can build it.priority: mediumReal value, no hard deadline; normal backlog flow.status: readyTriaged, unblocked, and fully specified; eligible to pick up.work-class: scopedA briefed fix or small feature; blast radius bounded by the brief, tests exist.

    Fields

    Work status

    needs-spec

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions