Skip to content

Drive verify-graph with the Playwright CLI - #66

Merged
bracyw merged 5 commits into
mainfrom
verify-graph-playwright-cli
Oct 18, 2026
Merged

bracyw merged 5 commits into
mainfrom
verify-graph-playwright-cli

Conversation

@bracyw

@bracyw bracyw commented Oct 18, 2026 •

Copy link
Copy Markdown
Contributor

Changes

The Argos verify-graph skill now drives the graph page with playwright-cli (from @playwright/cli) instead of the Playwright MCP tools. Each branch gets its own browser session, so several branches can be verified side by side against one backend.

The base checks are scripted. check.sh opens the branch's session and runs check.js against a seeded run, and prints a checklist plus screenshots for the agent to judge. It checks that:

  • the page loads in real time
  • a topic picked from the tree draws live
  • the seeded run loads
  • historical Quick Select works
  • switching back to real time works
  • no console errors appear beyond develop's NG0100

The skill then points the agent at hand checks for whatever the diff touches, and gives the CLI patterns to drive them.

Supporting scripts, from running seven branches in parallel:

  • seed.sh makes one 50-hour run spanning two midnights in the local database, once and under a lock, and prints its id. Other sessions starting runs can't change what's checked.
  • select-run.sh picks a run by id. The run carousel autoplays, so "Select this Run" used to pick whichever run was showing. It replaces helpers.js, which is removed.
  • open.sh opens the branch's session with its output (snapshots, console logs) in pictures//, and its config plus any throwaway Playwright code in .playwright-cli//. It finds the preinstalled Chromium in cloud containers. The Argos workspaces now park .playwright-cli, so it is excluded from git like pictures.

run-local's serve.sh now claims its port under a short lock, so parallel runs stop picking the same port while ng serve starts.

Diagram

flowchart LR
  subgraph Before
    direction TB
    A1["agent"] -->|"Playwright MCP"| B1["clicks through all 7 groups by hand"]
    B1 --> C1["Select Run picks whichever run the carousel shows"]
    P1["parallel serve.sh"] -->|"both see the same port free"| X1["port collision"]
  end
  subgraph After
    direction TB
    A2["agent"] --> S["check.sh"]
    S --> SD["seed.sh: one 50-hour run, made once under a lock"]
    S --> O["open.sh: session per branch; output in pictures/branch, config in .playwright-cli/branch"]
    S --> CJ["check.js: 6 base checks"]
    CJ --> R["checklist + screenshots to judge"]
    R --> H["hand checks where the diff points: playwright-cli, select-run.sh"]
    P2["parallel serve.sh"] -->|"port claimed under a short lock"| U["one port each"]
  end
  Before ~~~ After
Loading

Testing

  • check.sh passes all 6 checks on develop (ApexCharts) and on the uPlot spike branch. I reviewed the screenshots: both draw the seeded run's day-boundary lines.
  • Three parallel serve.sh runs got ports 4200, 4201 and 4202. Three parallel seed.sh runs made one run.
  • ci/check.sh and tests/e2e.sh pass (117 checks) after rebasing onto 0.7.0.

Checklist

  • ci/check.sh and tests/e2e.sh pass
  • Version bumped if a .delphi/manifest.yml file changed (not applicable)
  • No merge conflicts
  • Request reviewers & ping on Slack

🤖 Generated with Claude Code

https://claude.ai/code/session_01PVbhpw5Qyzvh4MP7UgZJx9

@bracyw bracyw added the by: ai-assisted Written by a person with AI help label Oct 18, 2026 — with Claude
Swap the Playwright MCP calls for playwright-cli (one session per branch, so parallel
checks don't share a browser), and refresh the checks to match develop and the zenoh
simulator: BMS/Segment_Total_Volt/0 as the topic, the Quick Select historical range,
and develop's known NG0100 console errors as the baseline.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PVbhpw5Qyzvh4MP7UgZJx9
… run, per-branch browser output

serve.sh claims its port under a short mkdir lock, so parallel runs stop picking the same port while
ng serve starts. verify-graph gets scripts: seed.sh makes one 50-hour run spanning two midnights
(once, under a lock) and prints its id; select-run.sh picks a run by id in the autoplaying carousel;
open.sh opens a per-branch session with its output under pictures/<branch>/verify-graph/.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PVbhpw5Qyzvh4MP7UgZJx9
check.sh seeds the shared run, opens the branch's session and runs check.js: page load, a tree topic
drawing live, the seeded run, historical Quick Select, back to real time and new console errors. It
prints a checklist and screenshots to judge. The skill now points the agent at hand checks for what
the diff touches, with the CLI patterns to drive them. helpers.js is gone: select-run.sh replaced it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PVbhpw5Qyzvh4MP7UgZJx9
…throwaway code to .playwright-cli/<branch>/

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PVbhpw5Qyzvh4MP7UgZJx9
…nd throwaway code), so it's excluded too

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PVbhpw5Qyzvh4MP7UgZJx9
@bracyw
bracyw force-pushed the verify-graph-playwright-cli branch from f2a589d to 34f5d97 Compare October 18, 2026 16:07
@bracyw
bracyw marked this pull request as ready for review October 18, 2026 16:08
@bracyw
bracyw merged commit c6c3873 into main Oct 18, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

by: ai-assisted Written by a person with AI help

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants