Per design invariant (a controller exits only on crash or admin kill), replace the self-abort recovery terminal (tasks 3.3/4.3/4.4) with a loud, permanent, non-promotable fence that stays alive and keeps retrying catch-up (self-heals on peer return; no manual admin recovery). Records the never-self-terminate invariant as project-wide guidance in src/controller/CLAUDE.md + .kiro/steering/ha-async-io.md. |
||
|---|---|---|
| .. | ||
| api-standards.md | ||
| build-deployment.md | ||
| error-handling.md | ||
| ha-async-io.md | ||
| product.md | ||
| roadmap.md | ||
| security.md | ||
| structure.md | ||
| tech.md | ||
| testing.md | ||