Context
T3.11 of Epic #14560 (map v1.1) — the live activity feed, the surface where "real-time is the spine" (SSOT §01 principle) is proven or falsified. Filed under the decomposition sprint (D#14561).
The Problem
The #14592 density evidence made this leaf's hardest requirement concrete: boot-burst reality is ~9 events/min at one consumer, and a stream sized to the mock's 5 visible events overflows in ~35 seconds. Backpressure-aware, bounded rendering is load-bearing, not decorative — an unbounded feed at burst either freezes the frame (falsifying the engine story publicly) or silently drops events (falsifying the feed).
The Architectural Reality
- Composes #14594 EventChips + #14578 tokens under the #14577-gated namespace.
- Consumes the Lane-C adapters (#14572 A2A · #14573 PR/lane) as the ONLY event sources — consume, never re-classify (lane seam).
- Bounded window per the #14592-derived numbers: visible buffer ≈ 15, virtualization + "N more" fold; degrade-honestly on adapter loss (stale-as-stale banner, never a silent freeze).
- The engine's update-rate story is the point: event application rides the normal data→VDom flow, no manual DOM.
The Fix
The per-view triplet: (1) ActivityStream (bounded buffer, fold behavior, kind-chips, timestamps per the SSOT anatomy); (2) unit specs — bound holds under a 100-event fixture burst, fold count correct, unknown-kind events render via #14594's neutral path, adapter-loss degrade; (3) NL-verifiable mount on the live feeds.
Acceptance Criteria
Out of Scope
Adapter internals (Lane C) · chips (#14594) · the burst e2e spec (T3.13, next) · detail-view event panes (T4).
Related
Epic #14560 (parent) · blocked-by #14594 · consumes #14572/#14573 · #14592 (the numbers) · D#14561.
Live latest-open sweep: fold-window fresh (newest #14605); no equivalent. A2A sweep: clean. Structure-map gate: N/A — app-layer component.
Origin Session ID: a28f1415-37a4-4a5a-a3e4-b56adf6274ec
Retrieval Hint: "FM cockpit ActivityStream bounded backpressure burst fold"
Context
T3.11 of Epic #14560 (map v1.1) — the live activity feed, the surface where "real-time is the spine" (SSOT §01 principle) is proven or falsified. Filed under the decomposition sprint (D#14561).
The Problem
The #14592 density evidence made this leaf's hardest requirement concrete: boot-burst reality is ~9 events/min at one consumer, and a stream sized to the mock's 5 visible events overflows in ~35 seconds. Backpressure-aware, bounded rendering is load-bearing, not decorative — an unbounded feed at burst either freezes the frame (falsifying the engine story publicly) or silently drops events (falsifying the feed).
The Architectural Reality
The Fix
The per-view triplet: (1) ActivityStream (bounded buffer, fold behavior, kind-chips, timestamps per the SSOT anatomy); (2) unit specs — bound holds under a 100-event fixture burst, fold count correct, unknown-kind events render via #14594's neutral path, adapter-loss degrade; (3) NL-verifiable mount on the live feeds.
Acceptance Criteria
Out of Scope
Adapter internals (Lane C) · chips (#14594) · the burst e2e spec (T3.13, next) · detail-view event panes (T4).
Related
Epic #14560 (parent) · blocked-by #14594 · consumes #14572/#14573 · #14592 (the numbers) · D#14561.
Live latest-open sweep: fold-window fresh (newest #14605); no equivalent. A2A sweep: clean. Structure-map gate: N/A — app-layer component.
Origin Session ID: a28f1415-37a4-4a5a-a3e4-b56adf6274ec Retrieval Hint: "FM cockpit ActivityStream bounded backpressure burst fold"