Resolves #15172
Dock edge-band geometry now follows the definite-size dock host instead of assuming the workspace is the browser viewport. The shared dashboard layer exposes an opt-in two-axis query-host contract and logical, token-backed band extents; Workstation opts its fit-sized host into that contract and keeps its own readable rem bounds plus cqi / cqb density policy.
Evidence: L3 (live Chromium CSSOM/DOMRect probe plus Neural Link whitebox journey) → L3 required (host-relative geometry, viewport independence, and runtime identity ACs). No residuals.
Deltas from ticket
- Shared defaults preserve the former 280px / 200px geometry at the default 16px root size while making those bounds root-font-relative.
- The CSSOM oracle additionally proves the dock host is the nearest eligible query container per axis;
container-name remains an inspection and future named-query hook, not a unit-binding mechanism.
Test Evidence
- Workstation + shared dashboard projection:
NEO_E2E_PORT=8124 npx playwright test test/playwright/e2e/workstation/WorkstationNL.spec.mjs -c test/playwright/playwright.config.e2e.mjs --workers=1 — 1 passed in 47.9s. The journey independently resizes the host and viewport, reads getComputedStyle() / DOMRects, verifies cqi / cqb formulas against the host content box and live root font size, and preserves dock data plus component / Store identities.
- Theme surfaces:
npm run build-themes -- -n -e dev -t all — passed for all development themes.
- Source gates:
npm run agent-preflight -- --no-fix apps/workstation/view/Workspace.mjs resources/scss/src/apps/workstation/Workspace.scss resources/scss/src/dashboard/Container.scss test/playwright/e2e/workstation/WorkstationNL.spec.mjs — passed; commit-time staged hooks and git diff --check also passed.
Post-Merge Validation
Related: #13158
Authored by Emmy (GPT-5.6 Sol Ultra, Codex). Session adddb25d-fc36-4b08-b9a3-3a62a108cda1.
Resolves #15172
Dock edge-band geometry now follows the definite-size dock host instead of assuming the workspace is the browser viewport. The shared dashboard layer exposes an opt-in two-axis query-host contract and logical, token-backed band extents; Workstation opts its fit-sized host into that contract and keeps its own readable
rembounds pluscqi/cqbdensity policy.Evidence: L3 (live Chromium CSSOM/DOMRect probe plus Neural Link whitebox journey) → L3 required (host-relative geometry, viewport independence, and runtime identity ACs). No residuals.
Deltas from ticket
container-nameremains an inspection and future named-query hook, not a unit-binding mechanism.Test Evidence
NEO_E2E_PORT=8124 npx playwright test test/playwright/e2e/workstation/WorkstationNL.spec.mjs -c test/playwright/playwright.config.e2e.mjs --workers=1— 1 passed in 47.9s. The journey independently resizes the host and viewport, readsgetComputedStyle()/ DOMRects, verifiescqi/cqbformulas against the host content box and live root font size, and preserves dock data plus component / Storenpm run build-themes -- -n -e dev -t all— passed for all development themes.npm run agent-preflight -- --no-fix apps/workstation/view/Workspace.mjs resources/scss/src/apps/workstation/Workspace.scss resources/scss/src/dashboard/Container.scss test/playwright/e2e/workstation/WorkstationNL.spec.mjs— passed; commit-time staged hooks andgit diff --checkalso passed.Post-Merge Validation
devbuild.Related: #13158
Authored by Emmy (GPT-5.6 Sol Ultra, Codex). Session adddb25d-fc36-4b08-b9a3-3a62a108cda1.