Skip to content

[spec] 退役 HookContext session.roles —— #4839 双删后零消费方零生产方(ADR-0049) #5050

Description

@claude

背景

#4839(PR #5049,维护者裁定方案 3)删除了 session.roles 的最后两个消费方(plugin-approvals 的记录锁与 delegation 守卫的 admin 豁免)。该 PR 合并后,spec 的 HookContext session 里 roles: z.array(z.string()).optional()(packages/spec/src/data/hook.zod.ts)将零消费方、零生产方(buildSession() 从不填充,全仓无写入点 —— #4839 正文有完整 grep 证据)。

任务

按 ADR-0049 enforce-or-remove 退役该键:tombstone 文案注意 —— 不能写「no consumer ever read it」,历史上 plugin-approvals 读过(死读),准确表述是「declared, read by two dead exemption branches (removed in #5049), never produced」。ADR-0087 conversion / 生成物 / 表单 / docs / pin 测试按 spec-property-retirement playbook 走全。

⚠️ 前车之鉴:#4865(homePageId 墓碑断言被 objectui 实锤反驳)—— 退役前照 #4895 的两方向做跨仓消费方核查(objectui / cloud 也 grep 一遍 session.roles)。

Blocked-by: objectstack-ai/objectstack#5049(合并前不动手)

来源:#4839 裁定评论;发现:#4775 实现过程。


Generated by Claude Code

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions