Context
Operator-observed during headed dense-tour runs (2026-08-02): after roughly the second tour step, the 100k Matrix stops updating cells for good, while the rest of the app stays visibly alive. Reproduced same-hour with a measuring probe (receipts below). This is the film-critical surface: a frozen Matrix during tour choreography falsifies the "content never stops living" thesis on camera — the same stake #16353 carried for the splitter trigger.
The Problem
The Matrix and the Feed grid have different liveness signatures, and the defect separates them cleanly:
Headed probe (1280×720, dev head 47d998f1f6-era tree, apps/workstation, per-2s MutationObserver windows over each grid body — childList + characterData; feed grid as in-run control; zero pageerrors):
[t+4s] matrix: 122 feed: 50 "Audit crosses the matrix split preview…"
[t+10s] matrix: 116 feed: 50 "…Sparkline receives a new values array…"
[t+12s] matrix: 115 feed: 50 "light mode…"
[t+16s] (tour reports complete — 11 beats)
[t+20s] matrix: 104 feed: 50
[t+26s] matrix: 78 feed: 50
[t+36s] matrix: 78 feed: 50 ← last Matrix burst, ever
[t+38s…t+90s] matrix: 0 × 27 consecutive windows feed: 50 in EVERY window
- Baseline: the Matrix updates in bursts (~78–122 mutations every ~8–12s — its natural pulse), the Feed streams continuously (50/2s, the 10 events/sec feed).
- After the tour, the Matrix bursts cease permanently (54+ seconds of zero across 27 windows) while the Feed never misses a window.
- The operator's observation places the freeze earlier (mid-tour, around step 2); the probe run froze after completion. Both fit "a tour beat boundary kills the Matrix update stream"; which beat varies between runs.
The Architectural Reality
- The page is healthy at freeze time: the Feed grid's mutation stream, timers, vdom delta pipeline, and rendering all run uninterrupted; no page errors.
- The grid's layout width never changed across the run (336px constant) — no dock resize committed. This measured fact DOWNGRADES the
#16375 geometry family (echo-swallow / transform-poison, repaired in PR #16390) as the prime suspect for this trigger: the freeze is update-SOURCE-shaped, not geometry-shaped.
- The tour is deterministic by design ("11 deterministic beats"); at least one beat interacts with Matrix content directly (the Sparkline values-array beat), and beats touching the Matrix pane (split preview crossing) may pause, redirect, or take ownership of the Matrix churn generator for determinism. The prime suspect class is the tour↔churn lifecycle seam: a pause-for-determinism whose resume leg is conditional/broken, a generator ownership handoff that never hands back, or a tour-end state flip the Matrix scheduler reads as terminal.
#16353 (closed) proved repaint truth for the SPLITTER trigger: store-accepts + identity-survives + exact-cell-repaints all hold across committed drags. This ticket's trigger is tour choreography; the closed witness does not cover it.
- Relevant surfaces to read first: the workstation tour script (
apps/workstation/tour/denseWorkstation.mjs) for beats that touch the Matrix pane or its stores; the Matrix churn/update scheduler (whatever drives the ~10s burst pulse — follow the store/interval ownership from apps/workstation); TourRunner step settlement (#16359 landed injected-callback settlement — check what tour start/finish toggles app-side).
The Fix
- Instrument the Matrix update chain across one tour run: who fires the burst pulse (worker interval / store task), and what state does each tour beat toggle on it (pause flags, generator swaps, store references).
- Identify the first beat boundary after which the pulse owner never fires again (or fires into a dead store/component reference).
- Repair at the owning seam — likely the tour's pause/resume contract or the churn generator's ownership handoff — never by adding screenplay delays (the
#16353 wall applies unchanged).
- Regression witness: a headed spec that runs the full dense tour and asserts the Matrix mutation pulse RESUMES within one pulse period after tour completion (feed-grid control included), plus a mid-tour liveness floor if the operator-observed mid-tour variant reproduces under instrumentation.
Acceptance Criteria
Out of Scope
- Grid worker-geometry integrity across dock resizes —
#16375 / PR #16390.
- The DockFlip same-node-resize presentation defect —
#16391.
- Splitter-drag repaint truth —
#16353 (closed, witnessed).
Related
Related: #16353 · #16375 · PR #16390 · #16391 · #16359
Live latest-open sweep: checked latest 20 open issues at 2026-08-02T20:12Z; no equivalent found (the dock/grid family covers drag, tear-out, popup, staging — none the tour trigger). A2A in-flight claim sweep: recent lane-claims (#16355, #16391, #16398, #16344-family) — no overlap.
Origin Session ID: 3bdbcbb5-b77b-46f5-88b7-9dbb124733fe
Retrieval Hint: "dense tour matrix update stream freeze feed control burst pulse"
Context
Operator-observed during headed dense-tour runs (2026-08-02): after roughly the second tour step, the 100k Matrix stops updating cells for good, while the rest of the app stays visibly alive. Reproduced same-hour with a measuring probe (receipts below). This is the film-critical surface: a frozen Matrix during tour choreography falsifies the "content never stops living" thesis on camera — the same stake
#16353carried for the splitter trigger.The Problem
The Matrix and the Feed grid have different liveness signatures, and the defect separates them cleanly:
Headed probe (1280×720, dev head
47d998f1f6-era tree,apps/workstation, per-2s MutationObserver windows over each grid body — childList + characterData; feed grid as in-run control; zero pageerrors):The Architectural Reality
#16375geometry family (echo-swallow / transform-poison, repaired in PR #16390) as the prime suspect for this trigger: the freeze is update-SOURCE-shaped, not geometry-shaped.#16353(closed) proved repaint truth for the SPLITTER trigger: store-accepts + identity-survives + exact-cell-repaints all hold across committed drags. This ticket's trigger is tour choreography; the closed witness does not cover it.apps/workstation/tour/denseWorkstation.mjs) for beats that touch the Matrix pane or its stores; the Matrix churn/update scheduler (whatever drives the ~10s burst pulse — follow the store/interval ownership fromapps/workstation);TourRunnerstep settlement (#16359landed injected-callback settlement — check what tour start/finish toggles app-side).The Fix
#16353wall applies unchanged).Acceptance Criteria
document.hidden, zero rAF ticks), a geometry-changing dock operation yields converged workercontainerWidth/availableHeight(paint-independent read), and a degenerate mount-time pool populates through the same channel. (Restated 2026-08-03 by the ticket author: the original "resumes its update pulse within one pulse period" bound a pulse that the census proved does not exist — no driver touches the scale store; post-tour idle is by design. Receipts: issuecomment-5160783031.)Out of Scope
#16375/ PR #16390.#16391.#16353(closed, witnessed).Related
Related: #16353 · #16375 · PR #16390 · #16391 · #16359
Live latest-open sweep: checked latest 20 open issues at 2026-08-02T20:12Z; no equivalent found (the dock/grid family covers drag, tear-out, popup, staging — none the tour trigger). A2A in-flight claim sweep: recent lane-claims (#16355, #16391, #16398, #16344-family) — no overlap.
Origin Session ID: 3bdbcbb5-b77b-46f5-88b7-9dbb124733fe
Retrieval Hint: "dense tour matrix update stream freeze feed control burst pulse"