zerg-testinglisted
Install: claude install-skill cipher982/longhouse
# Zerg Testing
## Rules
- Always use Make targets. Never run pytest/bun/playwright directly.
- A proof run is incomplete while its provider process, Longhouse session,
simulator/browser tab, scratch `HOME`, relay, or dev service is alive.
- Create every test/QA session with an explicit hidden `launch_surface`; never
use a human-looking project/title and rely on naming to hide it. Hidden launch
provenance is not the same as user timeline hiding.
- Before a QA cleanup receipt can pass, retire every exact Runtime Host session
owned by the run: set timeline visibility to hidden, archive it, and verify
the session ID is absent from the served agent inventory. Record
`canary_session_hidden: true` in the receipt. `include_test=true` diagnostic
surfaces can still expose a merely launch-hidden session.
- Provider probes must use `--no-session` or an explicitly disposable
`--session-dir`; never let a verification command write to David's default
provider archive. If a protocol ignores that flag, record the exact native
session path and remove it in the same `finally` block.
- Every disposable proof run must allocate unique `mktemp -d` roots, record every path/PID it owns, and install an `EXIT/INT/TERM` trap; fixed `/tmp` names and untracked scratch files are prohibited.
- Treat reparented descendants as still run-owned: a provider, bridge, shipper,
catalog daemon, or verification server whose parent is PID 1 is not cleaned
up. Record exact PID/PGID at launch,