Context
Operator live report (2026-06-11, post-merge of PR #12881 + PR #12882, dev pulled, devindex reloaded): "column DD still broken." Reproduced within minutes on merged dev (b190f60b9) with a fresh-context native-input probe — the breakage is the center → locked-end cross-region leg, one of the deferred matrix cases (3–5) from #12878's characterization that no live test had covered post-fix.
The Problem
Probe results on merged dev (fresh chromium per case, page.mouse + {steps:60}, 1920×1080):
| Case |
Drag |
Result |
| C3 center→start |
Total → x=200 (inside start region) |
✅ re-homes: start [#,Rank,User,Total], center 33→32 |
| C4 start→center |
User → x=700 |
✅ re-homes: start 3→2, center 33→34, User at center idx 0 |
| C5 center→end |
Commits % → x=1600 (inside end region 1543–1663) |
❌ NO re-home: end stays [Updated], center count stays 33, Commits % merely slides right within center. Zero console/page errors — silent. |
| Sanity within-center |
Total → x=585 |
✅ idx 2 (PR #12882 behavior holds) |
The verification-doctrine point (operator-named, empirically proven tonight): PR #12882's 11 unit specs were green while this leg was broken — units exercise the landing resolver in isolation, not the region pipeline (snapshot → positional verdict → column.locked mutation → onColumnLockChange redistribution → body sync). Whitebox e2e through the live pipeline is the only evidence class that counts for this surface.
The Architectural Reality
- The C3/C4 successes prove the shared pipeline (drag-start region-rect snapshot in
draggable.grid.header.toolbar.SortZone#onDragStart → getDropRegion → lock mutation → redistribution) works — the failure is end-leg-specific.
- Two branch hypotheses (
hypothesis — needs V-B-A before implementation, in likelihood order):
grid.Container#bodyEnd unresolved at snapshot time → snapshot {end: null} → getDropRegion(1600, …) skips the end check → verdict null = column's current locked → no change. bodyEnd is a nullable config (src/grid/Container.mjs ~L93); its population path vs bodyStart's (~L809) needs the diff.
- End-leg of
onColumnLockChange redistribution fails silently (start-leg verified working).
- Discriminator is cheap: log the snapshot rects at drag-start (one temporary line) or assert
gridContainer.bodyEnd truthiness via the whitebox fixture before the drag.
The Fix
- Discriminate hypothesis 1 vs 2 via the whitebox path (NL fixture or worker-side assertion — NOT page-level only).
- Fix the end leg.
- Regression coverage: a committed whitebox e2e spec (per
.agents/skills/whitebox-e2e/) covering the full matrix — within-region ×2, cross-region ×4 legs (center↔start, center↔end), landing indices AND membership AND body-cell sync. The probe recipe (boot pattern, drag helper, geometry, reference assertions) is documented on #12807 (comment IC_kwDODSospM8AAAABFrw46Q) and composes with @neo-opus-ada's simulatability lane there.
Acceptance Criteria
Out of Scope
- The Neural Link window-registration enhancement (separate ticket, filed alongside this one) — the e2e fixture path works without it.
- Drag-feedback visual indicators (#12792's deferred polish — still unfiled, still the original author's lane).
Decision Record impact
none.
Related
Lineage: #12878 (corruption, fixed PR #12881) → #12880 (landing index, fixed PR #12882) → this (end-region pipeline leg). Verification substrate: #12807 (@neo-opus-ada). Umbrella: #9486. Operator report: 2026-06-11 ~01:42Z.
Release classification: ON the board — operator grid-polish directive; this IS the operator-reported live breakage.
Origin Session ID: 567191c3-16f6-4235-914c-b51fc94d1514
Retrieval Hint: query_raw_memories("center end cross-region re-home silent failure devindex probe")
Live latest-open sweep: checked latest 12 open issues at 2026-06-11T01:48Z; no equivalent (closest: #12807 = sim substrate). A2A in-flight sweep: mailbox zero; no overlapping claims.
Context
Operator live report (2026-06-11, post-merge of PR #12881 + PR #12882, dev pulled, devindex reloaded): "column DD still broken." Reproduced within minutes on merged dev (
b190f60b9) with a fresh-context native-input probe — the breakage is the center → locked-end cross-region leg, one of the deferred matrix cases (3–5) from #12878's characterization that no live test had covered post-fix.The Problem
Probe results on merged dev (fresh chromium per case,
page.mouse + {steps:60}, 1920×1080):Total→ x=200 (inside start region)[#,Rank,User,Total], center 33→32User→ x=700Userat center idx 0Commits %→ x=1600 (inside end region 1543–1663)[Updated], center count stays 33,Commits %merely slides right within center. Zero console/page errors — silent.Total→ x=585The verification-doctrine point (operator-named, empirically proven tonight): PR #12882's 11 unit specs were green while this leg was broken — units exercise the landing resolver in isolation, not the region pipeline (snapshot → positional verdict →
column.lockedmutation →onColumnLockChangeredistribution → body sync). Whitebox e2e through the live pipeline is the only evidence class that counts for this surface.The Architectural Reality
draggable.grid.header.toolbar.SortZone#onDragStart→getDropRegion→ lock mutation → redistribution) works — the failure is end-leg-specific.hypothesis — needs V-B-A before implementation, in likelihood order):grid.Container#bodyEndunresolved at snapshot time → snapshot{end: null}→getDropRegion(1600, …)skips the end check → verdictnull= column's currentlocked→ no change.bodyEndis a nullable config (src/grid/Container.mjs~L93); its population path vsbodyStart's (~L809) needs the diff.onColumnLockChangeredistribution fails silently (start-leg verified working).gridContainer.bodyEndtruthiness via the whitebox fixture before the drag.The Fix
.agents/skills/whitebox-e2e/) covering the full matrix — within-region ×2, cross-region ×4 legs (center↔start, center↔end), landing indices AND membership AND body-cell sync. The probe recipe (boot pattern, drag helper, geometry, reference assertions) is documented on #12807 (commentIC_kwDODSospM8AAAABFrw46Q) and composes with @neo-opus-ada's simulatability lane there.Acceptance Criteria
Commits %→ x=1600 re-homes to the end region (end = 2 items, column.locked = 'end', body cells follow)Out of Scope
Decision Record impact
none.
Related
Lineage: #12878 (corruption, fixed PR #12881) → #12880 (landing index, fixed PR #12882) → this (end-region pipeline leg). Verification substrate: #12807 (@neo-opus-ada). Umbrella: #9486. Operator report: 2026-06-11 ~01:42Z.
Release classification: ON the board — operator grid-polish directive; this IS the operator-reported live breakage.
Origin Session ID: 567191c3-16f6-4235-914c-b51fc94d1514 Retrieval Hint:
query_raw_memories("center end cross-region re-home silent failure devindex probe")Live latest-open sweep: checked latest 12 open issues at 2026-06-11T01:48Z; no equivalent (closest: #12807 = sim substrate). A2A in-flight sweep: mailbox zero; no overlapping claims.