You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Oct 23, 2026. It is now read-only.
Repository navigation
This repository was archived by the owner on Oct 23, 2026. It is now read-only.
Dev MCP: coordination_resume does not persist paired carrier into subsequent tool calls #410
A successful coordination_resume returns a valid paired carrier, but the pairing is not available to the immediately following Dev MCP call. work_resume_prepare fails with:
A current paired carrier is required
This reproduces even when coordination_resume and work_resume_prepare are invoked sequentially inside the same Code Mode transaction.
coordination_resume(...) returned carrier carrier_f1009558-b2f5-4ada-acd4-a63a97869299, version 1, with exact issue379/worktree_write contract.
next work_resume_prepare(workspaceId=ws_bc65c388d4, ...) returned A current paired carrier is required.
same failure reproduced when both calls were awaited sequentially in one Code Mode invocation.
Expected
After an authenticated coordination_resume, the resulting paired carrier must be bound to the caller/session identity consumed by subsequent coordination/work-resume tools, at least for the same conversation/tool session and transaction. A successful resume must not acknowledge pairing if the next tool cannot observe it.
Safety / impact
Blocks canonical G2 admission preparation for legitimate isolated workspaces.
Forces callers toward external/raw execution workarounds if not fail-closed.
Must preserve current carrier scope/version/expiry and must not broaden authority.
Do not solve by silently creating a new carrier on each call.
Acceptance
coordination_resume followed by coordination_carrier_status and work_resume_prepare observes the same carrier identity/version.
Works across normal sequential MCP calls in one conversation.
Works when the two calls are issued sequentially inside one Code Mode transaction.
The corresponding candidate_integrate(confirmApply=true) then failed before first effect with: [NEXUS_ADMISSION_REQUIRED] Nexus-enrolled repository mutation requires a current resumableWork pointer prepared from the canonical carrier before the first effect.
effectState remained effectively not started; no partial Candidate integration occurred.
Practical impact: legitimate Dev M5 repository writes become unavailable even after explicit Owner carrier approval, forcing callers to stop or use an independent non-Dev-MCP transport. This strengthens the acceptance requirement that resumed carrier identity persist into the immediately subsequent admission-preparation call without implicit re-pairing or authority widening.
On devspace main e1caddf neither coordination_resume nor work_resume_prepare is registered as an MCP tool (zero occurrences in src/server.ts; src/server.test.ts asserts work_resume_prepare is absent from the direct-dispatch projection and instructions). Repository writes (agent_start) no longer require a resumableWork pointer prepared from a carrier, and C4 (#471, PR #478) makes new cutover_start / dependency_sync Carrier-free. The "resume succeeds but the next call cannot see the pairing" path therefore no longer exists for any new operation.
Historical bound cutover recovery (the only remaining Carrier use) takes an explicit per-call carrier credential (#382/#385), not session-persisted pairing.
Disposition: SUPERSEDED_BY_SURFACE_REMOVAL_AND_C4 (#471). Reopen if session-scoped Carrier pairing is reintroduced.
Activity
github-actions commentedon Oct 6, 2026
Authority:
RESEARCH_OBSERVATION_ONLY / NO_ENGINEERING_AUTHORITYHybrid replication capture receipt
{ "body_gzip_base64": "H4sIAAAAAAACA41VTY/jNgy9+1cQmMsWiJ1PZ+IFepjudoseplhgC/SY0DI9I4xiuZIcT/59SdnOZLbZohfDlqXHR75H6u4OvjpbGjomyQP4Tinyvu4MHJS1rtINBm2bvSPfHekAjkLnGg8IJzS6gha1owoUOqfJzaDsAoRniuu6eQLtobEB8ITaIEeBYON/fTxSpTGQOUNtjbG97P5MJ3j89JXhjMng0Fv3Mkbet45adMygZiQPvQ7PH5Pk8ACqc46a8B0TCezo707WDkny53P8bp2tOk4Q6EQN9M/8uJ0mNtUPwvMDdHOyLxzLcwAOrZntmRe9rigm5/FI8Mny16M8gsPGo5IAWZLc3cEXBn2+0JH1JEnBlp7ciWErOvkWFcERdfMRDhta1NvdYrFSy0VR5lV5Twva3m/V+p6X86LY1vUuV5sDg7TUVFLJsf58Wt7262VZ5wtcpTltVbrJi126U1imi3xBm1ott8Uil+O3qvEhy7KfJuWvKnwYX/b1crEo8nyXlqs6TzdYYYqq2qS4XWNxv9sWq6I4zOBEzjMqLGdRPaBXrgnr5Dta3xdzqXZwRPve6UCgbMN1UyFjVg29hptyfJC1WKvfq597vy/VNlfr3a7azOA71v/PKRItqicu61jqi2eqwS6lZeZiT7Yg8X/skdn+ywpgm2sHiGEUvhng19eWFB/jlqsDU8AGsGPnMABvE7a3XDmL5pIPEyaNr/I4dj5ASUyxY/eOfSZUyc09N7XUnh3KMcJZyiuYFZRnbvpypA/XYaMi6RCb4azxM8AAhpDj1Na9WZ3BRNzhlOyEKZ700bX94d2IGbEj8Tgl1Etje0PV09UAqWOcaIEIrbCRvWO3gA5DSb9hTZzXnCcL+yFIQ/1irHrxcsA2XFcDv60Aq6MeqA0WipxjNoaedNBHLj87wpoow8VeXozxxTqZHUNJPbPp0VVsY1awQTN32PMHqS5CylF0IoWXHISyeCpVxnqqBO5R0mYWQx6TOSc1vbItzceemdNrq905lvNSrdJZZDmjcyz3zFlAP9v4jxNgTNFWG0ZlTypHGF2DXMv+EoaZEqrB0kMhH1ieNmCjKEmW2Q/m4zCyB/u83zENBR8wdP6/JumooL/y0dSRo0un9LNklcFfogVbxFkvd4o7ornqusu14afuuzZllqwngNjFEjH0djwQR7qModsT/X0rvxvmG0Z1tnmac7Z8t3GNq5GOD9qY8a6aJM8zaXzp2bnvWubGu9/a99aJbQZ/2DeBeW4yvojIfmWfG6104C5Kx2bJ/gFmWS/0zQcAAA==", "capture_sha256": "775a829765e9f1a72adc0a5e177d73d198a2c54d838df874aafa1621a9ac68ab", "captured_at": "2026-10-06T21:57:38Z", "contract_sha256": "3085764ff5c1d3fe8b9a55f6d05ac2d6ed2e9bfa1398852807c7a2b1ad2cf1cc", "created_at": "2026-10-06T21:57:29Z", "default_branch": "main", "issue_number": 410, "issue_updated_at": "2026-10-06T21:57:29Z", "pre_implementation_revision": "4e0f68002c109b5db7e0e676c376805996ff85c4", "repository": "James3014/devspace", "schema": "nexus.hybrid_replication.capture.v1", "source_event_id": "actions:37537448918:1", "title": "Dev MCP: coordination_resume does not persist paired carrier into subsequent tool calls" }github-actions commentedon Oct 6, 2026
Authority:
RESEARCH_OBSERVATION_ONLY / NO_ENGINEERING_AUTHORITY{ "activation_boundary": "2026-10-06T16:12:42Z", "activation_state": "AUTOMATIC_CAPTURE_READY", "admitted_at": "2026-10-06T21:57:38Z", "capture_sha256": "775a829765e9f1a72adc0a5e177d73d198a2c54d838df874aafa1621a9ac68ab", "disposition": "ADMITTED_PRIMARY_FRESH_TASK", "exclusion_set_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "implementation_pr_numbers": [], "issue_state_at_admission": "open", "receipt_sha256": "33addd476a60d6a091a3f304cd242505956a2b810d367779e8b1d1fc79a68066", "schema": "nexus.hybrid_replication.admission.v1", "task_key": "James3014/devspace#410", "tracked_parent_created_at": null, "tracked_parent_issue_number": null }James3014 commentedon Oct 6, 2026
Additional downstream impact observed while closing #379 / PR #383:
candidate_integration_readinessfor the exact immutable fix: resolve Mach-O LC_RPATH dependencies in host-operation sandbox carveouts (#379) #383 Candidate onto a fresh current-main clone returned fully ready: Candidate verified, destination head matched, zero path overlap, zero blockers.candidate_integrate(confirmApply=true)then failed before first effect with:[NEXUS_ADMISSION_REQUIRED] Nexus-enrolled repository mutation requires a current resumableWork pointer prepared from the canonical carrier before the first effect.work_resume_preparecould not produce that pointer because the preceding successfulcoordination_resumepairing was not visible to the next tool call, which is the Dev MCP: coordination_resume does not persist paired carrier into subsequent tool calls #410 reproduction.effectStateremained effectively not started; no partial Candidate integration occurred.Practical impact: legitimate Dev M5 repository writes become unavailable even after explicit Owner carrier approval, forcing callers to stop or use an independent non-Dev-MCP transport. This strengthens the acceptance requirement that resumed carrier identity persist into the immediately subsequent admission-preparation call without implicit re-pairing or authority widening.
james3014-nexus-agent commentedon Oct 16, 2026
Closing as superseded (2026-10-16)
On devspace main
e1caddfneithercoordination_resumenorwork_resume_prepareis registered as an MCP tool (zero occurrences insrc/server.ts;src/server.test.tsassertswork_resume_prepareis absent from the direct-dispatch projection and instructions). Repository writes (agent_start) no longer require aresumableWorkpointer prepared from a carrier, and C4 (#471, PR #478) makes newcutover_start/dependency_syncCarrier-free. The "resume succeeds but the next call cannot see the pairing" path therefore no longer exists for any new operation.Historical bound cutover recovery (the only remaining Carrier use) takes an explicit per-call carrier credential (#382/#385), not session-persisted pairing.
Disposition:
SUPERSEDED_BY_SURFACE_REMOVAL_AND_C4 (#471). Reopen if session-scoped Carrier pairing is reintroduced.