Filed by the domain:ui seat (session session_012wwHa4aaFybxXrfmfHioDM) out of #7165 / PR #7193, whose implementer measured it, reported it, and correctly left it untouched as outside that card. Filed unassigned.
Measured
packages/plugin-grid/src/ObjectGrid.tsx still lists renderCellEditor in its ObjectGridDataTableSchemaHolds type as an undeclared-but-live HELD key, with surrounding census prose stating that whether DataTableSchema should declare it is a pending packages/types ruling.
⛔ That ruling happened.#6882 declared DataTableSchema.renderCellEditor on 2026-08-30, replacing a (schema as any) cast. As of today the key has:
- a declaration in
packages/types/src/data-display.ts - a Zod mirror in
packages/types/src/zod/data-display.zod.ts - an exact-shape pin — an
Equal (not extends) assertion in packages/types/src/__tests__/data-table-declared-keys-6882.test.ts, whose own comment says the shape is pinned deliberately
⇒ The hold entry describes a state that ended two days ago, and the "pending ruling" sentence asserts the opposite of the tree.
Severity: harmless today, and that is exactly why it is worth filing
⚠️No behaviour is wrong. The intersection between the held key and the declared member is identical, so nothing mis-renders and no type is unsound. This is a documentation defect only.
But it is the class this repo keeps paying for:
⭐ In each case the prose was load-bearing for someone's reasoning before anyone checked it against the tree. A held-key census is specifically a document that later readers trust instead of re-measuring — that is its whole purpose — so a stale entry in it is worth more than its size suggests. A reader deciding today whether renderCellEditor is safe to rely on would conclude from this file that it is undeclared and unsettled, and would be wrong on both counts.
Sharpened by a live consequence
This is not hypothetical drift. #7165's implementer had to answer "is the editor context published surface?" as its gating measurement — the answer decided whether option B was Clause ②-engaged and therefore whether the card could be fixed properly today. The answer is yes, on three surfaces, and this file says the question is still open.
⇒ Anyone who trusted the census comment instead of reading packages/types would have concluded B was internal and shipped a Clause ② change below tier.
Scope
Adjacency warning for whoever takes it
ObjectGrid.tsx and the relationalMetaKeys area around it have been edited by three PRs today (#7167, #7186, #7193). Re-derive on current main rather than against this card's text, and expect the line numbers to have moved.
Refs: #6882 (the ruling that landed) · #7165 / PR #7193 (where it was measured) · #7166 / PR #7186 · #7151 (the same class, with the history recovery) · #6252 / PR #7180.
Filed by the
domain:uiseat (sessionsession_012wwHa4aaFybxXrfmfHioDM) out of #7165 / PR #7193, whose implementer measured it, reported it, and correctly left it untouched as outside that card. Filed unassigned.Measured
packages/plugin-grid/src/ObjectGrid.tsxstill listsrenderCellEditorin itsObjectGridDataTableSchemaHoldstype as an undeclared-but-live HELD key, with surrounding census prose stating that whetherDataTableSchemashould declare it is a pendingpackages/typesruling.⛔ That ruling happened.#6882 declared
DataTableSchema.renderCellEditoron 2026-08-30, replacing a(schema as any)cast. As of today the key has:packages/types/src/data-display.tspackages/types/src/zod/data-display.zod.tsEqual(notextends) assertion inpackages/types/src/__tests__/data-table-declared-keys-6882.test.ts, whose own comment says the shape is pinned deliberately⇒ The hold entry describes a state that ended two days ago, and the "pending ruling" sentence asserts the opposite of the tree.
Severity: harmless today, and that is exactly why it is worth filing
But it is the class this repo keeps paying for:
fieldMetahave no reader on that bag — the picker keys reach the editor by a different seam #7166 / PR fix(plugin-grid): retire the three inertfieldMetacopies the cell never reads #7186 — a docblock claiming the inline editor "dispatches the same bag", which was false and was what a whole class of card had been filed against.actions: string[]likerecord:quick_actionsdoes (objectstack#11592 ruling) #6252 / PR fix(components): page:header resolves declared action ids #7180 — three call-site comments saying the copy exists so "the inline picker can query", corrected in the same pass.⭐ In each case the prose was load-bearing for someone's reasoning before anyone checked it against the tree. A held-key census is specifically a document that later readers trust instead of re-measuring — that is its whole purpose — so a stale entry in it is worth more than its size suggests. A reader deciding today whether
renderCellEditoris safe to rely on would conclude from this file that it is undeclared and unsettled, and would be wrong on both counts.Sharpened by a live consequence
This is not hypothetical drift. #7165's implementer had to answer "is the editor context published surface?" as its gating measurement — the answer decided whether option B was Clause ②-engaged and therefore whether the card could be fixed properly today. The answer is yes, on three surfaces, and this file says the question is still open.
⇒ Anyone who trusted the census comment instead of reading
packages/typeswould have concluded B was internal and shipped a Clause ② change below tier.Scope
ObjectGridDataTableSchemaHoldsentry and the surrounding census prose to record that [Decision] DeclarerenderCellEditorand schema-levelcellClassNameonDataTableSchema? — the two live undeclared keys the #6459 census measured #6882 declared the key, with the three surfaces named.Adjacency warning for whoever takes it
ObjectGrid.tsxand therelationalMetaKeysarea around it have been edited by three PRs today (#7167, #7186, #7193). Re-derive on currentmainrather than against this card's text, and expect the line numbers to have moved.Refs: #6882 (the ruling that landed) · #7165 / PR #7193 (where it was measured) · #7166 / PR #7186 · #7151 (the same class, with the history recovery) · #6252 / PR #7180.