Observation filed unassigned by the dev seat implementing the @objectstack/spec 17.1.0 pin bump (#5328). Not a defect that breaks anything today — the palette works — but the naming is inverted and someone should decide which way it points.
What was measured
record:chatter and record:discussion are the same renderer under two names — packages/plugin-detail/src/index.tsx:589 says so directly, and packages/core/src/registry/public-blocks.ts:57 records the direction:
record:chatter … as record:discussion under a Salesforce-familiar name, kept for schemas
So record:discussion is the canonical spelling and record:chatter is the compatibility alias. objectui has emitted the canonical one all along — packages/plugin-detail/src/synth/buildDefaultPageSchema.ts:731 is componentNode('record:discussion').
The metadata-admin palette, however, offers record:chatter (BLOCK_TYPE_META, labelled "Chatter feed") and had no entry for record:discussion at all, because spec 17.0.0's PageComponentType did not declare the canonical name. 17.1.0 added it (34 members before and after — element:filter left as record:discussion arrived, so the member count is unchanged and hides the swap).
That made block-config.test.ts's "every spec block type is either offered or explicitly excluded" fail on the pin bump, and #5328 resolved it the no-UX-change way: a PALETTE_EXCLUSIONS entry for record:discussion reading "same renderer as the offered record:chatter — one palette entry per renderer".
Why that resolution deserves a follow-up
It is correct as a pin-bump edit — offering both would put two identical blocks in the palette, and flipping which one is offered changes what authors drag — but it leaves the tree in a slightly odd state: the palette now explicitly excludes the canonical name and advertises the alias.
The decision
Either:
- offer
record:discussion, exclude record:chatter — palette matches the canonical spec name and the schema objectui itself emits; the alias stays renderable for existing schemas, just not advertised. Author-visible label probably stays "Discussion". Changes what new pages get authored with, which is the point. - keep it as is and record that "Chatter feed" is the deliberate author-facing name for the pair, in which case the exclusion comment is the whole story and this card closes as won't-fix.
Refs: #5328 (where it surfaced) · #4935 (the sibling element:filter residue in the same file).
Observation filed unassigned by the dev seat implementing the
@objectstack/spec17.1.0 pin bump (#5328). Not a defect that breaks anything today — the palette works — but the naming is inverted and someone should decide which way it points.What was measured
record:chatterandrecord:discussionare the same renderer under two names —packages/plugin-detail/src/index.tsx:589says so directly, andpackages/core/src/registry/public-blocks.ts:57records the direction:So
record:discussionis the canonical spelling andrecord:chatteris the compatibility alias. objectui has emitted the canonical one all along —packages/plugin-detail/src/synth/buildDefaultPageSchema.ts:731iscomponentNode('record:discussion').The metadata-admin palette, however, offers
record:chatter(BLOCK_TYPE_META, labelled "Chatter feed") and had no entry forrecord:discussionat all, because spec17.0.0'sPageComponentTypedid not declare the canonical name.17.1.0added it (34 members before and after —element:filterleft asrecord:discussionarrived, so the member count is unchanged and hides the swap).That made
block-config.test.ts's "every spec block type is either offered or explicitly excluded" fail on the pin bump, and #5328 resolved it the no-UX-change way: aPALETTE_EXCLUSIONSentry forrecord:discussionreading "same renderer as the offeredrecord:chatter— one palette entry per renderer".Why that resolution deserves a follow-up
It is correct as a pin-bump edit — offering both would put two identical blocks in the palette, and flipping which one is offered changes what authors drag — but it leaves the tree in a slightly odd state: the palette now explicitly excludes the canonical name and advertises the alias.
The decision
Either:
record:discussion, excluderecord:chatter— palette matches the canonical spec name and the schema objectui itself emits; the alias stays renderable for existing schemas, just not advertised. Author-visible label probably stays "Discussion". Changes what new pages get authored with, which is the point.Refs: #5328 (where it surfaced) · #4935 (the sibling
element:filterresidue in the same file).