aiti-crash-fatal
Less than 1 minute
aiti-crash-fatal
Crash drill extension: verifies the pi-web extension crash self-healing/recovery chain. Three crash entry points (partial-crash philosophy: only one thing breaks at a time, each with backup / recoverable):
- 🧨 Crash extension startup:
POST /crash-extwrites the crash flag → after reload the startup throws → a ⚠ "startup failed" indicator appears at the bottom-left of the page (page/API/client all alive) →POST /restore-extidempotently clears and recovers (or recover from the ⚠ popup; auto-recovers after 60s) - 💥 Crash the page:
POST /corruptbacks upapp/page.tsxand writes in a render-throw version → refresh → 🚑global-errorrescue page →POST /restorerestores (falls back togit show HEAD:when the backup is missing) - 🧱 Crash the build:
POST /corrupt-buildinjects an import of a nonexistent export at the top ofcomponents/AppShell.tsx→ the Turbopack Build Error overlay takes over full-screen (compile errors happen before the React tree is built, so global-error can't catch them) → the rescue-hook 🚑 banner automatically guides to/rescue.html(static pages under public/ stay outside the compile graph) →POST /restore-buildrestores - Entry: the red 💥 Fatal button in the dev page's top toolbar (a custom copyable confirm dialog picks the scenario);
GET /statusshows each scenario's broken state - dev-isolation only: requests are 403-rejected outright when
NODE_ENV !== development; deploys only to~/.pi/web-dev/, never to production