step-verify

A post-fix checklist for checking the application after a change, including logs, integration tests, regression checks, and deployment approval.

In plain words
What is it for?
Use it to restart the development service, inspect logs, repeat affected interactions, run the appropriate tests, and confirm the fix before rollout.
Why use it?
A passing test suite alone may miss runtime failures, new error messages, or problems in real chat interactions.

Command for Claude Code

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add commands/littlebearapps/untether/step-verify
Clone the repo
git clone --depth 1 https://github.com/littlebearapps/untether

Made for: Claude Code.

Per session 0 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 1,601 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 1 finding. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00000 $0.01601
Opus 5 $0.00000 $0.00800
Sonnet 5 $0.00000 $0.00320
Haiku 4.5 $0.00000 $0.00160

Measured 2d ago against content hash 695bcee83753, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

step-verify scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Runs shell commandslowCapability

Expected in a hook, worth knowing in a rule or an instructions file.

- The targeted event signature (e.g. `subprocess.liveness_stall`) — should
.claude/commands/debug/step-verify.md · 170 lines

How it starts

The opening of the file, as written. The whole thing — 170 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Step 8 — Post-fix health check

Confirm the fix worked. Confirm no regression. Attest. Roll the fleet only after the gate is satisfied.

This file expands the parent command's Step 8 summary. The "fix is verified" bar is high — a passing test suite is necessary but not sufficient.

1. Restart untether-dev and tail logs

# NEVER restart untether.service (staging) here. Always untether-dev.
systemctl --user restart untether-dev
journalctl --user -u untether-dev -f

In the tail, watch for:

  • The targeted event signature (e.g. subprocess.liveness_stall) — should be absent for sessions exhibiting the same input shape that previously triggered it.
  • New error signatures — if you fixed one thing and broke another, the new signature surfaces here.
  • Auto-continue chatter — should be quiet for normal completions; firing only when the upstream Claude bug surfaces (last_event_type=user).

If the fix is for a chat-side issue (control-channel, telegram-transport), also re-run the affected interaction via @untether_dev_bot and confirm visually.

2. Run integration tests at the right tier

From docs/reference/integration-testing.md and .claude/rules/release-discipline.md:

Change scope Required tiers Time
Patch (bug fix) Tier 7 (command smoke) + Tier 1 (affected engine + Claude) + relevant Tier 6 (stress) ~30 min
Minor (new feature) Tier 7 + Tier 1 (all 6 engines) + Tier 2 (Claude interactive) + Tier 3 (transport if changed) + Tier 4 (overrides if changed) + Tier 6 + upgrade path ~75 min
Major (breaking) ALL tiers (1–7), ALL engines, full upgrade path ~120 min

Integration tests are automated via Telegram MCP tools (send_message, get_history, list_inline_buttons, press_inline_button, reply_to_message, send_voice, send_file) + Bash (journalctl, kill -TERM, FD/zombie checks). Chat IDs in testing-conventions.md §Integration testing via Telegram MCP.

Use @untether_dev_bot. NEVER test on @hetz_lba1_bot (staging) until dev tests pass.

Read the full file on GitHub · 170 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 170 lines · 0 tokens per session scan A 695bcee83753

Subscribe to this mod's changes

step-verify is a command published in the GitHub repository littlebearapps/untether (66 stars, last pushed 3d ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 1,601 tokens. A static security scan graded it A with 1 finding (runs shell commands). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.