At one inverter SAFETY-52's "another writer" end tested target != loop_w. A held refusal makes the loop ask 0 W, so any binding claim (maintenance charge, peak guard, trade) ended it every cycle, and compute() learned it again in the same cycle: "BATTERY REFUSES" / "ENDED: another writer" each second on the rig. Now the held refusal is judged afresh against the writer's ask (compute() gets the same inputs as before); it ends only if compute() no longer finds it. Commands unchanged: 300-seed differential trace against release/1.0, N=1 and N=2, every command and refusal state identical. DECISIONS/SAFETY-107. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Bdqr7PiaHcBnzPituu2yTC