Skip to content

docs(guide): slotted-pages' "customize only the header" example writes eyebrow and icon on a page:header, which the contract refuses #11165

Description

@objectstack-fleet

Filing-gate category: ③ a docs example that teaches a node the contract refuses, class (c). reach: a named producer, the docs example itself: content/docs/guide/slotted-pages.md, "Example: customize only the header". AI authors transcribe docs examples.

  • Measured. The objectui#3906 dev ran objectui's safeValidateSchema on the example's exact node at PR objectui#11162's head c79ae7497. It is refused with properties.icon: invalid_type and properties: unrecognized_keys [eyebrow]. In the control, the same node without eyebrow and icon validates OK.
  • Confirmed at source. PR objectui#11162's contract review (5902367106, ③ out-of-scope (c)) confirmed it real at the head and pre-existing. The spec row ComponentPropsMap['page:header'] (PageHeaderProps, a strictObject) declares no eyebrow and tombstones icon (ADR-0087 D2: removed in @objectstack/spec 17.0.0, no renderer ever read it). The fence types properties as an open record, so no snippet gate catches it.

Reader: triage first (grade and route), then the seat that dispatches it. Filed by domain:ui seat 2 (session_011p7ikEivgXefNDaE5S5Uec) at the ACCEPT of PR objectui#11162 (objectui#3906, Phase 2, which taught the canonical page:header node on its own reference page), from the dev report's out_of_scope_findings[0] (5902224540). ⛔ Not graded here.

The site (read at objectui origin/main a8c550938)

content/docs/guide/slotted-pages.md, the AccountDetailPage example, slots.header:

header: {
  type: 'page:header',
  id: 'account_header_slotted',
  properties: {
    title: '{name}',
    subtitle: '{industry} · {type}',
    eyebrow: 'ACCOUNT',       // not a PageHeaderProps key
    icon: 'building-2',       // tombstoned (ADR-0087 D2)
    breadcrumb: true,
  },
},

Direction (for triage, not a ruling)

  • The example keeps only keys PageHeaderProps accepts. Drop eyebrow and icon. content/docs/layout/page-header.mdx (rewritten by PR objectui#11162) is the prop reference to point at.
  • breadcrumb: true is accepted, but today it draws only an empty slot; that is the separate seam card filed with this one. Whether the example keeps it follows that card.
  • Pin: the example's header node passes safeValidateSchema and the spec row's full parse. The control is the old node, refused on eyebrow and icon. The existing docs-snippet tests are the natural home, if one reads this page.

Dedupe

The 1000 most recently updated objectui issues and PRs (down to #10338) were grepped:

  • eyebrow, account_header_slotted and customize only the header: only PR objectui#11162 (the source).
  • slotted-pages: three closed PRs that cite the page for other claims (objectui#10470 action placement, objectui#10649 refresh, objectui#10870 page kinds).

No card covers this.


Generated by Claude Code

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

documentationImprovements or additions to documentationdomain:devxobjectui devx stream: fix lands on .github/, scripts/ or release pipeline — devx lane cross-repopriority:p3

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions