Task · SKT-0153.03.04.02

Refuse an Agent Observability apply whose teardown the custody budget would refuse

Description

Found by loop52 plan review rvplan2 from gaterun run-a.out R4 (codex/loop52/REPLAN/): the engine admits apply of 20 and 22 resources whose later teardown is refused at the Start commit (phase=teardown, after teardown-preview passed). Under create-only provisioning this strands permanent objects. A no-op re-apply also grows state (32,803 -> 41,889 bytes), so the post-apply document must include planned no-ops and one recovery.

Acceptance Criteria

Definition of Done

Implementation Plan

Independently review final inherited refusal forecast and corrected command proofs; preserve frozen revisions and budget logic.

Implementation Notes

Landed a1caa1b01c1fad14f5204e46b9c0d42ec8b6f2b7 after guarded final review PASS; encoded maximum IDs, generation reserve and canonical checksum sizing preserved. Complete CodeRabbit six paths, zero findings; exact tree 3ef641f passed remote composed just check run 20261023T084522Z-synthkit-ed14d240 including race. Red/green canonical refusal and TLS zero-request proofs retained. No budget/revision/codec/runtime-admission change; canonical single-teardown and bounded recovery limits remain. Generation/dump not applicable: no schema input or renderer change.

Final Summary

Apply preview and authority publication now reserve custody for a canonical teardown before management requests; no-op reapply and recovery forecasts included. Max-encoding and generation/checksum edge regressions covered; unchanged accepted candidate and concise operator/canonical docs landed. Exact remote full gate and guarded/CodeRabbit reviews passed.

View the source file on GitHub