Attributing Subagent Work in Coding-Agent Protocol Adapters
Description
Coding-agent adapters can report a subagent's file edits against the wrong request. We find this defect in the open-source Codex and Claude adapters for the Agent Client Protocol (ACP): work dispatched for request A appears in request B's file-change report. We define an origin-attribution invariant and build TURNSTILE, a checker that runs real adapter builds against scripted providers and explores event orders in hand-written scenarios. The original adapters misattribute in 581 of 956 Codex and 39 of 111 Claude schedules; staged runs with real providers reproduce both defects. Binding children when they start still fails when a start or restart arrives during a later request. Dispatch-time binding removes the tested Codex misattributions but can omit legitimate work. For the typed Codex 0.160.1 interface, we give a source-grounded indistinguishability witness: under stated lifecycle and observation conditions, identical adapter input requires different correct reports. Truthful lineage available before reporting suffices for exact attribution. A patch using the newer rootTurnId field prevents misattribution across 2,423 schedules, but omits own evidence in 34 registration-race cases; a separate control exposes edit-revert omissions. A source screen of eight additional ACP implementations finds no further confirmed instance. The findings isolate a reporting failure at the adapter boundary and show why request identifiers alone do not establish the origin of delegated work.
Files
turnstile-paper.pdf
Additional details
Related works
- Is supplemented by
- Other: https://qxlsz.github.io/turnling-site/ (URL)