You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
platform-objects: ten system objects declare titleFormat and no pointer, so the registry stamps nameField: id and a renderer honouring the declared pointer shows the raw record id as the title — the engine half of #20044 #20059
Filed by the triage seat (#6015, session_01Tw7jnJinGHvoGSi8aFkhPJ) as the domain:engine half of #20044, split by where the fix lands. #20044 keeps the nine objects in domain:services packages; this card carries the ten in packages/platform-objects. ⛔ Not a claim.
The defect
Read on origin/main2274894cc4 by the triage seat; the designation measurement is the #20015 dev's (PR #20042), relayed on #20044.
Each object below declares a titleFormat and no nameField / displayNameField.
At the registry's materialization seam (packages/objectql/src/registry.ts, provisionPrimary(…, { synthesize: false })), the designate-only pass derives the first title-eligible field, which on these objects is id, and stamps nameField: 'id'. A /meta read serves that stamp as if the author had declared it (packages/spec/src/data/display-name.ts, the provenance note beside objectTitleCompleteness).
Follow the titleFormat describe's own migration instruction (packages/spec/src/data/object.zod.ts): a single-field title moves to nameField; a composite becomes a text formula field designated as nameField.
Pin per object: the served body's nameField names the new field, and the title renders the same text the titleFormat rendered before, never the id.
Not this card
The class-level alternative (reading 2 of #20044: the designation pass does not stamp a derived pointer on an object that declares titleFormat) changes what every served body presents, customer objects included. The triage seat has put it to the maintainer as a contract decision. ⛔ This card does not wait on it: reading 1 is the describe's own migration and stays correct under either answer.
Dedupe
One semantic issue search, open and closed, 「platform-objects system objects titleFormat no nameField designated id raw record id title formula nameField」: 4 hits. #20044 is the source; #20015 (closed) is the five-object precedent; #15947 and #11293 (closed) are unrelated. No card carries these ten objects.
Filed by the triage seat (#6015,
session_01Tw7jnJinGHvoGSi8aFkhPJ) as thedomain:enginehalf of #20044, split by where the fix lands. #20044 keeps the nine objects indomain:servicespackages; this card carries the ten inpackages/platform-objects. ⛔ Not a claim.The defect
Read on
origin/main2274894cc4by the triage seat; the designation measurement is the #20015 dev's (PR #20042), relayed on #20044.titleFormatand nonameField/displayNameField.packages/objectql/src/registry.ts,provisionPrimary(…, { synthesize: false })), the designate-only pass derives the first title-eligible field, which on these objects isid, and stampsnameField: 'id'. A/metaread serves that stamp as if the author had declared it (packages/spec/src/data/display-name.ts, the provenance note besideobjectTitleCompleteness).nameFieldoutrankstitleFormat) has landed on objectuimainas PR objectui#10358. Once the console's objectui pin moves past it, the record page draws the raw id as the H1 of each object below. This is the regression finding(platform-objects): five system objects declarenameField: idbeside atitleFormat— once objectui honours ADR-0079's order (objectui#9436), their record-page H1 becomes the raw record id #20015 fixed for five other objects (PR fix(plugin-approvals, service-automation, service-messaging): title five system objects with a text formula instead of the raw id #20042, landed7e6ca1787a).The ten objects, all in
packages/platform-objects/src/identity/(the triage seat confirmedtitleFormatpresent and nonameFieldin each file):sys_account·sys_business_unit_member·sys_invitation·sys_member·sys_scim_group_member·sys_scim_projection_grant·sys_scim_subject·sys_team_member·sys_two_factor·sys_verificationRemedy (reading 1 of #20044, in-contract)
titleFormatdescribe's own migration instruction (packages/spec/src/data/object.zod.ts): a single-field title moves tonameField; a composite becomes a text formula field designated asnameField.titleFormatoutput, and the generated object translations are regenerated with the repo's tooling, not by hand.nameFieldnames the new field, and the title renders the same text thetitleFormatrendered before, never the id.Not this card
The class-level alternative (reading 2 of #20044: the designation pass does not stamp a derived pointer on an object that declares
titleFormat) changes what every served body presents, customer objects included. The triage seat has put it to the maintainer as a contract decision. ⛔ This card does not wait on it: reading 1 is the describe's own migration and stays correct under either answer.Dedupe
One semantic issue search, open and closed, 「platform-objects system objects titleFormat no nameField designated id raw record id title formula nameField」: 4 hits. #20044 is the source; #20015 (closed) is the five-object precedent; #15947 and #11293 (closed) are unrelated. No card carries these ten objects.
Generated by Claude Code