chore(verify): rebuild the verify skill around the sim harness as an agent-agnostic tree at tools/verify, with a capture helper and a feature map - #889
Conversation
… capture helper and a feature map The skill predated the Playwright suite in tools/simulation/ui that every revamp PR now verifies with, and it had no doctor step, no evidence standard, no cleanup discipline and no feature map. It now launches and doctors the cluckwork-sim stack, drives it through the harness's own fixtures and catalog labels, states the proof standards, ships capture.sh (four 1:1 frames of a route on the demo farm, throwaway spec removed after), and maps the five features the smoke suite already covers. The dev-server path stays as the debugging section. .gitignore's carve-out for .claude/skills/verify/ never applied: git cannot re-include a file under an excluded directory, so the parent rule becomes .claude/skills/* and the negation now bites.
|
@coderabbitai review |
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
The slug, prefix and route are interpolated into a generated Playwright spec and a /tmp path; a slug with quotes or braces became code and one with a separator escaped the directory. Each argument is now validated against a fixed alphabet before anything is written.
|
Security review (commit hook) flagged capture.sh: the slug and route were interpolated into the generated spec and the /tmp path unvalidated (code injection, path traversal). Fixed in 2e4f7d6: each argument is held to a fixed alphabet before anything is written; |
…parses it The unquoted & in the =~ pattern was a syntax error at parse time, so every invocation exited 2, the previous commit included. The patterns live in variables now; rejections and a real capture re-proven.
|
Correction: 2e4f7d6's route pattern was a bash parse error (an unquoted |
|
@coderabbitai review |
|
…symlinked into each agent's skill directory, and name it in AGENTS.md The tree is repo knowledge (stacks, ports, fixtures, proof standards), not Claude knowledge, and Codex never looked under .claude. It now lives at tools/verify/; .claude/skills/verify, .codex/skills/verify and .agents/skills/verify are tracked symlinks to it, with the gitignore parent rules ending in /* so the carve-outs apply. AGENTS.md carries the one-paragraph rule pointing at it.
|
@coderabbitai review |
|
…issing, and rejects . and .. slugs Codex CLI review of #889: the trailing || true swallowed every Playwright failure and the following ls returned 0, so the helper could report success with no evidence; and the slug alphabet admitted . and .., so /tmp/.. resolved to /. The exit status now propagates, all four frames must exist, and a slug must start alphanumeric.
|
Review round (CodeRabbit rate limited; local Codex CLI review of
Re-proven: |
Summary
The
verifyskill predated the Playwright suite intools/simulation/ui/that every revamp PR now verifies with, and it had no doctor step, no evidence standard, no cleanup discipline and no feature map. This rebuilds it around the sim harness:cluckwork-simstack (bootstrap,sg dockerreset, theFarms:ready marker, the four doctor checks including "was the image built from this checkout's head").signIn, the cast personas,tEn,commitNamedPicker, the two viewport projects), with the two-farm rule: captures onreadme-farm, write flows ondefault-farm.capture.shtakes four 1:1 frames of a route (1280 and 390, light and dark) on the demo farm, prints console errors, and removes its throwaway spec.features/): Dashboard, Daily entry, Sales, Stock, Flocks, each with sub-features, the user's path, real handles from the existing specs, and the end state that proves it. The unmapped routes are listed for later..gitignore's carve-out!.claude/skills/verify/never applied, because git cannot re-include a file under an excluded directory; the parent rule is now.claude/skills/*, so the helper and the map are tracked as the comment intended.Proven once, per the skill's own steps
Doctor against the live stack (all healthy,
/health/ready200), thencapture.sh verify-skill-proof / readme: four frames in/tmp/verify-skill-proof/in 8 s, the throwaway spec gone afterwards,git statusclean, evidence still on disk after cleanup. The one console line it reports (a single 401 on the sign-in page's session probe) is documented as expected noise.Both image-pin guards green on the tracked markdown.
Docs-only PR:
webandimageskip by the #782 gate.