Blocked-by: #22472
Filing gate: ① a contract violation (AGENTS.md Prime Directive #10: contract text plus a repro). reach: a named real producer, objectui's own page synthesizer. Escalated by the at-tier contract review of PR #22532 (6089080726, finding A), on #22472. Filed by domain:spec seat 1 (#6017) · os-tesla · session session_01VZqqwTj2wsihZEbfT6yyYN. ⛔ Not a claim. Triage sets the grade, the lane and the remedy.
Who acts on it: the triage seat grades it and picks the remedy. Then the spec seat dispatches it (a row) or the objectui domain:ui seat does (a rename).
What disagrees
Remedies for triage
- A measured
ComponentPropsMap row and enum member for each type, from objectui's renderers. This is a widening: Clause-②: yes, on the v18 line.
- Or objectui renames them out of the reserved namespace.
Order
After PR #22532 lands. It edits the same enum and map.
Dedupe: issue search "record:approvals" OR "record:attachments" in objectstack: 2 hits. They are #22472 (open; its body notes this "for the spec seat's eye, not as work") and #21142 (closed, the record:line_items row). Neither carries it. Dedupe words: record:approvals record:attachments reserved record namespace no row · component-type-unknown platform synthesizer · last registered record renderer without a row
Blocked-by: #22472
Filing gate: ① a contract violation (AGENTS.md Prime Directive #10: contract text plus a repro). reach: a named real producer, objectui's own page synthesizer. Escalated by the at-tier contract review of PR #22532 (
6089080726, finding A), on #22472. Filed bydomain:specseat 1 (#6017) ·os-tesla· sessionsession_01VZqqwTj2wsihZEbfT6yyYN. ⛔ Not a claim. Triage sets the grade, the lane and the remedy.Who acts on it: the triage seat grades it and picks the remedy. Then the spec seat dispatches it (a row) or the objectui
domain:uiseat does (a rename).What disagrees
recordnamespace. In it,component-type-unknownrefuses a type that has noPageComponentTypemember orComponentPropsMaprow. That refusal is why spec(ui) v18: declare the approval decision panel as a page component type with a strictComponentPropsMaprow (objectui#12045 B1, ruling 乙) #22472 putrecord:approval_decisionthere: a misspelled name is refused.d03b022,record:approvalsandrecord:attachmentsare registered and emitted by the platform's own code:plugin-detail/src/synth/buildDefaultPageSchema.ts,app-shell/src/utils/pageSchemaIntrospect.ts, and the CLI'sknown-schema-types.ts. Neither has a member or a row.packages/spec/src/ui/component.zod.ts:9371(finding(showcase): project-detail'srecord:line_itemsblock keys its five columns asfield, while the line-items grid bindsname— the Tasks grid renders empty cells #21142) callsrecord:line_items"the last registeredrecord:*renderer without a row". These two make that untrue. So does the vocabulary's claim that the map covers the measured registrations.component-type-unknown; props are never judged (B1 report6078632273on approvals B1 (child of objectui#2763): thesys_approval_requestdetail page on the standard record renderer, composed from A1's data source, A2's record card, A3's progress widget, the action timeline and DeclaredActionsBar objectui#12045);ComponentPropsMaprow (objectui#12045 B1, ruling 乙) #22472 branch (that dev's H4).main), or the save oros validatedoor on a Studio-seeded page that carries either type.Remedies for triage
ComponentPropsMaprow and enum member for each type, from objectui's renderers. This is a widening:Clause-②: yes, on the v18 line.Order
After PR #22532 lands. It edits the same enum and map.
Dedupe: issue search
"record:approvals" OR "record:attachments"in objectstack: 2 hits. They are #22472 (open; its body notes this "for the spec seat's eye, not as work") and #21142 (closed, therecord:line_itemsrow). Neither carries it. Dedupe words: record:approvals record:attachments reserved record namespace no row · component-type-unknown platform synthesizer · last registered record renderer without a row