#19969: feat: add per-release dual-lane release gate hunt toolkit
docs
scripts
size: XL
Cluster:
OpenClaw Plugin Enhancements
## Summary
- add a per-release hunt toolkit with dual lanes (`prod-observe` + `staging-chaos`)
- add release-gate orchestration script with T0-T4 phases and explicit gate status (`pass|warn|fail`)
- add deterministic runtime collector + schema-validated JSON/Markdown report renderer
- add hunt report types/schema and ops runbook docs
- add `pnpm` scripts: `hunt:collect`, `hunt:release-gate`, `hunt:staging-chaos`, `hunt:render-report`
## Why
OpenClaw updates are frequent; this introduces a repeatable release gate that can quickly detect regressions, classify findings, and produce reproducible evidence for issue/PR follow-up.
## Included behavior
- deterministic snapshot collection: version, status, listener probes, and signature counts
- staging chaos matrix: port collision, already-running guard, SIGUSR1 behavior, missing binary/env, transient network failure
- report schema (`HuntReportV1`) + markdown rendering
- baseline metadata support and known-issue allowlisting hooks
## Validation
Executed locally:
- `pnpm hunt:collect -- --label smoke --window-minutes 5 --output /tmp/openclaw-hunt-collect-smoke3.json`
- `pnpm hunt:staging-chaos -- --release 2026.2.17 --out-dir /tmp/openclaw-hunt-chaos-regression-20260218T103959Z --port 19807`
- `pnpm hunt:release-gate -- --release 2026.2.17 --skip-update --out-dir /tmp/openclaw-hunt-gate-full-20260218T104028Z`
- `pnpm hunt:render-report -- --input /tmp/openclaw-hunt-gate-smoke4/report-input.json --json-out /tmp/openclaw-hunt-gate-smoke4/re-render2.json --md-out /tmp/openclaw-hunt-gate-smoke4/re-render2.md`
Also validated shell syntax and formatting for added files.
## Notes
- release-gate defaults to launchagent-safe restart behavior (`launchctl bootout ... || openclaw gateway restart`), with command override support.
- staging chaos uses `gateway.mode=local` and isolated config/home to avoid cross-lane interference.
<!-- greptile_comment -->
<h3>Greptile Summary</h3>
Adds a per-release dual-lane hunt toolkit with `prod-observe` and `staging-chaos` lanes, including a release-gate orchestration script (T0-T4 phases), a deterministic runtime snapshot collector, chaos fault injection scenarios, schema-validated JSON/Markdown report rendering, and supporting types and documentation.
- The toolkit structure is well-organized with clear separation between collection, orchestration, chaos testing, and rendering
- Shell scripts follow existing repo conventions (bash with `set -euo pipefail`, Node heredocs for complex logic)
- TypeScript types and JSON schema are consistent and properly strict (`additionalProperties: false`)
- `artifacts/hunt/` output directory is **not in `.gitignore`**, risking accidental commits of local gate artifacts
- Staging chaos `stopChild` sends signals to the bash wrapper PID rather than the actual gateway process, which could leave orphaned processes on the staging port
- Gate status logic treats all classifications (including `resolved`) as warnings, which could prevent the gate from ever returning `pass` once classifications exist
<h3>Confidence Score: 3/5</h3>
- Mostly safe to merge for its intended use as a local ops tool, but has process cleanup and gitignore gaps that should be addressed
- The toolkit adds new operational scripts that don't affect the core application runtime. However, the orphaned process risk in staging-chaos and the missing .gitignore entry are concrete issues. The gate status logic has a correctness concern with resolved classifications. The code is otherwise well-structured and follows repo conventions.
- Pay close attention to `scripts/hunt/staging-chaos.sh` (process cleanup) and `scripts/hunt/run-release-gate.sh` (gate status logic). Also `.gitignore` should be updated.
<sub>Last reviewed commit: e8673e9</sub>
<!-- greptile_other_comments_section -->
<sub>(5/5) You can turn off certain types of comments like style [here](https://app.greptile.com/review/github)!</sub>
**Context used:**
- Context from `dashboard` - CLAUDE.md ([source](https://app.greptile.com/review/custom-context?memory=fd949e91-5c3a-4ab5-90a1-cbe184fd6ce8))
- Context from `dashboard` - AGENTS.md ([source](https://app.greptile.com/review/custom-context?memory=0d0c8278-ef8e-4d6c-ab21-f5527e322f13))
<!-- /greptile_comment -->
Most Similar PRs
#20561: feat: add Sisyphus-style orchestration features
by dfggggx198601 · 2026-02-19
72.5%
#15757: feat(security): add hardening gap audit checks
by saurabhsh5 · 2026-02-13
71.7%
#10894: Docs: fix legacy branding, add config reference, expand cron troubl...
by biv0711 · 2026-02-07
71.6%
#8713: feat: gateway memory monitor, install linger, docs and failover
by quratus · 2026-02-04
71.5%
#12234: gateway: incident tracking, recover command, and ciao ERR_SERVER_CL...
by levineam · 2026-02-09
71.4%
#20081: feat: post-compaction triage UX — fuzzy ok + stage-2 gate + Discord...
by PrivacySmurf · 2026-02-18
70.9%
#6512: Claude/setup open claw agent f v sqk
by franelcisco · 2026-02-01
70.6%
#11915: Docs: Docker + reverse proxy deployment notes and pairing pitfalls
by walshd1 · 2026-02-08
70.0%
#10367: CLI/Ops: resilient browser fill + failover hardening + operations t...
by cluster2600 · 2026-02-06
69.9%
#9914: fix(hooks): resolve bundled hook dist paths and packaging checks
by zimmra · 2026-02-05
69.8%