Date: 2026-08-31
AutoCoder repeatedly reassessed identical self-improvement evidence, concluded no_changes, then created a remote branch and Gitea action anyway. The resulting stale action backlog saturated the three runners eligible for the Rust validation label. Kubernetes worker pods remained healthy; the authoritative AutoCoder task table showed no corresponding active Codex work after the storm ended.
deployment/autocoder-engine in namespace autocoder-engine was temporarily scaled from one replica to zero. This stopped new control-plane admissions while existing worker pods, PostgreSQL, Gitea, and queued Gitea actions continued normally. No runtime configuration was changed.
PR #2825 (6e7837727d192397c8b42d58ae83d93e25a20d8b) introduced one durable no-change decision per repository and exact evidence fingerprint. The fingerprint includes the default-branch revision, so unchanged evidence is reused while changed source is eligible for one reassessment. Planning tasks are read-only and have no issue branch; a branch can be published only after an implementation decision. Existing successful no-change cycles are backfilled into the decision table.
The normal main-branch workflow built and deployed gitea.app.lan/autocoder/autocoder-engine:sha-6e7837727d19. Because the backend deployment had intentionally been scaled to zero and manifests were unchanged, the image rollout preserved zero replicas. Incident response then removed containment by restoring the repository-defined single replica.
sha-6e7837727d19.6e783772 triggered exactly one revision-aware reassessment, cycle 54164; it finished no_changes in 96 seconds with a null task branch.8a7689f2, changing the default-branch revision and therefore triggering exactly one further branchless reassessment, cycle 54235; it also finished no_changes.Containment is fully removed and the backend is serving normally.