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
console: the sharing-rule object picker lists only shareable objects, business objects first #31217
Filing gate: ② missing capability, the console half of #30209 row 5 (option B). The server half is PR #31207, GET /api/v1/sharing/shareable-objects. ⛔ Not a claim. Triage sets the grade and the lane.
Reader: the ui seat for console field widgets (ui/packages/fields), plus a one-line object edit in packages/plugins/plugin-sharing (the sys_sharing_rule.object_name widget hint).
Dedupe (open AND closed): sharing rule object picker → 106 hits, shareable objects → 12; the only open match is #30209 (the source card). #30621 (closed) is the save-time refusal this list mirrors.
reach: the console's 共享规则 new form, object field; read from the code on main and PR #31207, not run.
type: Enhancement
A console picker widget that reads GET /api/v1/sharing/shareable-objects (admin-only; same admission as the rule doors) and shows its order as given: business objects, then platform objects, each by label.
Flip the widget hint on sys_sharing_rule.object_name to the new widget in the same PR that registers it. Today the field uses object-ref, which works; an unregistered hint degrades to a text box, so the hint must not move before the widget exists (feat(plugin-sharing): list the objects a sharing rule can take effect on #31207 deliberately left it).
Behaviour on refusal: 403/501 from the endpoint falls back to today's object-ref list rather than an empty picker.
Acceptance
The picker lists no object that a save would refuse with SHARING_NOT_ENABLED, and no credential or session object (sys_session, sys_account, sys_api_key, sys_secret, …).
Business objects come first.
CONTROL: an object that is shareable on main stays selectable and saves.
Depends on: PR #31207 merged.
Suggested-grade: p3 · from a Setup walkthrough (#30209).
Claim: PM loop round 2 · 2026-11-07T19:20Z
Session: session_01FEkQ5ntiCZev2cDL6r5VLw (card thread, dev) · seat session_01FEkQ5nLA7wiVY5YWjT9Svr
Account: os-project-manager
Branch: claude/project-thread-vxpifh
Worktree: objectstack-issue-31217
Domain: domain:ui
Seat: domain:ui#1
File surface: a new sharing-rule object picker widget in ui/packages/fields/** (and its registration), the sys_sharing_rule.object_name widget hint in packages/plugins/plugin-sharing/src/objects/** with its pin, their tests, root .changeset/
Container & model: M, mode:thread, model: default tier (dispatch-gates --tier: no path-derived mandate), effort: high
Clause-②: no
Metadata-protocol: none
Responsibility: n/a — not a defect card (missing capability, #30209 row 5 option B)
Thread-read: 6711639855
Premise: holds: the door GET /api/v1/sharing/shareable-objects is on main (PR #31207 merged 2026-11-07T18:57Z, shareable-objects-routes.ts), and sys_sharing_rule.object_name still hints object-ref (sys-sharing-rule.by-object.test.ts:80)
Serial constraints cleared: none — no other domain:ui card is pm:dispatched on ui/packages/fields or plugin-sharing
Scope: the card as written, one PR, Fixes #31217; the declaration lines start at no / none and the dev measures them on the diff (an added i18n key or a new published export or widget name ⇒ yes (widening)), and the seat amends this claim. Order: /mnt/project-files/pm-orders/ui/order-31217.md. Summons: the maintainer's 「开一个 devx 席位,开一个 spec 席位,开一个 ui 席位」 (this project, 2026-11-07).
Activity
objectstack-fleet commentedon Nov 7, 2026
triage#1 · os-zhuang · session_01AavokzJ5DndAwitDXvKy4U
Path: none
Triage: audit · p3 ·
domain:ui· 2026-11-07T18:55Z⛔ Not a claim.
GET /api/v1/sharing/shareable-objects(PR feat(plugin-sharing): list the objects a sharing rule can take effect on #31207) and lists business objects first. There is a one-line widget hint inplugin-sharing.domain:ui.findingremoved,pm:queue. Take it after PR feat(plugin-sharing): list the objects a sharing rule can take effect on #31207 merges; the card has no machine blocker line, because the server half rides that PR rather than a card.Generated by Claude Code
objectstack-fleet commentedon Nov 7, 2026
domain:ui#1 · os-project-manager · session_01FEkQ5nLA7wiVY5YWjT9Svr
Claim: PM loop round 2 · 2026-11-07T19:20Z
Session:
session_01FEkQ5ntiCZev2cDL6r5VLw(card thread, dev) · seatsession_01FEkQ5nLA7wiVY5YWjT9SvrAccount:
os-project-managerBranch:
claude/project-thread-vxpifhWorktree:
objectstack-issue-31217Domain:
domain:uiSeat:
domain:ui#1File surface: a new sharing-rule object picker widget in
ui/packages/fields/**(and its registration), thesys_sharing_rule.object_namewidget hint inpackages/plugins/plugin-sharing/src/objects/**with its pin, their tests, root.changeset/Container & model: M,
mode:thread,model: default tier(dispatch-gates --tier: no path-derived mandate),effort: highClause-②: no
Metadata-protocol: none
Responsibility: n/a — not a defect card (missing capability, #30209 row 5 option B)
Thread-read: 6711639855
Premise: holds: the door
GET /api/v1/sharing/shareable-objectsis onmain(PR #31207 merged 2026-11-07T18:57Z,shareable-objects-routes.ts), andsys_sharing_rule.object_namestill hintsobject-ref(sys-sharing-rule.by-object.test.ts:80)Serial constraints cleared: none — no other
domain:uicard ispm:dispatchedonui/packages/fieldsorplugin-sharingScope: the card as written, one PR,
Fixes #31217; the declaration lines start atno/noneand the dev measures them on the diff (an added i18n key or a new published export or widget name ⇒yes (widening)), and the seat amends this claim. Order:/mnt/project-files/pm-orders/ui/order-31217.md. Summons: the maintainer's 「开一个 devx 席位,开一个 spec 席位,开一个 ui 席位」 (this project, 2026-11-07).