deploy-verifylisted
Install: claude install-skill iansteitz1-eng/aria-skills
# Deploy Verify — "did MY change actually go live?"
`aria-status` proves the stack is up. `aria-deploy` polls `/health`. **Neither
proves the change you just shipped is the code now running.** A green `/health`
with stale code is the exact trap that burned hours on 2026-06-03 — the edit was
staged but the process hadn't restarted, so the feature was never live.
This closes that gap: it asserts your wiring is present in the live file, imports
cleanly, and is in the **served** asset — then gives a single verdict. Standing
rule it serves: *nothing is fixed until verified in the running product.*
## Run it
Quick flags (compose freely; each repeatable where it makes sense):
```sh
python3 ~/.claude/skills/deploy-verify/deploy_verify.py --host <your-server> \
--health "localhost:9001/health::\"status\":\"ok\"" \
--grep "/opt/aria/ac_gateway/main.py::runner_provenance" \
--import-mod "runner_provenance::/opt/aria/ac_gateway" \
--served "localhost:9001/staycool::prov-badge" \
--journal "ac_gateway::5 min ago"
```
Or a reusable `checks.json` (a list of check objects) via `--checks checks.json`.
## Check types
| type | proves | fields |
|---|---|---|
| `health` | endpoint up + body shape | `url`, `expect` (default `ok`) |
| `grep` | your wiring is in the LIVE file on disk | `path`, `expect` |
| `import` | the new code loads in the service env | `module`, `cwd` |
| `served` | the change is in the **served** asset, not just on disk | `url`, `expect` |
| `journal` | no er