A Restart Is Not Permission: When an Agent Gate Forgets “No”
Cenab Batu Bora
Submitted to AI Incident Response Sprint. Sprint projects are early-stage work by participants, not Apart Research publications.
An agent gate decides whether a proposed tool call may run. This project shows how a restart can undo a recorded rejection in SoundGate 0.1.3, even when the decision’s bytes remain in its log. The failure occurs when a new decision is appended to an unfinished record: the next recovery skips the combined invalid line and forgets the restriction.
We implement a recovery barrier that repairs the log ending before accepting requests. Across 153 constructed histories per policy, 459 executions in total, the barrier preserved restrictions while allowing unrelated work in every history. Original recovery led to 143 prohibited tool executions. Strict refusal prevented these executions but refused 147 startups. The barrier also restored restrictions after 30 forced exits during recovery.
The project provides a reproducible failure case, a repair with explicit storage assumptions, and tests of both restriction enforcement and useful operation. These controlled tests cover one source revision; they do not estimate deployment failure rates or guarantee exactly-once tool execution.

Reviews
This is strong systems-security work with a clear failure scenario and a practical fix. I especially liked the separation between recorded permissions and what the tool actually executed, along with the recovery testing and independent execution receipts. The main question is how well this generalizes beyond this specific SoundGate version and storage model. Testing this with concurrent clients, distributed systems, storage failures, and other agent authorization frameworks would make the work much stronger.
I think the underlying bug is real, and the engineering investigation is impressively thorough. Testing every byte-prefix cut of multiple record types, interrupted recovery, injected storage failures, and separate evidence of actual tool execution goes substantially beyond simply noticing a malformed-log bug.
That said, I struggled quite a bit with the framing at the beginning. I did not initially understand what SoundGate was, what exactly a "restart" meant, or why this particular SoundGate failure mattered for the incident-response sprint. I think the introduction needs a much simpler setup first: SoundGate is an existing gate between an agent and its tools, it persists allow/reject decisions, restarting the gate process reloads those decisions from disk, and here is the condition under which a recorded "no" disappears.
For the innovation dimension, I was less convinced by the broader contribution. To me this looks primarily like a crash-consistency bug in one implementation of SoundGate, followed by a very careful patch and regression suite. The repair uses established WAL, synchronization, locking, and idempotent-recovery techniques, which the paper itself acknowledges.
I think the work would feel substantially more general if the artifact became a crash-safety testing framework for agent-control systems broadly, rather than a very deep investigation of one SoundGate revision. As written, I think the execution is strong, but I am less convinced by the broader incident-response impact. Great work though!
Read full reviewShow less
Cite this project
@misc{bora2026restart,
title = {{A Restart Is Not Permission: When an Agent Gate Forgets “No”}},
author = {Cenab Batu Bora},
year = {2026},
month = sep,
note = {Submitted to AI Incident Response Sprint, an Apart Research Sprint},
howpublished = {\url{https://apartresearch.com/sprints/projects/a-restart-is-not-permission-when-an-agent-gate-forgets-no-ga92}},
url = {https://apartresearch.com/sprints/projects/a-restart-is-not-permission-when-an-agent-gate-forgets-no-ga92}
}More from AI Incident Response Sprint
- 1st placeView project: Noticing the escapes: Who spots a runaway agent, and how long does it take?
Noticing the escapes: Who spots a runaway agent, and how long does it take?
The Escapees
In 2026, nine incidents became public in which AI agents escaped their environment and did something unauthorized to other parties. We analyzed all of these incidents and how they were noticed initially. None of these …
- 2nd placeView project: Strengthening International AI Incident Discovery
Strengthening International AI Incident Discovery
Team A-O-I
Mandatory AI incident reporting exists to make dangerous events visible to regulators while there is still time to act. We coded the six such regimes in force or set to be enforced soon from primary legal texts and …
- 3rd placeView project: When to Ask: An RL Environment That Teaches AI Agents to Act on What Users Mean and Not Just What They Say
When to Ask: An RL Environment That Teaches AI Agents to Act on What Users Mean and Not Just What They Say
Teachafy
When to Ask is a reinforcement-learning environment that trains AI agents to work out what the user actually means before they use a powerful credential, instead of just carrying out the literal instruction. Agents …