Found while enumerating the renderListView relay for #7199. Same defect class as that
card — a key the schema declares, the renderer reads, and no host ever hands down — but a
different key, so it is filed rather than folded into that PR.
Measured
Two hosts assemble the schema ListView receives:
packages/app-shell/src/views/ObjectView.tsx, renderListView — fullSchema, which
spreads the object's listSchema and then relays 46 keys explicitly off the active
viewDef.packages/plugin-view/src/ObjectView.tsx, the host-composition literal fenced by the
object-view HOST-COMPOSITION SURFACE region markers — 46 keys, which is what the
spread above carries in.
Taking the union of both and subtracting the per-view-kind configs that are folded into
options.*, ten declared keys reach neither. Of those ten, exactly three are actually
read by plugin-list:
| key | read at | relayed by app-shell? | relayed by plugin-view? |
|---|
description | ListView.tsx render | no | no |
fieldOrder | ListView.tsx:2078-2088 (column order) | no | no |
rowColor | ListView.tsx:1045 (seeds rowColorConfig state) | no | no |
description is #7199 and is being fixed. fieldOrder and rowColor are this card.
All three are declared members: ListViewSchema.shape from the built
packages/types/dist/zod/objectql.zod.js carries 89 keys and fieldOrder / rowColor are
both among them (they arrive from the @objectstack/spec base the local schema extends).
So this is not an off-spec key being read — it is authorable metadata with a live reader
and no delivery path.
Symptom shape
Identical to #7199, which is why it is worth a card rather than a comment: nothing errors,
every authoring gate passes, and the only symptom is that an authored column order (or row
colour) has no effect on screen. An author has no way to notice short of diffing the DOM.
fieldOrder is the more interesting of the two — ListView has a complete implementation
behind it (it builds an order map and sorts the column set), reachable today only if some
caller puts the key on the schema directly.
Not verified here
Whether either key is intended to be author-reachable on a per-view entry, or whether
they are deliberately object-level only. That is the triage question, and it may differ per
key. I measured the delivery gap, not the intent.
rowColor also appears in #5435 from a different angle (normalizeListViewSchema
manufacturing it, and a view-save gate refusing it by name). Worth reading the two together
before acting on either — they may want one resolution, and #5435 is currently on hold.
Deliberately not fixed in the #7199 PR
Widening that PR to cover these would have added an unrelated verification surface to a
card whose scope is the description path. Filing instead, per the dispatch.
Generated by Claude Code
Found while enumerating the
renderListViewrelay for #7199. Same defect class as thatcard — a key the schema declares, the renderer reads, and no host ever hands down — but a
different key, so it is filed rather than folded into that PR.
Measured
Two hosts assemble the schema
ListViewreceives:packages/app-shell/src/views/ObjectView.tsx,renderListView—fullSchema, whichspreads the object's
listSchemaand then relays 46 keys explicitly off the activeviewDef.packages/plugin-view/src/ObjectView.tsx, the host-composition literal fenced by theobject-view HOST-COMPOSITION SURFACEregion markers — 46 keys, which is what thespread above carries in.
Taking the union of both and subtracting the per-view-kind configs that are folded into
options.*, ten declared keys reach neither. Of those ten, exactly three are actuallyread by
plugin-list:descriptionListView.tsxrenderfieldOrderListView.tsx:2078-2088(column order)rowColorListView.tsx:1045(seedsrowColorConfigstate)descriptionis #7199 and is being fixed.fieldOrderandrowColorare this card.All three are declared members:
ListViewSchema.shapefrom the builtpackages/types/dist/zod/objectql.zod.jscarries 89 keys andfieldOrder/rowColorareboth among them (they arrive from the
@objectstack/specbase the local schema extends).So this is not an off-spec key being read — it is authorable metadata with a live reader
and no delivery path.
Symptom shape
Identical to #7199, which is why it is worth a card rather than a comment: nothing errors,
every authoring gate passes, and the only symptom is that an authored column order (or row
colour) has no effect on screen. An author has no way to notice short of diffing the DOM.
fieldOrderis the more interesting of the two —ListViewhas a complete implementationbehind it (it builds an order map and sorts the column set), reachable today only if some
caller puts the key on the schema directly.
Not verified here
Whether either key is intended to be author-reachable on a per-view entry, or whether
they are deliberately object-level only. That is the triage question, and it may differ per
key. I measured the delivery gap, not the intent.
rowColoralso appears in #5435 from a different angle (normalizeListViewSchemamanufacturing it, and a view-save gate refusing it by name). Worth reading the two together
before acting on either — they may want one resolution, and #5435 is currently on hold.
Deliberately not fixed in the #7199 PR
Widening that PR to cover these would have added an unrelated verification surface to a
card whose scope is the description path. Filing instead, per the dispatch.
Generated by Claude Code