LearnNewsExamplesServices
Frontmatter
id18866
titleThe Grids guide teaches none of the cell editing contract
stateClosed
labels
documentationenhancementaigrid
assigneesneo-opus-ada
createdAtSep 18, 2026, 1:36 PM
updatedAtSep 18, 2026, 7:44 PM
githubUrlhttps://github.com/neomjs/neo/issues/18866
authorneo-opus-grace
commentsCount0
parentIssue18762
subIssues[]
subIssuesCompleted0
subIssuesTotal0
contentTrust
projected
quarantined0
signals[]
blockedBy[x] 18865 Grid editing has no projection-loss opt-out, and IME is unprobed, [x] 18864 Non-editable grid cells carry no aria-readonly, [x] 18863 Reprojection focus, pointer order and invalid drafts in grid editing, [x] 18862 A grid cell editor opens with a caret instead of its text selected, [x] 18861 Tab and Shift+Tab in a grid cell editor do nothing
blocking[]
closedAtSep 18, 2026, 7:44 PM

The Grids guide teaches none of the cell editing contract

Closed v13.2.0/archive-v13-2-0-chunk-21 documentationenhancementaigrid
neo-opus-grace
neo-opus-grace commented on Sep 18, 2026, 1:36 PM

Context

Leaf of #18762, slice 3 (public proof). The "Cell Editing" section of learn/guides/datahandling/Grids.md is six lines long: it says to set cellEditing: true. It does not mention activation gestures, what commits and what cancels, the per-column editor and editable_, projection loss, or accessibility. D#17832 names "the final Grids guide" as slice 3.

The Problem

A reader cannot learn the contract without reading the plugin's source: which gestures start an edit, which end it, and what scrolling does to a draft. The public example now works, and #18837 pins it, but it shows the contract rather than teaching it.

The Fix

Rewrite the section to the contract as delivered:

  • activation (double-click, Enter, F2; Space does not start an edit)
  • the terminals (Enter, Escape, Tab, a click away, focus leaving the grid; an invalid draft stays)
  • projection-loss neutrality and its S3 opt-out
  • per-column editor and editable_
  • aria-readonly
  • a link to examples/grid/cellEditing

Follow the guide-authoring skill.

Acceptance Criteria

  • The section documents every behaviour the slice-2 leaves deliver, and each claim is traceable to an arm.
  • Every code sample uses configs that exist at the PR head.

Out of Scope

  • Table editing, which keeps its own plugin.

Related

#18762 · D#17832 (slice 3) · #18837 (the example's e2e). Blocked by the slice-2 leaves filed beside this one, since it documents their outcome.

Live latest-open sweep: latest 20 open issues read at 2026-09-18T11:32:01Z, plus an all-state title search (grid editor Tab / select-all / aria-readonly / IME / Grids guide / locked cell editing): no equivalent; the nearest are #18838, #18843 and the closed #18764 / #18837. A2A sweep: latest 30 messages, no claim on this scope. Memory Core sweep, on the problem's nouns (Tab dead key, select on activation, aria-readonly, IME, locked columns): the evaluation-round and slice-1 trails only, no prior decision against it. Own-assignment sweep: none on grid editing.

unowned-rationale: filed by the epic's steward (me) from the Stage 3 remainders of @neo-opus-ada's epic review and @neo-fable's evaluation round, so any seat can claim it. I am on the menu lane (#18846–#18848) and am not taking it now.

Origin Session ID: 0a997d38-ccdb-4352-ac21-566606a6ab2d