Committed operations artifact
OpenClaw 2026.7.1 recovery game-day evidence
This stable built route renders the committed, redacted evidence artifact verbatim. It is not a production claim, and the manual restore limitation remains part of the record.
# OpenClaw 2026.7.1 isolated recovery game-day
Status: PASS with one pinned-CLI limitation
Scope: disposable task-local sandbox only. No `~/.openclaw`, shared profiles, existing gateways, production, DNS, Cloudflare, real credentials, or outbound channel integrations were touched. The sandbox used fake token auth and Node 22.23.1 in Docker.
## Package identity
- Registry lookup: `openclaw@2026.7.1`
- Registry tarball: `https://registry.npmjs.org/openclaw/-/openclaw-2026.7.1.tgz`
- Registry integrity: `sha512-ge/Xss99CHAjPL/ikmH/UFoiOrjcxDB4sW3y9mhyCD+dYW3wzV7TKbAVdkrXFgAG2d2BjpJofP97zUZ+umxo8g==`
- Downloaded tarball SHA-512 (base64): `ge/Xss99CHAjPL/ikmH/UFoiOrjcxDB4sW3y9mhyCD+dYW3wzV7TKbAVdkrXFgAG2d2BjpJofP97zUZ+umxo8g==` — matches registry integrity.
- Real binary output: `OpenClaw 2026.7.1 (2d2ddc4)`
- Local install: `.recovery-gameday-final/runtime` (not global)
## Game-day results
1. Synthetic setup completed with local mode, loopback bind, port `19777`, fake token auth, workspace `/sandbox/home/workspace`, and no daemon/channels.
2. Known-good marker `KNOWN-GOOD-STATE-v1` created in the synthetic workspace.
3. Real CLI backup:
- Archive: `.recovery-gameday-final/backups/known-good.tar.gz`
- `openclaw backup create --output /sandbox/backups/known-good.tar.gz --verify --json`
- Output: `verified: true`, `assetCount: 2`, `entryCount: 22`.
4. Bounded bad mutation:
- Invalid JSON type rejected with rc `1`: `Config validation failed: gateway.port: Invalid input: expected number, received string`.
- Valid mutation changed `gateway.port` to `19778` and wrote marker `BAD-STATE-RECOVERY-MARKER`.
- `openclaw backup verify` still returned `ok: true`, runtimeVersion `2026.7.1`.
5. Restore semantics checked against the exact pinned binary:
- `openclaw backup restore ... --yes --json` returned rc `1`: `OpenClaw does not know the command "restore".`
- The bundled `docs/cli/backup.md` documents create/verify only; bundled refactor notes mention a restore command that is not registered by this published CLI.
- Adapted rollback without fabrication: verified the archive first, extracted its manifest-declared `payload/posix/sandbox/home/{.openclaw,workspace}` into a staging directory, quarantined the mutated directories, and replaced them from the archive.
6. Post-restore proof:
- Restored config gateway port: `19777`.
- Restored marker: `KNOWN-GOOD-STATE-v1`.
- Restored config byte-compared equal to the archive payload (`config_archive_cmp=0`).
- `config validate --json`: `{"valid":true,...,"warnings":[]}`.
- `backup verify --json`: `ok: true`, runtimeVersion `2026.7.1`, `assetCount: 2`, `entryCount: 22`.
- Gateway health: `ok: true`; loaded 8 plugins; plugin errors `[]`; config reload `active`.
- `doctor --lint --json --all --severity-min error`: `ok: true`, `checksRun: 51`, `findings: []`.
- `security audit --json`: `critical: 0`, `warn: 1` (expected loopback deployment warning: no trusted proxy list), `secretDiagnostics: []`.
7. Disposable gateway container removed; final port check showed no listener on `19777` or `19778`.
## Receipts
The raw command receipts, gateway log, verified archive, and staging/quarantine directories were kept under `.recovery-gameday-final/` during execution and removed after verification because they were disposable and contained synthetic state. This committed document is the durable redacted evidence artifact; its package integrity, command results, rollback comparison, and health results above are the retained receipt.
Limitation: exact `2026.7.1` package exposes no `backup restore` subcommand despite bundled refactor prose describing one. The fallback used only the verified archive manifest/layout and was exercised entirely against disposable paths.