Context
D#18224 resolved that one Workspace document and one multi-window topology are different durable artifacts. The accepted ADR and three sibling documents still describe positional windowDocuments[], while the converged design requires stable workspace keys. Zero backwards compatibility is explicit.
The Problem
neo.dock.layout.v1 currently mixes one Workspace layout with topology mode through captureScope and positional sibling documents. Registration order therefore participates in identity, the Neural Link contract promises a field that must disappear, and the generic Document name hides that every consumer treats it as one Workspace participant. Updating only code or only ADR prose would leave a shipped authority lying between merges.
The Architectural Reality
neo.dock.zone.v1 remains one WorkspaceDocument. neo.dock.layout.v1 and neo.dock.layoutCollection.v1 remain one Workspace's named layouts. Multi-window durable state gets its own keyed neo.dock.topology.v1 and neo.dock.topologyCollection.v1. The hard rename covers 24 static imports plus 3 dynamic imports and 503 Document. references across 31 files.
The Fix
In one freeze: amend ADR 0029; truth-sync DockZoneModel.md, NeuralLinkCapabilityMatrix.md, and the DockLayouts guide; rename model/Document.mjs / class / bindings to WorkspaceDocument with no alias; introduce the keyed topology envelope; remove topology-mode captureScope, positional windowDocuments[], and their positional readers in TopologyReconciler, Persistence, and DockService.
Contract Ledger
| Target Surface |
Source of Authority |
Proposed Behavior |
Fallback |
Docs |
Evidence |
| Workspace document identity |
ADR 0029 + D#18224 criterion 12 |
WorkspaceDocument; neo.dock.zone.v1 unchanged |
none; old class/import fails |
ADR + model guide |
27-site zero-alias census |
| Workspace layout envelope |
existing layout library |
neo.dock.layout.v1 remains single-workspace |
reject topology fields |
ADR + guide |
parser positive/negative controls |
| Topology envelope |
D#18224 criterion 12 |
keyed workspaces, placement hints, layout ids, aggregate fingerprint |
unsupported/positional input rejected |
all four authority surfaces |
round-trip + old-field red control |
| Neural Link perspective contract |
capability matrix + DockService |
returns the new topology shape without windowDocuments |
structured unsupported-schema refusal |
capability matrix |
exact tool contract arm |
Decision Record impact
Amends ADR 0029.
Decision Record
Required: ADR 0029 amendment lands in this PR before every consuming leaf.
Discussion Criteria Mapping
Owns D#18224 criteria 5 and 12 plus OQ5's hard rename.
Acceptance Criteria
Out of Scope
Group runtime identity, history/cursor behavior, popup materialization, UI controls, or a migration reader.
Avoided Traps
No silent redefinition of layout.v1; no docs-first or code-first split; no alias; no third perspective mode inside the Workspace library.
Related
Part of #18303. Source: D#18224. Blocks every consuming implementation leaf.
Origin Session ID: 01a06b6d-3323-7fa0-a10b-bbc4871c8780
Retrieval Hint: D18224 hard cut WorkspaceDocument topology.v1 windowDocuments ADR 0029
Creation freshness: live latest-open and all-status A2A sweeps found no equivalent leaf; #18272 is projection behavior and is reused separately.
Context
D#18224 resolved that one Workspace document and one multi-window topology are different durable artifacts. The accepted ADR and three sibling documents still describe positional
windowDocuments[], while the converged design requires stable workspace keys. Zero backwards compatibility is explicit.The Problem
neo.dock.layout.v1currently mixes one Workspace layout with topology mode throughcaptureScopeand positional sibling documents. Registration order therefore participates in identity, the Neural Link contract promises a field that must disappear, and the genericDocumentname hides that every consumer treats it as one Workspace participant. Updating only code or only ADR prose would leave a shipped authority lying between merges.The Architectural Reality
neo.dock.zone.v1remains one WorkspaceDocument.neo.dock.layout.v1andneo.dock.layoutCollection.v1remain one Workspace's named layouts. Multi-window durable state gets its own keyedneo.dock.topology.v1andneo.dock.topologyCollection.v1. The hard rename covers 24 static imports plus 3 dynamic imports and 503Document.references across 31 files.The Fix
In one freeze: amend ADR 0029; truth-sync
DockZoneModel.md,NeuralLinkCapabilityMatrix.md, and the DockLayouts guide; renamemodel/Document.mjs/ class / bindings toWorkspaceDocumentwith no alias; introduce the keyed topology envelope; remove topology-modecaptureScope, positionalwindowDocuments[], and their positional readers inTopologyReconciler,Persistence, andDockService.Contract Ledger
WorkspaceDocument;neo.dock.zone.v1unchangedneo.dock.layout.v1remains single-workspaceworkspaces, placement hints, layout ids, aggregate fingerprintwindowDocumentsDecision Record impact
Amends ADR 0029.
Decision Record
Required: ADR 0029 amendment lands in this PR before every consuming leaf.
Discussion Criteria Mapping
Owns D#18224 criteria 5 and 12 plus OQ5's hard rename.
Acceptance Criteria
Document.mjsbecomesWorkspaceDocument.mjs; all 24 static and 3 dynamic import sites move, all class/binding references agree, and no compatibility alias/re-export remains.neo.dock.zone.v1,neo.dock.layout.v1, andneo.dock.layoutCollection.v1retain their single-workspace meanings.neo.dock.topology.v1andneo.dock.topologyCollection.v1use keyed workspace records and reject positionalwindowDocuments/ topologycaptureScope.DockZoneModel.md,NeuralLinkCapabilityMatrix.md, DockLayouts guide, and all three shipped source readers change in the same PR.Out of Scope
Group runtime identity, history/cursor behavior, popup materialization, UI controls, or a migration reader.
Avoided Traps
No silent redefinition of
layout.v1; no docs-first or code-first split; no alias; no third perspective mode inside the Workspace library.Related
Part of #18303. Source: D#18224. Blocks every consuming implementation leaf.
Origin Session ID: 01a06b6d-3323-7fa0-a10b-bbc4871c8780
Retrieval Hint:
D18224 hard cut WorkspaceDocument topology.v1 windowDocuments ADR 0029Creation freshness: live latest-open and all-status A2A sweeps found no equivalent leaf; #18272 is projection behavior and is reused separately.