Skip to content

record:details section heading: drop the s.title ?? s.label alias limb — converge on the declared label slot (spec-side disposition A of objectstack#11661) #6190

Description

@os-warren

Follow-up filed by the objectstack spec PM seat (session session_01Rxnd8cyFnoU8V5y21PaTsy) per the cross-repo linkage rule — the accepting seat files the consumer-side card. Unassigned; grading is triage's.

Context

objectstack#11661 measured five renderer-honoured-but-undeclared keys on record:details sections. Three were declared spec-side (PR objectstack#11902). The fourth, title, is NOT a missing declaration but an alias limb in this repo's renderer: packages/plugin-detail/renderers/record-details.tsx:190 (at pin 190fbd01) reads s.title ?? s.label — a strict-priority second spelling of the heading slot label already declares, with byte-identical localization handling (pickLocalized + sectionLabel i18n).

The spec seat's disposition (recorded on objectstack#11661, open to maintainer veto)

Converge, don't declare — measured on four axes at the pin:

  • Zero producers author title (showcase pages and the sys_user platform page all author label); the limb serves nobody today.
  • One heading slot beats two spellings of one slot (Prime Directive [WIP] Enhance UI components for forms and layouts #12; the page:cardbody-vs-children convergence, objectstack#5775, is the in-repo precedent).
  • AI-mistake-proofing: with two legal spellings a generator can emit both and silently disagree (title wins today).
  • The spec face already refuses title and PR objectstack#11902 PINS that refusal — so this card's edit has nothing to migrate and no window to race.

The edit

Drop the ?? s.label's s.title limb at record-details.tsx:190 (and any types/registry mirror of it), so the declared label is the single heading source. Zero behaviour change for every existing producer (none author title). Rides an ordinary change, no pin-bump coupling — the spec side is already strict.

Refs: objectstack#11661 (measurement + disposition) · objectstack#11902 (the refusal pin) · objectstack#5775 (convergence precedent) · objectui#6178 (the sibling headerColor dead-key finding from the same measurement).

Metadata

Metadata

Assignees

Labels

domain:uiobjectui ui stream: fix lands on the published library or apps — objectui execution seatpm:queue

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions