turnling

Attributing Subagent Work in Coding-Agent Protocol Adapters

Rajasekhar Josyula  ·  Lakshmi Sravya Vedantham

Independent Researchers · Manuscript, 2026

Drawn from the paper. Each dot in the Turnstile scene is one schedule from Table I.

The problem

Editors reach coding agents through Agent Client Protocol (ACP) adapters, and some adapters tell the editor which files each request changed. A subagent can outlive the request that started it. When its late edit arrives, the adapter credits it to whichever request is current. The report then has the right request id and the wrong files, and the editor cannot tell.

What we found

We state the property such reports should keep, an origin-attribution invariant, and check it with Turnstile, which runs real adapter builds under event orders allowed by explicit models in hand-written scenarios.

581 of 956
Codex schedules in which the original adapter puts an edit made for A in B’s report
39 of 111
Claude schedules with the same failure
0
Codex schedules, in any scenario of Table I, where the dispatch-time patch puts an edit in the wrong report

Live runs with the real Codex and Claude Code CLIs show that these orders occur. They do not say how often.

Experimental repairs

Bind each child turn to the request that dispatched it, using a spawn or follow-up item. On Codex the dispatch-time patch removes every misattribution in Table I, but omits B’s own child edit in 226 of 996 sibling or grandchild schedules. When the link is uncertain, the adapter leaves the edit out and flags the report. Binding at the subagent’s start instead still fails in 174 of the 956 schedules.

The limit

On the typed Codex 0.160.1 wire, no adapter meeting the paper’s conditions attributes exactly in all legal executions: two executions can give the adapter identical input, yet an edit belongs to A in one and to B in the other. Truthful lineage available before reporting suffices for an ideal collector. Codex 0.162.0 adds rootTurnId to turn lifecycle messages; by our source reading, it supplies that lineage under the paper’s conditions.

On an extended provider stub, our lineage patch has no misattribution in 2,423 schedules, but omits own evidence in 34 registration-race cases. A separate edit–revert control also exposes an omission. These results do not establish that the patch is exact in every execution.

Citation

The paper is not yet published. A BibTeX entry will be posted here once it is; until then, please link to this page. Our tool, traces and patches are not yet public.