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
Filed unassigned by the domain:ui dev seat working objectui#7014 (session session_01EMrWaQw3XS5DxTHxp4yRyC) — recording, not claiming. Found by the same instrument that produced #7014's corrections; out of that card's scope (different package, different contract), so it is filed rather than ridden along.
Dedupe: searched before filing; the control returned live, on-topic results (27 hits incl. #7279, #7293, and the closed same-class sibling #5830), so a nil result here is a reading. No open card covers this.
// Per @objectstack/spec, DashboardSchema.title is "the dashboard// title displayed in the header". We prefer it when present, then// fall back to `label` (the metadata display name) and finally to// the raw `name`.
Measured on the installed @objectstack/spec@17.2.0
DashboardSchema has no title key, and refuses it by name:
DashboardSchema {title:"T"} REJECT unrecognized_keys(title)@root
DashboardSchema control (no title) ACCEPT
Its 20 keys are _lock, _lockDocsUrl, _lockReason, _lockSource, _packageId, _packageVersion, _provenance, aria, columns, dateRange, description, gap, globalFilters, header, label, name, performance, protection, refreshInterval, widgets — label, not title.
Why it is worth a card rather than a comment edit
The runtime code around it reads headerSrc.title through an as any cast, so the read itself compiles and the fallback chain (title then label then name) still works for a host that passes a previewSchema carrying title. The defect is that the comment attributes the key to the spec, which makes it read as authorable dashboard metadata — and authoring it produces a 422 rather than a header.
Two dispositions, not obviously the same job, which is why this is not self-evident:
Correct the comment only — say title is a preview/host-supplied key the spec refuses, and that authored metadata must use label. Cheapest, changes nothing.
⛔ Not proposing a disposition; a census of who supplies previewSchema.title is the missing input.
Same blind spot as objectui#7014
scripts/check-spec-symbol-derivation.mjs cannot see this. Rule 2 reads only the doc comment attached to a declaration; this claim sits in a comment inside a function body. And even where a claim is read, it is validated only at symbol granularity — DashboardSchema is a live spec export, so a citation of DashboardSchema.title passes the dangling-citation precision rule although .title is not a key of it. The gate reports identical numbers with this defect present.
Filed unassigned by the
domain:uidev seat working objectui#7014 (sessionsession_01EMrWaQw3XS5DxTHxp4yRyC) — recording, not claiming. Found by the same instrument that produced #7014's corrections; out of that card's scope (different package, different contract), so it is filed rather than ridden along.Dedupe: searched before filing; the control returned live, on-topic results (27 hits incl. #7279, #7293, and the closed same-class sibling #5830), so a nil result here is a reading. No open card covers this.
The claim
packages/app-shell/src/views/DashboardView.tsx:173:Measured on the installed
@objectstack/spec@17.2.0DashboardSchemahas notitlekey, and refuses it by name:Its 20 keys are
_lock, _lockDocsUrl, _lockReason, _lockSource, _packageId, _packageVersion, _provenance, aria, columns, dateRange, description, gap, globalFilters, header, label, name, performance, protection, refreshInterval, widgets—label, nottitle.Why it is worth a card rather than a comment edit
The runtime code around it reads
headerSrc.titlethrough anas anycast, so the read itself compiles and the fallback chain (titlethenlabelthenname) still works for a host that passes apreviewSchemacarryingtitle. The defect is that the comment attributes the key to the spec, which makes it read as authorable dashboard metadata — and authoring it produces a 422 rather than a header.Two dispositions, not obviously the same job, which is why this is not self-evident:
titleis a preview/host-supplied key the spec refuses, and that authored metadata must uselabel. Cheapest, changes nothing.titleread should exist at all. The same class was retired twice on this surface already (finding(types):DashboardComponentSchema.ariadeclares a key the spec tombstoned and no renderer reads — stale "Aligned with @objectstack/spec AriaPropsSchema" claim #5830DashboardComponentSchema.aria, finding(types): designer-surfaceDashboardConfig.aria/DashboardConfigSchema.ariadeclare a{ label, description }aria object nothing reads — and the panel they document does not consume them #5852DashboardConfig.aria), both on ADR-0049 declared-but-unenforced grounds. If no host actually suppliestitle, the read and its fallback arm are dead.⛔ Not proposing a disposition; a census of who supplies
previewSchema.titleis the missing input.Same blind spot as objectui#7014
scripts/check-spec-symbol-derivation.mjscannot see this. Rule 2 reads only the doc comment attached to a declaration; this claim sits in a comment inside a function body. And even where a claim is read, it is validated only at symbol granularity —DashboardSchemais a live spec export, so a citation ofDashboardSchema.titlepasses the dangling-citation precision rule although.titleis not a key of it. The gate reports identical numbers with this defect present.