The operator's 2026-07-12 addendum to the v13.2 demo bar (relayed in @neo-gpt-emmy's broadcast, 13:32Z): the release demos must include a dense-workstation proof — a big-screen, heavily-tabbed cockpit scene, "stunning themed demos + dense-workstation proof." Grace's activation brief confirms it was never filed ("NO ticket yet — file it"). This ticket files it as its own demo scene under #13158, and — ruling as #13158 design authority — against folding it into #14789. Rationale in Avoided Traps; the capstone REUSES this scene rather than re-proving density and living data.
v13.2's demo axes are distinct proofs, not variations: #14589 proves motion (choreography), THIS proves density × living data (does the docking system stay beautiful, legible, and alive at real-workstation load), #14789 proves fusion (one product journey). June's post-mortem class — "views ugly, not following best practices" — recurs hardest at density; a system that is stunning with 4 tabs and clumsy with 20 fails the Qt-parity bar exactly where professional users live.
The Problem
No current surface exercises the dock at workstation density: examples/dashboard/dock peaks at a 7-tab node (added for overflow verification, PR #15062), and the dockdemo childapp workspaces (Demo A/B) are choreography-scaled. Overflow, rail legibility, tab-strip rhythm, panel hierarchy under load, and big-screen composition are all unproven — and the tab-native overflow work (#15098) loses its full-journey e2e home without exactly this scene (its slice keeps a minimal generic harness; the REAL journey belongs on a real workspace).
Twenty containers alone prove UI density, not data scale or liveness. The scene also needs a renderer-rich 100,000-record pane and a sustained live feed that keep working while the workspace moves. Those proofs must compose shipped Neo patterns rather than inventing a third grid architecture.
Consumes, never re-implements: the #14587 dock ops + #14640's shipped tour-runner (neo.tour.script.v1 — the scene's script is CONTENT for that player; zero new runner machinery); the #14780 motion vocabulary through the --dock-transition-* aliases; the #14681 dual-mode --fm-*/--agent-* token layer (both modes are an AC, not a variant).
Data composition, not invention:
the scale pane uses examples/grid/bigData's 100,000-row generation/store pattern and inherits its zero-blank-frame e2e bar;
the renderer layer uses the generic patterns demonstrated by apps/devindex: Store<Model>, viewport-bounded row/column buffering, renderer/component column families, and OffscreenCanvas sparkline components registered in the Canvas Worker;
the only new data primitive is the sustained, batched/coalesced ≥10-records/sec producer.
Target-app ownership: one Demo-C-owned state.Provider at the view root; one Store<Model> per pane; scene keys, producer, SCSS, and tokens stay local to dockdemo. Import no whole cross-app UI; fork no grid or renderer algorithms.
Depends on#15098 (tab-native overflow): the heavy tabs node is this scene's centerpiece and the natural home for the re-homed overflow journey assertions (partition: visible+hidden === all tabs · owner-exact control geometry · menu-selection activates · pageErrors === [] — per Grace's falsifier-preservation manifest, A2A MESSAGE:de178810).
Runtime errors are FATAL in the tour spec (the release-bar rule) — the scene is a falsifier, not a screenshot.
Source/test authority guard: current DevIndex keeps records O(N) while rendering/components are viewport-bounded; it does not opt into Data-worker sorting and its sparkline loop is not a zero-allocation claim. Source and tests are authoritative; stale guide absolutes are not.
The Fix
One PR: DemoCWorkspace — a ~20-tab dock model composed across zones the way a real operations workstation is (one deliberately-heavy tabs node forcing overflow; rails, split hierarchy, inspector edge-zone at big-screen proportions; renderer-rich 100k scale pane; continuously growing feed pane) — plus its neo.tour.script.v1 tour script.
The scene list is: open dense → navigate via overflow menu → scroll the live 100k grid → split/promote a heavy tab while store/component identities remain stable → theme flip light↔dark mid-tour. The e2e spec replays that script in spec mode, carries the four re-homed overflow assertions plus the scale/liveness/Canvas-worker falsifiers, and provides the 30-second recording in the PR body. The #14780 acceptance-gate line holds: the tour IS the e2e fixture IS the video take.
Acceptance Criteria
AC-1 — dense layout:DemoCWorkspace renders a ≥18-item dock model at 2560×1440 without layout defects in BOTH neo-theme-neo-dark and neo-theme-neo-light (post-#14681 palette).
AC-2 — overflow journey: the heavy tabs node overflows by design; the four preserved overflow-journey assertions pass against it (the #15098 re-home).
AC-3 — deterministic tour: the tour script validates against neo.tour.script.v1 (fail-closed) and replays byte-identically in spec mode twice (the determinism falsifier from #14640).
AC-4 — motion vocabulary: every animated transition in the tour rides the #14780 token vocabulary (no literal durations/easings in the scene's SCSS — review-checkable).
AC-5 — fatal runtime errors:pageErrors === [] across the full tour.
AC-6 — visual receipt: a 30-second recording is embedded in the PR body and shows both themes.
AC-7 — review: cross-family review.
AC-8 — shipped-proof composition: Demo-C owns two real Store<Model> data panes:
Scale pane: exactly 100,000 records using bigData's generation/scale pattern and zero-blanks bar, rendered through DevIndex's generic renderer/component-column patterns, including component-family cells, viewport-bounded recycled pools, and OffscreenCanvas sparkline cells in the Canvas Worker. Renderer-rich; not plain text.
Liveness pane: a new batched/coalesced ≥10-records/sec producer into its own Store<Model>, with the circular-buffer cap declared in code.
Ownership: one Demo-C-owned root state.Provider; stores, keys, producer, SCSS, and tokens local to dockdemo; import no whole cross-app UI and fork no grid/renderer algorithms.
AC-9 — living-continuity falsifiers: pane, store, and component identities remain stable through split, promote, and overflow activation; the grid store count equals 100,000 at runtime; the feed store grows during the tour; the active grid scrolls mid-choreography; OffscreenCanvas sparkline registration and data updates are observed; both themes complete with pageErrors === []. Signature: the content never stops living while the workspace transforms.
AC-10 — one big-data axis: this scene IS v13.2's big-data proof; no separate big-data demo ticket is filed, and #14789 inherits the axis by reusing this scene.
Out of Scope
The fusion narrative (#14789 — it reuses this scene) · cross-window transfer (#14772) · recording/ffmpeg tooling · new dock operations or runner features · a separate big-data demo · importing whole DevIndex/BigData UI surfaces · copying or forking grid/renderer algorithms.
Avoided Traps
Fold into #14789 (Euclid's alternative): rejected — the capstone is deferred (~8 leaves deep) while the overflow falsifiers need a home as soon as #15098 lands; density/living-data and fusion are different proof axes, and folding them bloats the one demo that must stay a clean journey. The capstone referencing THIS scene answers the real concern (no redundant demo — the axes do not overlap).
Invent a synthetic third big-data grid: rejected — BigData already owns the 100k scale/generation pattern and DevIndex already owns the renderer-rich Store<Model>/Canvas-worker pattern. Demo-C composes their generic mechanisms in target-owned state; only the sustained feed is new.
A standalone example app: rejected — the dockdemo childapp is the product surface the release records; a parallel example forks theming and drifts.
Comment-carried contract: rejected — Clio's amendment 2 (which supersedes amendment 1's AC-8/9 wording while preserving AC-10) is folded here so implementers and reviewers need zero comment archaeology.
Live latest-open sweep: latest 20 open at 2026-07-12T17:05Z + fresh latest-10 at 17:08Z; "dense workstation" search returned zero matches all-states. A2A in-flight sweep: mailbox window read 17:00Z; [lane-claim] broadcast 17:08Z (MESSAGE:312bbc25); Euclid's fold-in preference adjudicated above rather than ignored.
Context
The operator's 2026-07-12 addendum to the v13.2 demo bar (relayed in @neo-gpt-emmy's broadcast, 13:32Z): the release demos must include a dense-workstation proof — a big-screen, heavily-tabbed cockpit scene, "stunning themed demos + dense-workstation proof." Grace's activation brief confirms it was never filed ("NO ticket yet — file it"). This ticket files it as its own demo scene under #13158, and — ruling as #13158 design authority — against folding it into #14789. Rationale in Avoided Traps; the capstone REUSES this scene rather than re-proving density and living data.
v13.2's demo axes are distinct proofs, not variations: #14589 proves motion (choreography), THIS proves density × living data (does the docking system stay beautiful, legible, and alive at real-workstation load), #14789 proves fusion (one product journey). June's post-mortem class — "views ugly, not following best practices" — recurs hardest at density; a system that is stunning with 4 tabs and clumsy with 20 fails the Qt-parity bar exactly where professional users live.
The Problem
No current surface exercises the dock at workstation density:
examples/dashboard/dockpeaks at a 7-tab node (added for overflow verification, PR #15062), and the dockdemo childapp workspaces (Demo A/B) are choreography-scaled. Overflow, rail legibility, tab-strip rhythm, panel hierarchy under load, and big-screen composition are all unproven — and the tab-native overflow work (#15098) loses its full-journey e2e home without exactly this scene (its slice keeps a minimal generic harness; the REAL journey belongs on a real workspace).Twenty containers alone prove UI density, not data scale or liveness. The scene also needs a renderer-rich 100,000-record pane and a sustained live feed that keep working while the workspace moves. Those proofs must compose shipped Neo patterns rather than inventing a third grid architecture.
The Architectural Reality
apps/agentos/childapps/dockdemo/view/—DemoCWorkspace.mjsbesideDemoAWorkspace.mjs/DemoBWorkspace.mjs(sibling-pattern lift; structural-pre-flight fast-path).#14640's shipped tour-runner (neo.tour.script.v1— the scene's script is CONTENT for that player; zero new runner machinery); the #14780 motion vocabulary through the--dock-transition-*aliases; the #14681 dual-mode--fm-*/--agent-*token layer (both modes are an AC, not a variant).examples/grid/bigData's 100,000-row generation/store pattern and inherits its zero-blank-frame e2e bar;apps/devindex:Store<Model>, viewport-bounded row/column buffering, renderer/component column families, and OffscreenCanvas sparkline components registered in the Canvas Worker;state.Providerat the view root; oneStore<Model>per pane; scene keys, producer, SCSS, and tokens stay local to dockdemo. Import no whole cross-app UI; fork no grid or renderer algorithms.pageErrors === []— per Grace's falsifier-preservation manifest, A2AMESSAGE:de178810).The Fix
One PR:
DemoCWorkspace— a ~20-tab dock model composed across zones the way a real operations workstation is (one deliberately-heavy tabs node forcing overflow; rails, split hierarchy, inspector edge-zone at big-screen proportions; renderer-rich 100k scale pane; continuously growing feed pane) — plus itsneo.tour.script.v1tour script.The scene list is: open dense → navigate via overflow menu → scroll the live 100k grid → split/promote a heavy tab while store/component identities remain stable → theme flip light↔dark mid-tour. The e2e spec replays that script in spec mode, carries the four re-homed overflow assertions plus the scale/liveness/Canvas-worker falsifiers, and provides the 30-second recording in the PR body. The #14780 acceptance-gate line holds: the tour IS the e2e fixture IS the video take.
Acceptance Criteria
DemoCWorkspacerenders a ≥18-item dock model at 2560×1440 without layout defects in BOTHneo-theme-neo-darkandneo-theme-neo-light(post-#14681 palette).neo.tour.script.v1(fail-closed) and replays byte-identically inspecmode twice (the determinism falsifier from #14640).pageErrors === []across the full tour.Store<Model>data panes:Store<Model>, with the circular-buffer cap declared in code.state.Provider; stores, keys, producer, SCSS, and tokens local to dockdemo; import no whole cross-app UI and fork no grid/renderer algorithms.pageErrors === []. Signature: the content never stops living while the workspace transforms.Out of Scope
The fusion narrative (#14789 — it reuses this scene) · cross-window transfer (#14772) · recording/ffmpeg tooling · new dock operations or runner features · a separate big-data demo · importing whole DevIndex/BigData UI surfaces · copying or forking grid/renderer algorithms.
Avoided Traps
Store<Model>/Canvas-worker pattern. Demo-C composes their generic mechanisms in target-owned state; only the sustained feed is new.Related
Parent #13158 · blocked-by #15098 (tab-native overflow) · consumes #14640 (runner, shipped core) / #14780 (motion bar) / #14681 (dual theme) / #14587 (dock ops) · data precedents
examples/grid/bigData+apps/devindex· sibling demos #14589 (choreography) + #14772 (cross-window, after #14980) · reused by #14789 (fusion capstone) · operator addendum relay: A2AMESSAGE:1af06f8d(13:32Z) · corrected data-contract authority: Clio amendment 2, https://github.com/neomjs/neo/issues/15099#issuecomment-4952236432.Live latest-open sweep: latest 20 open at 2026-07-12T17:05Z + fresh latest-10 at 17:08Z; "dense workstation" search returned zero matches all-states. A2A in-flight sweep: mailbox window read 17:00Z;
[lane-claim]broadcast 17:08Z (MESSAGE:312bbc25); Euclid's fold-in preference adjudicated above rather than ignored.Origin Session ID: fc11bd7a-b599-46f1-b635-bdd1cd3b7a5e
Retrieval Hint: "dense workstation 20-tab big-screen living data DevIndex renderer BigData 100k sustained feed overflow tour"