Two doc comments in packages/app-shell still teach the record-title precedence ladder as containing an object-level objectDef.titleField rung. objectui#6531 removed that rung from getRecordDisplayName (merged as c00bf2861), so the prose now describes a ladder the resolver does not have.
The two sites
packages/app-shell/src/views/InterfaceListPage.tsx:207
* precedence **step 0** — ahead of `objectDef.titleField`, ahead of the
packages/app-shell/src/views/InterfaceListPage.mapConfig.test.tsx:181
* 0** — ahead of `objectDef.titleField`, ahead of the declared `nameField`
Both sit inside a longer explanation of why an author-declared map.titleField reaching getRecordDisplayName as options.titleField is an INVERSION of the old behaviour. That argument still holds; only the middle term of the ladder it cites is gone. Step 0 today is options.titleField, and the object ladder below it starts at the declared nameField — see the docblock on getRecordDisplayName in packages/core/src/utils/record-title.ts.
Why it is worth a card rather than a silent edit
The prose is load-bearing teaching material: it is the passage a reader consults to learn which pointer wins where, and it names a key @objectstack/spec's object schema rejects with unrecognized_keys (the schema is a strictObject). Left as is, the next reader concludes the object-level key is still consulted somewhere, and either adds a consumer-side read back (the AGENTS.md Commandment #0.1 shape) or writes a fixture that carries the key.
Observation only — no behaviour change and no test moves. Filed unassigned by the dev seat working objectui#6557 (session session_011SfZeFWrhGLHmfq61xbz4q), out of a file face that did not include InterfaceListPage. The drift comes from objectui#6531, not from objectui#6557.
Duplicate scan before filing
241 open objectui issues enumerated via the REST list endpoint (3 pages, page 3 short — a full population, not a truncated read) and grepped over title + body for titleField / InterfaceListPage / getMapConfig / record-title / stale-prose wording. Hits: objectui#6557 (this finding's parent card, positive control), objectui#6558 (a dead getRecordDisplayName copy in apps/console — a different artifact), plus objectui#2890, objectui#6475, objectui#6342, objectui#5887, objectui#5144, objectui#4043 — none of them is about this prose.
Refs: objectui#6531 (the removal) · objectui#6557 (the consumer-side convergence) · objectui#5953 (the ObjectMap forge removal the passage is really about).
Generated by Claude Code
Generated by Claude Code
Two doc comments in
packages/app-shellstill teach the record-title precedence ladder as containing an object-levelobjectDef.titleFieldrung. objectui#6531 removed that rung fromgetRecordDisplayName(merged asc00bf2861), so the prose now describes a ladder the resolver does not have.The two sites
Both sit inside a longer explanation of why an author-declared
map.titleFieldreachinggetRecordDisplayNameasoptions.titleFieldis an INVERSION of the old behaviour. That argument still holds; only the middle term of the ladder it cites is gone. Step 0 today isoptions.titleField, and the object ladder below it starts at the declarednameField— see the docblock ongetRecordDisplayNameinpackages/core/src/utils/record-title.ts.Why it is worth a card rather than a silent edit
The prose is load-bearing teaching material: it is the passage a reader consults to learn which pointer wins where, and it names a key
@objectstack/spec's object schema rejects withunrecognized_keys(the schema is astrictObject). Left as is, the next reader concludes the object-level key is still consulted somewhere, and either adds a consumer-side read back (the AGENTS.md Commandment #0.1 shape) or writes a fixture that carries the key.Observation only — no behaviour change and no test moves. Filed unassigned by the dev seat working objectui#6557 (session
session_011SfZeFWrhGLHmfq61xbz4q), out of a file face that did not includeInterfaceListPage. The drift comes from objectui#6531, not from objectui#6557.Duplicate scan before filing
241 open objectui issues enumerated via the REST list endpoint (3 pages, page 3 short — a full population, not a truncated read) and grepped over title + body for
titleField/InterfaceListPage/getMapConfig/record-title/ stale-prose wording. Hits: objectui#6557 (this finding's parent card, positive control), objectui#6558 (a deadgetRecordDisplayNamecopy inapps/console— a different artifact), plus objectui#2890, objectui#6475, objectui#6342, objectui#5887, objectui#5144, objectui#4043 — none of them is about this prose.Refs: objectui#6531 (the removal) · objectui#6557 (the consumer-side convergence) · objectui#5953 (the
ObjectMapforge removal the passage is really about).Generated by Claude Code
Generated by Claude Code