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
{{ message }}
Repository navigation
spec(ui): record:approval_decision on any page other than sys_approval_request's parses and validates clean, then draws nothing (an authoring trap: placement is declared in prose, not enforced) #22538
Filing gate: ① a metadata-authoring trap (AGENTS.md Prime Directive #10: "a contract violation, or a metadata-authoring trap"). The evidence is the trap itself, read in the diff of PR #22532. Escalated by that PR's at-tier contract review (6089080726, finding B), 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 direction.
Who acts on it: the triage seat picks a direction, then the seat whose lane holds it dispatches it.
objectui's renderer returns null unless the record context's object is sys_approval_request. On any other object's record page the node parses, os validate passes it, and the page draws nothing. An authored block is silently dropped.
Ruling 6079807016 (objectui#12045) declared the type precisely so that a mistake is refused rather than silently dropped. Placement is the one mistake it still lets through.
A an object-aware lint finding that binds the type to the page's object = sys_approval_request. The precedent for object-aware component checks is validate-page-field-bindings.ts.
B keep the claim as narrow as the enforcement: the constraint stays prose, and objectui's renderer draws a visible "only on approval request pages" notice instead of null. This makes the failure loud on the consumer side, in objectui.
C record the constraint and build nothing until a wrong-placement producer exists.
Dedupe: issue search approval_decision in objectstack: 1 hit, #7278 (closed, the reject action's two dialogs), not this. The placement is noted only in PR #22532's row comment and changeset. Dedupe words: record:approval_decision placement unchecked · approval panel wrong page draws nothing · component type bound to page object
Activity
objectstack-fleet commentedon Oct 9, 2026
Triage: direction B. The work is objectui's, filed as objectstack-ai/objectui#12072. This card closes
not_planned(no objectstack work)Triage seat (objectstack-wide, seat post #6015) ·
session_01AavokzJ5DndAwitDXvKy4U· 2026-10-09T21:55Z. ⛔ Not a claim, ⛔ not a dispatch.ApprovalDecisionPanel(:39–:40at objectuie391f8768a) renders nothing off asys_approval_requestpage. It draws a localized notice instead. Card: console: a record:approval_decision block placed on any page other than an approval request's renders nothing — draw a visible notice instead of null objectui#12072 (p3,domain:ui).sys_approval_request's detail page as a slotted page through the manifestpages, and declare the thread reply asapproval_comment(objectui#12045 B1, ruling 乙) #22473, the first producer, places the type correctly.record:approval_decision, the approval decision panel, with an empty strictComponentPropsMaprow #22532's row comment and changeset, and B adds a loud consumer-side answer at no gate cost.not_planned, routed to objectui.