LearnNewsExamplesServices
Frontmatter
id18732
titleDemo-A drop-indicator journey is red, so three parity grains have no live witness
stateClosed
labels
bugaitestingdashboard
assigneesneo-opus-grace
createdAtSep 15, 2026, 12:03 PM
updatedAtSep 15, 2026, 12:46 PM
githubUrlhttps://github.com/neomjs/neo/issues/18732
authorneo-opus-grace
commentsCount1
parentIssue13158
subIssues[]
subIssuesCompleted0
subIssuesTotal0
contentTrust
projected
quarantined0
signals[]
blockedBy[]
blocking[]
closedAtSep 15, 2026, 12:46 PM

Demo-A drop-indicator journey is red, so three parity grains have no live witness

Closed v13.2.0/archive-v13-2-0-chunk-21 bugaitestingdashboard
neo-opus-grace
neo-opus-grace commented on Sep 15, 2026, 12:03 PM

Context

#13158's binding Closure Gate requires an item-by-item experience-parity matrix against ADR 0029 §4.1's interaction-grain inventory, every row carrying an evidence link. I posted that matrix on 2026-08-24 and named its own limit:

I read these assertions; I did not run them. … Do not close on my matrix alone — the missing step is one green run of the dashboard e2e set, which is yours to take or delegate.

That run happened today. NEO_AGENTOS_RUNTIME_ROOT wired, dashboard e2e set, --workers=1, at dev@3920d1069d: 72 passed, 8 failed. The dashboard unit tier is green in the same session — 1310 passed, 2 skipped — so this is not a broad breakage.

One of the eight is cited by the gate matrix: DemoADragMenuNL.spec.mjs:86, "drag lights the menu, indicators re-target the preview, the release commits + animates". Recorded first error, per #17844's census at dev@03219a75b7: over the root-coincident zone: the 5-position cross, chips omitted.

Live latest-open sweep 2026-09-15T10:05Z; full-text sweep over open and closed for DemoADragMenu returns nothing — the arm has never had a ticket. A2A claim sweep over the last 30 messages, all read-states: no competing claim. #17844 records the red but explicitly "owns evidence, not repair".

The Problem

That single arm is the gate's evidence for three §4.1 interaction grains:

§4.1 grain what the matrix cites
drag proxy .neo-dragproxy lifecycle asserted in this arm
drop-indicator overlays the hidden→visible class transition asserted in this arm
commit animation the release's commit + animate assertion in this arm

So three parity rows currently rest on a failing spec. The gate exists for exactly this: "four independent analysis passes scored the drag experience 'landed' at capability-list altitude" while the standing bar is experience-parity. A row whose evidence link points at a red spec is the capability-list failure mode with an artifact attached.

The escape-cancel row is unaffected and this is worth stating, because the two live in the same file: the gate cites DemoADragMenuNL.spec.mjs:261 for escape-cancel, and :261 passed in today's run. Only :86 is red.

The other seven failures are out of scope here. Three are DemoBCrossWindowDragNL, which #17844 dispositions as "the engaged branch is unreachable headless; a headed run decides before anyone re-owns them" — environment, not defect. The remaining four (DemoBDockTransactionsNL, DemoBPerspectivesNL, DemoBVesselConversionNL, DockPlacementNL) are Demo-B and placement journeys on #18303's surface; none is cited by #13158's gate matrix.

The Architectural Reality

  • test/playwright/e2e/dashboard/DemoADragMenuNL.spec.mjs:86 — the real-pointer §06 journey; Brain-gated, so no CI workflow selects it (#18246).
  • The failing assertion concerns the root-coincident zone: the 5-position cross renders while its chips are omitted. The arm's own message distinguishes the cross from the chips, so the projection produced one and not the other.
  • apps/agentos/view/DockPreview.mjs and the drop-indicator projection it drives — the surface the chips come from.
  • src/dashboard/DockZoneModel.mjs — the semantic-operation executor behind the indicator set.
  • ADR 0029 §4.1 — the interaction-grain inventory the gate measures against.

The Fix

  1. Run the whole file with the Brain runtime wired (never a --grep'd arm — #17844 trap 3) and capture the projected indicator set at the failing frame: which positions rendered, which chips were omitted, and what the model published for that zone.
  2. Decide between the two candidates the capture separates: the projection omits chips for a root-coincident zone (engine), versus the arm asserts a chip set the root-coincident case never had (spec). A root-coincident zone is a legitimate special case; it may correctly have no chips.
  3. Fix whichever it is, red-first at one head.
  4. Re-assert the three grains: with the arm green, #13158's matrix rows for drag proxy, drop-indicator overlays and commit animation carry a passing evidence link rather than an existing one.

Acceptance Criteria

  • AC-1 — The failure is attributed from a captured failing run: the capture shows either the model publishing chips the projection dropped, or the model correctly publishing none for a root-coincident zone while the arm expects some.
  • AC-2 — DemoADragMenuNL passes whole-file with the Brain runtime wired, --workers=1.
  • AC-3 — Red-first: the repair fails before it and passes after, at one head.
  • AC-4 — The :261 escape-cancel arm still passes — measured, not assumed.
  • AC-5 — #17844's failure table records the arm as fixed, and #13158's closure-gate matrix rows for the three grains cite this run.

Out of Scope

  • The seven other dashboard e2e reds. The DemoBCrossWindowDragNL trio is environment-bound per #17844; the Demo-B and placement journeys belong to #18303's surface.
  • Putting this spec into CI — Brain-gated by design (#18246).
  • Re-litigating ADR 0029 §4.1's grain inventory; this ticket restores a witness, it does not change the bar.

Avoided Traps

  • Do not --grep the failing arm alone. It has predecessors in its file (#17844 trap 3).
  • Do not assume the engine is wrong. A root-coincident zone plausibly has no chips by design; the arm may encode a pre-root-coincidence expectation.
  • Do not read the escape-cancel row as affected. Different arm, same file, and it passes.

Decision Record impact

aligned-with ADR 0029 — restores a witness for §4.1 grains; no authority change.

Related

Parent: #13158 (its closure gate cites this arm for three grains) · #17844 (the census recording the red and its first error) · #18246 (why no CI selects this spec) · #18303 (owns the other Demo-B reds, separately)

Origin Session ID: 148d12cc-9777-46e4-bfb9-a422479153a5

Retrieval Hint: query_raw_memories("DemoADragMenuNL root-coincident zone 5-position cross chips omitted")

tobiu referenced in commit c7a84df - "test(e2e): the Demo-A menu arm asserts the targets the count cannot tell apart (#18732) (#18733) on Sep 15, 2026, 12:46 PM
tobiu closed this issue on Sep 15, 2026, 12:46 PM