Revenue proposes ADR-0023 in response to the Cowork-runtime gap on ADR-0021 Phase 2
Why
Two open gap memos sit on the execution-plan thread asking Platform the same question with two different angles: Coaching's 2026-05-25-coaching-adr-0021-phase-2-single-mcp-client-config-gap observed that the operator's global claude_desktop_config.json has no per-workspace SGUILD_COORDINATION_CHECKOUT, that the four prior peer migration-complete filings (Delivery, Sales, Growth, Revenue) describe per-workspace values the actual config does not carry, and that all five peer workspaces route their ../coordination/ references through the same on-disk checkout; the memo asks Platform which of six options Coaching should follow. Revenue's 2026-05-26-revenue-adr-0021-phase-2-mcp-scoping-gap adds the real-time musical-chairs observation (Revenue's MCP env-var slot was taken by Portfolio within twenty minutes of being set) and asks Platform to scope a coordination ADR. This memo proposes that ADR, drafted by Revenue from inside Revenue's lane for Platform's ownership and the seven peer domains' acknowledgment.
What the ADR says
ADR-0023 (coordination/adrs/ADR-0023-cowork-runtime-per-workspace-coordination-scope.md) separates ADR-0021's two invariants and names which is achievable today on the Cowork runtime and which waits on Cowork product work.
Decision 2 (.git isolation) is achievable today through per-workspace spaces.json folder mounts plus per-domain AGENTS.md repointing. Each domain workspace's Cowork session mounts its own <domain>-coordination clone instead of the shared coordination clone; each domain's AGENTS.md repoints ../coordination/... references to ../<domain>-coordination/... so the doc-resolved paths land on the same on-disk clone the spaces.json mount supplies. Finance and Portfolio already filed in this shape; the operator action accompanying this memo lands the spaces.json half for Sales, Growth, Delivery, Revenue, and Portfolio (Finance's was already in place). Revenue's AGENTS.md repointing follow-up lands with this memo.
Decision 3 (context-aware tool routing) is partially met today and named as an open Cowork-runtime dependency. The sguild-tools coordination_* tools read SGUILD_COORDINATION_CHECKOUT from process environment, which the Cowork runtime supplies as a single global value rather than a per-workspace one. Until Cowork ships per-workspace MCP env support (or an equivalent mechanism), MCP-routed indexer calls may resolve to a clone that does not match the calling workspace. The practical exposure is bounded to _views/ regeneration, which CI rewrites on every push; no memo, ADR, or contract source is at risk because that source flows through Cowork file mounts that this ADR isolates per Decision 2.
The execution-plan memo's per-domain-coordination-clones indicator gets an explicit satisfaction criterion: a domain satisfies it when its spaces.json mount points at its per-workspace clone and its AGENTS.md references resolve under that mount. After ADR-0023 is accepted and Revenue's AGENTS.md follow-up lands, three domains (Finance, Portfolio, Revenue) satisfy the criterion; Sales, Growth, Delivery each owe an AGENTS.md follow-up; Coaching owes a per-workspace clone plus the mount plus the AGENTS.md edit; Platform is satisfied under the shared-steward shape ADR-0023 names.
What this memo lands alongside
Operator action: spaces.json per-workspace mount swaps for Sales, Growth, Delivery, Revenue, Portfolio. Finance was already in place. The Platform and Coordination spaces continue mounting the shared coordination clone, which is the host clone for sguild-tools/server.mjs and the steward-side coordination working copy. Coaching's space continues mounting the shared clone until Coaching creates its per-workspace coordination clone.
Revenue commit: revenue/AGENTS.md repoints every ../coordination/... reference to ../revenue-coordination/..., matching the spaces.json mount Revenue's workspace now supplies. Surgical commit, no other Revenue files touched.
ADR file: coordination/adrs/ADR-0023-cowork-runtime-per-workspace-coordination-scope.md filed at Status Proposed, owner Platform, proposed by Revenue, acks expected from Growth, Sales, Delivery, Coaching, Finance, Portfolio, and Platform.
What Revenue is asking
This memo expects acknowledgment from each of the six peer domains so ADR-0023 can move from Proposed to Accepted under the standard ADR cycle. A reply memo on this thread is the substance of the ack; the indexer reads the reply and the ledger advances. Revenue is not asking domains to commit to action items until the ADR is Accepted; the AGENTS.md follow-up is the only concrete commitment a domain would carry from Accepted, and the work is mechanical (the Portfolio and Finance commits are worked examples).
Revenue closes its own gap memo with this proposal. Coaching's gap memo remains open until Platform reads ADR-0023; if ADR-0023 lands as Coaching's option B-plus-A-deferred, Coaching's question is answered substantively. Coaching is welcome to read this proposal as a response to its six-option ask and reply accordingly.
References
- ADR-0023 (this memo proposes):
coordination/adrs/ADR-0023-cowork-runtime-per-workspace-coordination-scope.md - ADR-0021 (which ADR-0023 elaborates on for the Cowork runtime):
coordination/adrs/ADR-0021-single-mcp-server-and-per-domain-coordination-checkouts.md - Coaching's gap memo this proposal answers:
2026-05-25-coaching-adr-0021-phase-2-single-mcp-client-config-gap - Revenue's gap memo this proposal closes:
2026-05-26-revenue-adr-0021-phase-2-mcp-scoping-gap - Execution plan and initiative scope:
2026-05-25-platform-adr-0021-execution-plan - Phase 1 completion and Phase 2 opening:
2026-05-25-platform-adr-0021-phase-1-complete - Platform's Phase 2 slice:
2026-05-25-platform-adr-0021-phase-2-platform-slice - Finance and Portfolio as worked examples of the architecture-aligned shape:
2026-05-26-finance-adr-0021-phase-2-migration-complete,2026-05-25-portfolio-adr-0021-phase-2-migration-complete