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
objectql: the permission-set owner refusal envelope is built twice (body seam and residual registration) #28160
Filing gate: ① found by the contract review of PR #28153 (#28093, record 6525505738, should-fix #2) outside that PR's surface. Filed by domain:server seat 4. ⛔ Not a claim. No grade: triage sets the lane and grade.
What the code does (read)
permissionSetOwnerRegistrationRefusal in packages/objectql/src/engine.ts is module-private. PR #28153's residual registration in packages/objectql/src/plugin.ts shares the judge, one comparison as ADR-0086 D3 requires. But it rebuilds the refusal's VALIDATION_ERROR / 400 / issues[] envelope inline, because engine.ts was outside its surface (the hot file of #25522). The two envelopes can now drift.
Wanted (route is triage's)
One envelope. Either export the helper, which is one word in engine.ts, or move it beside viewContainerNameRefusal and call it from both doors. This rides the next PR in engine.ts, after #25522's split.
Dedupe
Read open titles for permission set + refusal, permissionSetOwnerRegistrationRefusal: none. New.
Scope widened by the delta contract review on PR #28153 (record 6526074825, head 91a1d307): that head adds a second text copied out of engine.ts for the same reason — the 422 message of the body seam's views: container-shape refusal, now spelled in both engine.ts and packages/objectql/src/plugin.ts. This card should export or relocate both copies (the permission-set owner refusal envelope and the views: refusal message) in one engine.ts edit, so neither is left as a drift seam. The #28153 pins assert the message text, so a drift is caught in words in the meantime.
Claim: PM loop round 1 · fold member of #28275 (rides its PR) · 2026-11-01T04:12Z
Session: session_01R1q2xdtYgU6FKrZ7LgjPCC (the seat); the card thread is session_01FEkQ5oQR8KjnpATg1n2xCN
Account: os-project-manager (the seat's linked user; the card's assignee)
Branch: claude/project-thread-jzi56l (the card thread of #28275; it names no issue, so the claim on #28275 and this one are the identity record)
Domain: domain:server
Seat: domain:server#1
Ruling-ref: the maintainer's 「server 车道现在就是你负责,任务有一大堆啊,都可以派,包括 p3」 (2026-11-01T03:46Z); triage graded it p3 and left it out of pm:queue under 「低优先级的先不考虑」, which that line now lifts. Folded into #28275's order (one PR, Fixes #28275 and Fixes #28160), because both cards edit the same files for the same reason.
File surface: as the claim on #28275 states.
Resume-from: none — fresh from origin/main
State: pm:dispatched, assigned to os-project-manager, recorded by this claim.
PR #28531 merged at 2026-11-01T05:55Z by the merge queue as 1c61f48a5f on main (Fixes #28275 and Fixes #28160; contract review 6553744453 and ACCEPT 6553906925 on the PR).
Landed: one spelling per judgement. The manifest picklist walk and the residual-picklist refusal live once in @objectstack/metadata/picklist-references, used by the engine and by os validate / os build; the permission-set owner refusal and the views: container-shape refusal are exported once from objectql's engine.ts and used by both registration paths. Every refusal's code, status and text is unchanged.
State: closed by Fixes #28160 in the same PR, folded into #28275; the claim is done.
Activity
objectstack-fleet commentedon Oct 30, 2026
triage#1 · os-zhuang · session_01AavokzJ5DndAwitDXvKy4U
Path: none
Triage: p3 ·
domain:server·area:access· 2026-10-30T15:04Z⛔ Not a claim.
engine.tsafter [maintainer] refactor(objectql): splitsrc/engine.ts(23,903 lines, +7,501 in 30 days) along itsObjectQLseams, one move-only slice per PR #25522's split, and gets no dispatch of its own.Generated by Claude Code
objectstack-fleet commentedon Oct 30, 2026
domain:server#4 · os-elon-musk · session_016WV4d1Np3hU7RQnA13YZcL
Scope widened by the delta contract review on PR #28153 (record 6526074825, head
91a1d307): that head adds a second text copied out ofengine.tsfor the same reason — the 422 message of the body seam'sviews:container-shape refusal, now spelled in bothengine.tsandpackages/objectql/src/plugin.ts. This card should export or relocate both copies (the permission-set owner refusal envelope and theviews:refusal message) in oneengine.tsedit, so neither is left as a drift seam. The #28153 pins assert the message text, so a drift is caught in words in the meantime.objectstack-fleet commentedon Nov 1, 2026
domain:server#1 · os-project-manager · session_01R1q2xdtYgU6FKrZ7LgjPCC
Claim: PM loop round 1 · fold member of #28275 (rides its PR) · 2026-11-01T04:12Z
Session:
session_01R1q2xdtYgU6FKrZ7LgjPCC(the seat); the card thread issession_01FEkQ5oQR8KjnpATg1n2xCNAccount:
os-project-manager(the seat's linked user; the card's assignee)Branch:
claude/project-thread-jzi56l(the card thread of #28275; it names no issue, so the claim on #28275 and this one are the identity record)Domain:
domain:serverSeat:
domain:server#1Ruling-ref: the maintainer's 「server 车道现在就是你负责,任务有一大堆啊,都可以派,包括 p3」 (2026-11-01T03:46Z); triage graded it p3 and left it out of
pm:queueunder 「低优先级的先不考虑」, which that line now lifts. Folded into #28275's order (one PR,Fixes #28275andFixes #28160), because both cards edit the same files for the same reason.File surface: as the claim on #28275 states.
Resume-from: none — fresh from
origin/mainState:
pm:dispatched, assigned toos-project-manager, recorded by this claim.Generated by Claude Code
objectstack-fleet commentedon Nov 1, 2026
domain:server#1 · os-project-manager · session_01R1q2xdtYgU6FKrZ7LgjPCC
Landed
PR #28531 merged at 2026-11-01T05:55Z by the merge queue as
1c61f48a5fonmain(Fixes #28275andFixes #28160; contract review6553744453and ACCEPT6553906925on the PR).git ls-remote origin 'refs/heads/gh-readonly-queue/main/pr-28531-*'origin/mainby contentgit cat-file -e origin/main:packages/metadata/src/picklist-references.tsgit merge-base --is-ancestor 1c61f48a5f origin/main@objectstack/metadata/picklist-references, used by the engine and byos validate/os build; the permission-set owner refusal and theviews:container-shape refusal are exported once from objectql'sengine.tsand used by both registration paths. Every refusal's code, status and text is unchanged.State: closed by
Fixes #28160in the same PR, folded into #28275; the claim is done.Generated by Claude Code