Skip to content

[转移] 发布期护栏:多组织下「平台级 + schedule + create_record + 未显式 organization_id」拒绝——#6155 Q3=A 裁决的 lint 半边 #6285

Description

@hotlong

Part of #6155(维护者 2026-08-07 裁决 Q2=A + Q3=A;services 座位转移立单,落点在运行时发布门——域标签交分诊按落点文件定)。

裁决口径

#6155 dev 探针已量出的两个输入缺口(实现起点,勿重查)

  1. 部署形态:postureEnforcesWall(resolveTenancyPosture()) 是进程级 env 读数,AUTHORING_RULES 纯函数签名不含它——按 Q3=A 从 gate 侧注入;
  2. 写入 org:在 saveMetaItem 手里但 assertRuntimeAuthoringRules 未传给 evaluateRuntimeAuthoringGate;
  3. ⚠️ 待确认的短路:assertRuntimeAuthoringRules 现有 if (this.environmentId === undefined) return;——控制面 kernel 上整条 gate 不跑。实现前先答「这是既有设计还是遗漏」:若短路使护栏在关键部署形态不可达,STOP 上报,⛔ 不得擅自拓宽 gate 激活面(Schedule 触发器不携带任何 org 上下文——定时 runAs:'system' 清扫在多组织部署里仍会产出 organization_id=NULL 的行(#5494 的用户缺席半边) #6155 dev 原话:无把握,未擅自改动)。

依赖

Blocked-by: #6283(spec 半边 flip——Q1=B 落地后「org 归属的 flow」不复存在,本护栏的拒绝组合语义才是终态)。

Refs:#6155(裁决与探针证据)、#6153(fill-only 先例)、#2308/#5378(lint 面同族)、ADR-0118 D1。

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions