Skip to content

feat(skills): add verify-backwave verification skill - #6

Merged
pdevito3 merged 1 commit into
mainfrom
fm/bw-verify-skill
Sep 27, 2026
Merged

pdevito3 merged 1 commit into
mainfrom
fm/bw-verify-skill

Conversation

@pdevito3

Copy link
Copy Markdown
Contributor

Summary

This change adds the project skill verify-backwave at .agents/skills/verify-backwave/. The .claude/skills symlink points to .agents/skills.

  • SKILL.md has these sections: Launch, Doctor, Drive, Evidence, Cleanup, Helpers, and Gotchas.
  • scripts/bwv is the run helper, with the commands launch, doctor, url, api, wait-job, browser, shot, sql, cleanup, and runs.
  • features/ holds the feature map with five dashboard features: jobs and job detail, failures and requeue, queue pause and resume, workflows, and the tag filter.
  • .gitignore adds .verify-evidence/.

The primary surface is the dashboard on Sample.Api with real jobs. The skill names the secondary surfaces: the Sample HTTP API and Swagger, the MCP server at /backwave-mcp, the BackWave.Demo host, Recurring Schedules, Observers, and Executing now. These surfaces have no recipe yet.

Isolation and cleanup

  • Each run has its own id, a free port, a scratch directory, and a SQLite file. With --store postgres, the run starts its own labeled Postgres container.
  • Each run has its own Chrome session and its own evidence directory, .verify-evidence/<run-id>/.
  • bwv cleanup stops only the PID, the browser session, and the container that the run recorded. It never stops a process by name. It keeps the evidence and copies the final SQLite file into db/.

End-to-end proof

Run 20260927-154937-57901 (SQLite, port 55831) drove the queue pause and resume feature through real clicks in the dashboard:

  1. bwv launch built the sample and printed READY. bwv doctor showed ok on every line.
  2. A warmup job on critical reached Succeeded. The Queues page then showed critical and limited as Claiming (ui/pause-before-2.png).
  3. A click on Pause in the critical row redirected to the Overview. The Overview showed PAUSED QUEUES 1 critical (ui/pause-overview.png).
  4. A job enqueued on the paused queue stayed at state 0 (Scheduled), attempt 0, after 6 s (api/pause-stalled-job.json).
  5. A click on Resume redirected to the Overview with PAUSED QUEUES 0 (ui/resume-overview.png). The stalled job reached Succeeded 1 s later.
  6. db/pause-audit.txt has three rows: startup 5 limited, sample-operator 3 critical (Pause), and sample-operator 4 critical (Resume).
  7. bwv cleanup stopped the browser session and app PID 58101, and removed the scratch directory. bwv runs shows the run as cleaned with app-live=no. The evidence directory still holds 27 files.

The proof found two faults in the first draft of the skill. Both are now corrected in the skill:

  • A new run lists only limited on the Queues page. A queue shows only after it holds a job. The recipe now adds a job first.
  • bwv shot takes a snapshot, so it makes the earlier uids stale. A click on a stale uid failed with STALE_REF, and the page did not change. The Drive rules now say to take the snapshot and click at once.

A second run, 20260927-155247-77205, verified the other recipe claims in the browser:

  • The workflow list rows and the failing workflow graph. charge-payment is Dead-Lettered, and its dependents are Cancelled.
  • A member's job page has no link back to its workflow.
  • A requeue adds a Scheduled attempt-0 row and 3 new attempts, for 14 RECORDED rows.
  • The tag suggestions go tenant ›, then acme, then ?tk=tenant&tv=acme.

That run was cleaned up the same way.

Out of scope

This change has no product code changes.

Add a project skill that launches Sample.Api on a private port with its
own SQLite file or Postgres container. The skill drives the dashboard in
a private headless Chrome and keeps the evidence in .verify-evidence/.
Cleanup stops only what the run started.

Seed the feature map with five dashboard features: jobs and job detail,
failures and requeue, queue pause and resume, workflows, and the tag
filter.
@pdevito3
pdevito3 merged commit 4a5514f into main Sep 27, 2026
3 of 4 checks passed
@pdevito3
pdevito3 deleted the fm/bw-verify-skill branch October 7, 2026 21:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant