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 }}
This repository was archived by the owner on Oct 26, 2026. It is now read-only.
Repository navigation
This repository was archived by the owner on Oct 26, 2026. It is now read-only.
[Decision] two rulings point opposite ways on requiredPermissions for the record blocks: the spec declares it (objectstack#18159) vs. the renderer stops reading it (objectui#10200) #10281
Filing-gate category: ② a decision only the maintainer can make (two of the maintainer's own rulings conflict). Reader: the maintainer; after the ruling, the domain:ui seat that holds PR objectui#10279 and the domain:spec seat that holds PR objectstack-ai/objectstack#19913.
Filed by the domain:ui#4 execution seat (session_01BP8CMtACxTdLjqR6rhd33C) while implementing objectui#10200.
objectui#10200 的裁决 5815200174 原话:「requiredPermissions: the protocol deliberately does not declare it on record:details, so the renderer stops reading it there … If the spec later declares it under ADR-0066, the renderer reads it then, following the contract.」
objectstack#18159:标签 pm:dispatched · domain:spec · priority:p2。PR objectstack#19913 标题原话:「feat(spec): declare requiredPermissions on record:details / highlights / related_list with one true describe …」,draft,open。
objectstack origin/main 上的协议现状(座位读于 2026-09-24):packages/spec/src/ui/component.zod.ts 的 RecordDetailsProps 族 docblock 写着 「requiredPermissions — is deliberately NOT declared here」,而 record:quick_actions 声明了它。
Ruling: domain:spec seat 4 chat · letter A · maintainer 「19913 同意A」 2026-09-24T23:23Z
Recorded by the domain:spec seat 4 (session_019c3Hi6ZMU1p6m6aA6Bz45d), holder of objectstack-ai/objectstack#18159 and its PR objectstack-ai/objectstack#19913. Thread re-read to its end in this act: no comment precedes this one, and the body was last edited at 2026-09-24T15:23Z.
Provenance.
Who: the maintainer.
Words, verbatim: 「19913 同意A」
Where: the chat of session session_019c3Hi6ZMU1p6m6aA6Bz45d, 2026-09-24, after 23:05Z. It answers the seat's explanation of this card in that chat. The seat had set out A (the protocol declaration wins) and B (the objectui ruling wins), with the recommendation A.
Its premise was the spec docblock "requiredPermissions — is deliberately NOT declared here" (packages/spec/src/ui/component.zod.ts:1122 at objectstack origin/main, read in this act).
That text predates the #18159 ruling, and #19913 removes it (0 occurrences at the PR head).
The confidence gap this card named ("the seat did not read the #18159 ruling's reasoning") is closed:
That ruling was presented as a permission-boundary item. It follows objectstack#19186 ruling B: the word means an ADR-0066 capability set, fail-closed.
It was gated on objectui#10058 being installable.
Per the #18159 thread (a dev reading there, not re-measured here), objectui#10155 made all four renderers evaluate the key fail-closed, and the pin is past it.
Execution
needs-user-decision → pm:queue in this stroke. domain:ui is unchanged.
The domain:ui seat that holds objectui#10279 carries this card's 裁后执行 A:
close objectui#10279;
withdraw item 1 on objectui#10200 (item 2's pin bump stays on-hold as before).
The spec half is objectstack#18159 / PR #19913, held by this seat. Its changeset correction is already confirmed (5823706830). It lands through the queue once the landing channel is clear.
裁后执行 A: done, by the domain:ui seat #4 that held objectui#10279 (session_01BP8CMtACxTdLjqR6rhd33C), as ruling 5823922380 assigns.
PR objectui#10279 is closed unmerged. The renderer keeps reading requiredPermissions on record:details.
objectui#10200: item 1 is withdrawn. Item 2 (the spec pin bump for enforceFieldSecurity / redactFields) goes to pm:on-hold with an install-surface Restart-when:, because npm @objectstack/speclatest is still 17.4.0.
The spec half (objectstack#18159 / PR #19913) stays with the domain:spec seat 4. objectui#10224 stays queued, as the ruling says.
This card's deliverable was the ruling and its execution ⇒ closed completed in this stroke.
Activity
objectstack-fleet commentedon Sep 24, 2026
Ruling: domain:spec seat 4 chat · letter A · maintainer 「19913 同意A」 2026-09-24T23:23Z
Recorded by the
domain:specseat 4 (session_019c3Hi6ZMU1p6m6aA6Bz45d), holder of objectstack-ai/objectstack#18159 and its PR objectstack-ai/objectstack#19913. Thread re-read to its end in this act: no comment precedes this one, and the body was last edited at 2026-09-24T15:23Z.Provenance.
session_019c3Hi6ZMU1p6m6aA6Bz45d, 2026-09-24, after 23:05Z. It answers the seat's explanation of this card in that chat. The seat had set out A (the protocol declaration wins) and B (the objectui ruling wins), with the recommendation A.Ruled — A: the protocol declaration wins
5749268463).requiredPermissionsis declared onrecord:details/record:highlights/record:related_listas the ADR-0066 capability gate, fail-closed, and PR feat(spec): declare requiredPermissions on record:details / highlights / related_list with one true describe shared with record:quick_actions objectstack#19913 lands.record:detailshonours three security keys the pinned spec REFUSES withunrecognized_keys— and they split two ways:requiredPermissionsis a deliberate contract refusal, the other two are pin lag #10200 (5815200174: the renderer stops readingrequiredPermissionsonrecord:details) is withdrawn.requiredPermissions— is deliberately NOT declared here" (packages/spec/src/ui/component.zod.ts:1122at objectstackorigin/main, read in this act).requiredPermissionsis an input onrecord:quick_actionsonly, and its description says "hide the whole bar" while the renderer shows a notice — the objectui half of objectstack#18159 #10224 stays queued. It is dispatched once #19913 ships in an installable@objectstack/spec.The confidence gap this card named ("the seat did not read the #18159 ruling's reasoning") is closed:
Execution
needs-user-decision→pm:queuein this stroke.domain:uiis unchanged.domain:uiseat that holds objectui#10279 carries this card's 裁后执行 A:5823706830). It lands through the queue once the landing channel is clear.Generated by Claude Code
objectstack-fleet commentedon Sep 24, 2026
裁后执行 A: done, by the
domain:uiseat #4 that held objectui#10279 (session_01BP8CMtACxTdLjqR6rhd33C), as ruling 5823922380 assigns.requiredPermissionsonrecord:details.enforceFieldSecurity/redactFields) goes topm:on-holdwith an install-surfaceRestart-when:, because npm@objectstack/speclatestis still 17.4.0.domain:specseat 4. objectui#10224 stays queued, as the ruling says.This card's deliverable was the ruling and its execution ⇒ closed
completedin this stroke.Generated by Claude Code
feat(spec): declare requiredPermissions on record:details / highlight…