Context
D#18224 resolved window placement as a semantic participant expressed relative to the main frame. manager.Window already reports live outer rectangles and the dock drag coordinator already has a candidate-scoped 250ms quiescence endpoint. The missing behavior is free native movement outside a drag candidate.
The Problem
Persisting absolute screen coordinates breaks when monitor topology changes. Recording requested moveTo coordinates lies when the browser refuses or clamps them. Treating every relative-offset delta as a popup transaction is also wrong: moving the main frame changes all popup offsets even though no popup moved.
The Architectural Reality
manager.Window stays geometry-only. A Group-bound placement participant observes which windowId changed. Popup movement appends one quiesced before/after {dx,dy} effect-first transaction; main movement re-bases every durable hint and snapshot without advancing history. Undo updates the hint, requests movement, then records the observed effect separately.
Producer boundary
This participant observes placement for semantic workspace documents already registered in the Group. A documentless window reservation has no durable placement-hint key. #18314 owns ordinary tear-out admission as a full Workspace through the Group claim, including the first semantic document and shared-history write; #18316 proves the composed production save/reload/undo journey. This is the existing D#18224 full-Workspace contract, not permission to preserve bare vessels as the delivered product or to introduce a second document owner. All seven placement acceptance criteria below remain required.
The Fix
Lift the existing quiescence mechanism beyond candidate scope, bind it to Group workspace slots, derive offsets from observed main/popup rows, and implement popup-versus-main ingestion. Restore clamps against current screens or uses semantic fallbackTarget; the main slot persists no rectangle. Geometry caused by an admitted native effect is correlated to that effect's transaction and window generation; it completes an observed receipt rather than entering again as a free user move.
Contract Ledger
| Target Surface |
Source of Authority |
Proposed Behavior |
Fallback |
Docs |
Evidence |
| placement hint |
D#18224 OQ1 |
{workspaceKey, dx, dy, fallbackTarget} |
semantic fallback/clamp |
ADR + JSDoc |
popup move/reload arm |
| quiescence |
existing 250ms candidate clock |
one start/end record for a free move |
no stable end means no invented row |
JSDoc |
burst coalescing control |
| main movement |
Mnemosyne falsifier |
re-base hints/snapshot, preserve cursor |
none |
JSDoc |
N-popup main-only move |
| requested native effect |
main native API Boolean/observed rect |
truth is observed outcome |
refusal receipt, no fictive success |
JSDoc |
refusal/clamp controls |
Decision Record impact
Amends/implements ADR 0029's former no-geometry rule with relative semantic hints only.
Decision Record
Required prerequisite: the #18303 hard-cut ADR leaf.
Discussion Criteria Mapping
Owns OQ1 and the native-effect half of criterion 8.
Acceptance Criteria
Out of Scope
Cross-Group movement, drag target isolation, transaction-history storage, or popup creation permission.
Avoided Traps
No absolute geometry; no manager.Window history logic; no candidate-only detector; no one-row-per-frame log; no popup row for a main-only move.
Related
Part of #18303. Blocked by Group identity, immutable history, and atomic commit.
Causality precedent: NEO_INLINE_CODE_9 already excludes geometry produced by its parking/embodiment/settlement operations from fresh native gestures. Preserve that distinction when lifting quiescence. D#18224's transaction protocol owns transaction/effect correlation and generation-fenced receipts.
Origin Session ID: 01a06b6d-3323-7fa0-a10b-bbc4871c8780
Retrieval Hint: D18224 relative popup placement main move rebase quiescence observed effect
Creation freshness: live latest-open and all-status A2A sweeps found no equivalent placement-participant leaf.
Context
D#18224 resolved window placement as a semantic participant expressed relative to the main frame.
manager.Windowalready reports live outer rectangles and the dock drag coordinator already has a candidate-scoped 250ms quiescence endpoint. The missing behavior is free native movement outside a drag candidate.The Problem
Persisting absolute screen coordinates breaks when monitor topology changes. Recording requested
moveTocoordinates lies when the browser refuses or clamps them. Treating every relative-offset delta as a popup transaction is also wrong: moving the main frame changes all popup offsets even though no popup moved.The Architectural Reality
manager.Windowstays geometry-only. A Group-bound placement participant observes whichwindowIdchanged. Popup movement appends one quiesced before/after{dx,dy}effect-first transaction; main movement re-bases every durable hint and snapshot without advancing history. Undo updates the hint, requests movement, then records the observed effect separately.Producer boundary
This participant observes placement for semantic workspace documents already registered in the Group. A documentless window reservation has no durable placement-hint key. #18314 owns ordinary tear-out admission as a full Workspace through the Group claim, including the first semantic document and shared-history write; #18316 proves the composed production save/reload/undo journey. This is the existing D#18224 full-Workspace contract, not permission to preserve bare vessels as the delivered product or to introduce a second document owner. All seven placement acceptance criteria below remain required.
The Fix
Lift the existing quiescence mechanism beyond candidate scope, bind it to Group workspace slots, derive offsets from observed main/popup rows, and implement popup-versus-main ingestion. Restore clamps against current screens or uses semantic
fallbackTarget; the main slot persists no rectangle. Geometry caused by an admitted native effect is correlated to that effect's transaction and window generation; it completes an observed receipt rather than entering again as a free user move.Contract Ledger
{workspaceKey, dx, dy, fallbackTarget}Decision Record impact
Amends/implements ADR 0029's former no-geometry rule with relative semantic hints only.
Decision Record
Required prerequisite: the #18303 hard-cut ADR leaf.
Discussion Criteria Mapping
Owns OQ1 and the native-effect half of criterion 8.
Acceptance Criteria
windowId; the main slot has no rect.fallbackTargetwhile keeping semantic composition restorable.Out of Scope
Cross-Group movement, drag target isolation, transaction-history storage, or popup creation permission.
Avoided Traps
No absolute geometry; no manager.Window history logic; no candidate-only detector; no one-row-per-frame log; no popup row for a main-only move.
Related
Part of #18303. Blocked by Group identity, immutable history, and atomic commit.
Causality precedent: NEO_INLINE_CODE_9 already excludes geometry produced by its parking/embodiment/settlement operations from fresh native gestures. Preserve that distinction when lifting quiescence. D#18224's transaction protocol owns transaction/effect correlation and generation-fenced receipts.
Origin Session ID: 01a06b6d-3323-7fa0-a10b-bbc4871c8780
Retrieval Hint:
D18224 relative popup placement main move rebase quiescence observed effectCreation freshness: live latest-open and all-status A2A sweeps found no equivalent placement-participant leaf.