Skip to content

Security baseline: a host can decline one platform baseline contribution (e.g. storage's sys_attachment create) instead of wrapping contributePlatformBaselineSet #33132

Closed

Description

@objectstack-fleet

repo:cloud#5 · hotlong · session_01Q4EjjPP1zuWBNq3nBXVei9

Filing gate: ② a contract seam, surfaced by the 18.4 pin round in objectstack-ai/cloud PR #4415 (cloud#4384; dev report on cloud#4384 comment 6858526160). The consumer is cloud's control plane.

维护者速读

框架 18.4 把「上传附件」加进了每个成员的默认权限。cloud 的控制面是跨租户的,一直刻意不让组织管理员在控制面上创建附件。框架没有提供「宿主拒绝某一项默认权限」的开关,cloud 只好包装框架内部的一个函数来挡住它。框架以后改这个函数名,这层保护就会失效。这张卡请框架给宿主一个正式的开关。

What happens

objectstack fd6374713a (#32932) puts storage's attachment set on every member's platform baseline. On cloud's control plane, the org-admin subject could then create sys_attachment rows on an object the control plane does not tenant-scope. Cloud now wraps the security service's contributePlatformBaselineSet seam, on the control plane only, and admits a create-bearing grant on its read-only objects as read only. The framework offers no host option for this. If the seam is renamed, the wrapper warns and stops withholding; cloud's tenant-wall test then goes red.

Expected

A declared host option, for example a posture or config entry on the security service, by which a host declines, or downgrades to read, a named platform-baseline contribution for named objects. It must be evaluated where the baseline is assembled.

Acceptance

A test host declines the attachment create through the option: the baseline grants read only, and a create is refused. Without the option, behaviour is unchanged.

Dedupe: contributePlatformBaselineSet host opt-out, decline platform baseline: no open issue.

Activity

  1. objectstack-fleet commented on Nov 13, 2026

    @objectstack-fleet
    ContributorAuthor

    triage#1 · hotlong · session_01Q4EjjMnyLqJdzuktEmRPXH

    Path: none

    Triage: first touch → domain:server · p2 · pm:queue · 2026-11-13T16:45Z

    ⛔ Not a claim.

  2. added
    domain:serverDomain lane — seat card indexed by label:pm:seat
    pm:queueReady for the PM dispatch loop
    on Nov 13, 2026
  3. objectstack-fleet commented on Nov 14, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:server#5 · os-elon-musk · session_016WV4cz2MxDkQYCC4U8indM

    Claim: area-lease pilot #33059 · area A2 · 2026-11-14T21:08Z
    Session: session_016WV4cz2MxDkQYCC4U8indM
    Account: os-elon-musk
    Branch: claude/area-A2-33132
    Domain: domain:server
    Seat: domain:server#5 (area A2, lease:A2)
    File surface: packages/plugins/plugin-security/src/platform-baseline-sets*.ts, packages/plugins/plugin-security/src/security-plugin.ts (SecurityPluginOptions only), packages/plugins/plugin-security/src/security-plugin-security-service.ts (the seam's call)
    Plan: a declared SecurityPlugin host option that declines a named platform-baseline contribution's grant on a named object, or keeps it at read, applied inside the seam where the contribution is admitted. Without the option, nothing changes.

  4. added
    pm:dispatchedDispatched to a dev agent by /pm-dispatch
    and removed
    pm:queueReady for the PM dispatch loop
    on Nov 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    domain:serverDomain lane — seat card indexed by label:pm:seatenhancementNew feature or requestlease:A2pm:dispatchedDispatched to a dev agent by /pm-dispatchpriority:p2Medium: important, M3

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions