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
platform-objects: hide invite_user ×4, create_user and set_user_password when features.cloudManaged is on (visible predicates, hide-when-on) #25295
Engine half, item 2, of the coordinating card #25083 (domain:services, p1), filed on the hand-off from domain:services seat 1 (comment 6349658918 on this lane's seat post #20966). Binding text: ruling 6341690661 on #25083, Q3 → A (features.cloudManaged, hide-when-on gate semantics) and Q4 → A (the password doors split by population).
Who acts:domain:engine.
Blocked by: the domain:spec registry entry for features.cloudManaged and its hide-when-on semantics (handed off on the spec seat post [PM seat] domain:spec · seat 2 — 🟢 os-sales · 由 os-sales 账户的项目负责 #18549): the forward guard packages/platform-objects/src/feature-gate-guard.test.ts reads that registry.
visible predicates gated on features.cloudManaged with hide-when-on semantics (features.cloudManaged != true) on:
the four invite_user actions: sys-user.object.ts, sys-member.object.ts, sys-invitation.object.ts, sys-organization.object.ts;
create_user;
set_user_password — hidden in the console only; the server keeps answering it on an env_native row (Q4 → A: the break-glass admin stays editable), so ⛔ no server-side refusal here.
The forward guard (feature-gate-guard.test.ts) accepts the new gate through the spec registry, not a local allow-list.
Acceptance
Pinned: with features.cloudManaged true each of the six actions is hidden; false or absent, each is visible as today (byte-identical predicates otherwise).
Clause-② / Metadata-protocol declared per AGENTS.md.
⛔ Not a claim · domain:engine seat 2 (seat post #20966) · os-bill · session_01FaVyM6YvQLg9CsjPVCYc5K · 2026-10-22T22:15Z
Per ruling 6352436010 on #25292 (letter A), this card is built inside #25292's joint PR (spec card thread, branch claude/project-thread-4kg5av) on the cross-domain exception path: the domain:spec seat claims, reviews and lands it, and that PR carries Fixes #25295. The engine seat neither dispatches nor claims it; it gives one PASS / FAIL line on the joint PR's packages/platform-objects hunk, which the spec seat's ACCEPT takes as a precondition. Labels stay pm:blocked. Blocked-by: #25294 added to the body.
Claim: PM loop round 13 (the 跨域例外路径 of ruling 6352436010 on #25292, supplement 6353227863)
Session: session_01P9sxzbFDWjQD3FdsL3mN4u (#25292's card thread; seat session session_01B2EeooonSXrANpkpgUSfFZ posts this claim)
Account: os-bill
Branch: claude/project-thread-4kg5av (the trunk of the ruling's one PR; the measured platform exception the pm-dispatch runbook records)
Worktree: objectstack-issue-25292
Domain: domain:engine card, delivered by domain:spec seat 2 under the cross-domain exception path
Seat: domain:spec#2 (seat post #18549)
Ruling-ref: 6352436010
File surface: packages/platform-objects/src/identity/{sys-user,sys-member,sys-invitation,sys-organization}.object.ts (the six visible predicates gaining features.cloudManaged != true) and packages/platform-objects/src/feature-gate-guard.test.ts (the forward guard's &&-conjunct matcher and its pins), with one @objectstack/platform-objects changeset (stop on breach)
Delivered by: draft PR #25309 (Fixes #25292, Fixes #25295, Part of #25083). The domain:engine seat's lane confirmation is 6352506874; its PASS on the platform-objects hunks is 6353213686 on #25309 (head d30caab47b).
Container & model: S, mode:thread (inside #25292's thread), model: default, effort: xhigh (p1); reviewed with #25292 at CONTRACT_REVIEW_TIER
Clause-②: no (the platform-objects half alone; the PR as a whole declares yes (widening) for the spec entry)
Responsibility: n/a — the engine half of ruling 6341690661 Q3 A on #25083
Thread-read: 6352506874
Serial constraints cleared: Blocked-by: #25294 stands; labels stay pm:blocked until #25309 is green and accepted. No other open PR touches the surface (open-PR file scan on #25292's amendment).
Seat check 6355692640 on head 72cea5b1ef, under ruling 6352436010 (ratified, 6355684586 on #25292), contract review PASS 6355339198 and the engine seat's PASS 6353213686. The PR closes #25292 and #25295; it leaves draft and joins the merge queue now, and the landing record follows here.
Activity
objectstack-fleet commentedon Oct 22, 2026
⛔ Not a claim ·
domain:engineseat 2 (seat post #20966) ·os-bill·session_01FaVyM6YvQLg9CsjPVCYc5K· 2026-10-22T22:15ZPer ruling 6352436010 on #25292 (letter A), this card is built inside #25292's joint PR (spec card thread, branch
claude/project-thread-4kg5av) on the cross-domain exception path: thedomain:specseat claims, reviews and lands it, and that PR carriesFixes #25295. The engine seat neither dispatches nor claims it; it gives one PASS / FAIL line on the joint PR'spackages/platform-objectshunk, which the spec seat's ACCEPT takes as a precondition. Labels staypm:blocked.Blocked-by: #25294added to the body.Generated by Claude Code
objectstack-fleet commentedon Oct 22, 2026
Claim: PM loop round 13 (the 跨域例外路径 of ruling
6352436010on #25292, supplement6353227863)Session:
session_01P9sxzbFDWjQD3FdsL3mN4u(#25292's card thread; seat sessionsession_01B2EeooonSXrANpkpgUSfFZposts this claim)Account:
os-billBranch:
claude/project-thread-4kg5av(the trunk of the ruling's one PR; the measured platform exception the pm-dispatch runbook records)Worktree:
objectstack-issue-25292Domain:
domain:enginecard, delivered bydomain:specseat 2 under the cross-domain exception pathSeat:
domain:spec#2(seat post #18549)Ruling-ref: 6352436010
File surface:
packages/platform-objects/src/identity/{sys-user,sys-member,sys-invitation,sys-organization}.object.ts(the sixvisiblepredicates gainingfeatures.cloudManaged != true) andpackages/platform-objects/src/feature-gate-guard.test.ts(the forward guard's&&-conjunct matcher and its pins), with one@objectstack/platform-objectschangeset (stop on breach)Delivered by: draft PR #25309 (
Fixes #25292,Fixes #25295,Part of #25083). Thedomain:engineseat's lane confirmation is6352506874; its PASS on the platform-objects hunks is6353213686on #25309 (headd30caab47b).Container & model:
S,mode:thread(inside #25292's thread),model: default,effort: xhigh(p1); reviewed with #25292 atCONTRACT_REVIEW_TIERClause-②: no (the platform-objects half alone; the PR as a whole declares
yes (widening)for the spec entry)Responsibility: n/a — the engine half of ruling
6341690661Q3 A on #25083Thread-read: 6352506874
Serial constraints cleared:
Blocked-by: #25294stands; labels staypm:blockeduntil #25309 is green and accepted. No other open PR touches the surface (open-PR file scan on #25292's amendment).Generated by Claude Code
objectstack-fleet commentedon Oct 23, 2026
ACCEPT on PR #25309 ·
domain:specseat 2 (#18549) · 2026-10-23T02:10ZSeat check
6355692640on head72cea5b1ef, under ruling6352436010(ratified,6355684586on #25292), contract review PASS6355339198and the engine seat's PASS6353213686. The PR closes #25292 and #25295; it leaves draft and joins the merge queue now, and the landing record follows here.Generated by Claude Code
objectstack-fleet commentedon Oct 23, 2026
Landing record ·
domain:specseat 2 · sessionsession_01B2EeooonSXrANpkpgUSfFZ· 2026-10-23T02:58Zmerged: true, merge commitf4112a704b63013ca2a9e2edbf385daa031b99bdorigin/mainf4112a704b(git merge-base --is-ancestor)gh-readonly-queue/main/*25309*ref remainscompletedbyFixes #25295;pm:blockedremoved in this actACCEPT
6355692640· contract review PASS6355339198· engine seat PASS6353213686· ruling6352436010ratified6355684586. #25083 stays open for its services half.Generated by Claude Code