LearnNewsExamplesServices
Frontmatter
id16498
titleResident cards lose children after a window place-cycle restore — the flagship F7 composition gate
stateOpen
labels
bugdesignaitesting
assigneesneo-gpt-emmy
createdAtAug 4, 2026, 2:13 PM
updatedAtAug 24, 2026, 6:12 PM
githubUrlhttps://github.com/neomjs/neo/issues/16498
authorneo-fable
commentsCount23
parentIssue15252
subIssues[]
subIssuesCompleted0
subIssuesTotal0
contentTrust
projected
quarantined0
signals[]
blockedBy[]
blocking[]
milestonev13.2

Resident cards lose children after a window place-cycle restore — the flagship F7 composition gate

Open Backlog/active-chunk-12 bugdesignaitesting
neo-fable
neo-fable commented on Aug 4, 2026, 2:13 PM

[Body amended 2026-08-08, by @neo-fable at the owner's request] — @neo-gpt-emmy's intake verdict (issuecomment-5228072177) + the direct t47 receipt (issuecomment-5228025105) falsified this ticket's original causal story: the signature is post-restore bystander child-loss (transient ≤6s, self-recovering, on panes no gesture touched, AFTER the window returns from the 1000×760 staged band to the full stage rect), not an Audit-specific tear-out effect. The kicker is nested INSIDE .workstation-resident-card (Workspace.mjs:2255-2264 at 2cd55fdd7d), so the take's pixel truth proves missing CHILDREN, never absent card DOM — DOM/vdom at t47 remains NOT_YET_MEASURED. The original candidate seams (tab activeIndex/removeDom, projection re-parenting, #16434 re-arm) are unsupported by current evidence; implementing from them would be a stale-premise patch. Original body preserved below the divider as the historical record.

Replacement contract (the body's authority; per the owner's intake)

  1. Pure restore-cycle witness at exact current head: drive 1200×1040 → 1000×760 → 1200×1040 without any drag; sample Queues, Priority Alerts, Audit, and Commits through the full transition.
  2. Card-level oracle: on every captured rAF, record pane/card geometry, computed visibility, and config/vdom/DOM identity. A frame may occupy one declared #16716 disclosure tier; kicker-visible + metric-hidden is never a declared tier and must red.
  3. Attribution control: run the same witness at pre-#16722 styling/head (or an isolated mutation removing the non-shrink/disclosure repair). Current green without a historical red proves only non-reproduction.
  4. Film gate: follow with a successful exact-current-head native-return journey plus whole-media/human QA — the full film claim does not close on sampled frames alone.

Disposition: historical-red/current-green + green native-return film ⟹ close as repaired by #16722 with receipts. Current-head red ⟹ split the newly named owning mechanism into a leaf; this ticket stays the flagship F7 composition/whole-film gate. Until then: not code-ready; no implementation from the pre-amendment candidate seams.

External arm: the exact-stage rig (take-18 bounds, verified arrangement) runs the place-cycle on request — offer standing from the rig owner.


Context

Operator-captured still from the take-18 WIP film cut (2026-08-04, dev head 2cd55fdd7d, WorkstationFiveBeatNL film mode headed; accepted capture sha256 3dfc1d13bd13d93077de8eb4ec8b1491582135d97c05999ae6f807bbb2ef6495): the right-top region shows the Audit tab header over a fully empty black body — no Evidence Audit card — while the metrics vessel is parked away from the main window (band ≈ t20–40 cut-relative; raw = +11.3s). The pane content returns in later frames. Live latest-open sweep: latest 20 open issues checked 2026-08-04 ~12:15Z, no equivalent; A2A all-status sweep last 30, no in-flight claim; local mirror grep for empty-pane-body: zero hits.

The Problem

The workstation dock document stages right-top-tabs: [metrics, audit]. When metrics tears out into a vessel, audit becomes the region's remaining/active item — but on camera the region renders the tab header with a black void where the Evidence Audit card should be. A region whose sibling departed must present its surviving pane, not an empty body. The state persists across multiple frames (not a single staging frame), so this is not FLIP-transient.

The Architectural Reality

  • The pane factory (apps/workstation/view/Workspace.mjs resolvePane) returns cached LIVE instances to preserve identity across re-projection; the audit pane is one of the resident placeholder panes (.workstation-placeholder hosting .workstation-resident-card).
  • Candidate seams, in classification order: (1) tab activeIndex/removeDom reconciliation when the sibling item leaves the collection (the hidden/removeDom repair patterns in Neo.tab.plugin.Overflow.applySplit document the two-surface trap: config says visible while a stale removeDom keeps the DOM absent); (2) dock projection re-parenting during the transfer leaving the surviving pane unmounted; (3) the pane instance surviving with mounted: false after the region churn (the #16434 re-arm class, but for panes rather than the overflow control).
  • Reproduction stage: the five-beat film run (NEO_FILM_TAKE=1 … --headed) or the plain headed scene-2 tear-out; observe the right-top region's DOM while the metrics vessel exists.

The Fix

Classification first: at the empty-body moment, capture the dock document, the region's tab container state (activeIndex, items), and the audit pane's mounted/vdom/DOM triplet — that names the owning seam. Repair at that seam (projection, tab reconciliation, or pane re-mount arm). No cosmetic patch at the app layer if the owner is a src/ reconciliation seam.

Acceptance Criteria

  • The empty-body state is reproduced with the owning seam named via the config/vdom/DOM triplet receipt.
  • After repair, at no point after a sibling tear-out does a surviving pane's region present a header-with-empty-body: the surviving pane renders, or the region presents a deliberate empty-state.
  • Witness spec covers tear-out → surviving-sibling render across both the plain and film-paced paths.
  • Attribution run at the pre-fix head proves the witness red.

Out of Scope

  • The conversion-boundary timing (#16497).
  • Re-entry double-embodiment and post-drop stacking (separate ticket in this audit set).

Decision Record impact

none — projection/reconciliation defect within landed contracts.

Related

#15252 (film epic — found by the WIP frame audit), #16497, #16434 (re-arm precedent class), #16467 (audit-pane cue family context).

Origin Session ID: 1913de09-6dc0-4d1e-a9a3-b51c33b46cdc

Retrieval Hint: query_raw_memories("audit pane empty body after metrics tear-out surviving sibling black region take-18")

tobiu referenced in commit 9508122 - "fix(dashboard): preserve tear-out source presentation (#16498) (#16719)" on Aug 8, 2026, 7:36 PM
tobiu referenced in commit ead6064 - "fix(tab): the surviving card must be activatable when the active index-0 tab leaves (#16498) on Aug 21, 2026, 2:31 AM