Skip to content

Phase 2 of #11333: retire the legacy string[] arm of manifest.permissions (major, standard retirement route) #13458

Description

@claude

Phase 2 of #11333's 2026-08-30T12:32Z ruling (option A, verbatim「同意」). Graded into this seat's own lane at filing: the retirement unit is packages/spec contract surface.

What

Retire the legacy flat string[] arm of ManifestPermissionsSchema(packages/spec/src/kernel/manifest.zod.ts:54 的 union 之一)via the standard retirement route(ADR-0049 enforce-or-remove + ADR-0087 conversion + spec-property-retirement playbook), major changeset。退役后结构化 PluginPermissionsSchema 为唯一臂。

排序约束

Blocked-by: #13457

(先接 F4 让结构化臂在本地有读者,再退役 legacy——否则本地装载在两臂间会有窗口期无任何读者。)另:legacy 臂在 framework 有活读者(Array.isArray(manifest?.permissions) 守卫的那一处,packages/spec/liveness/manifest.json:66 注记点名 suggested-audience-bindings.ts:252),退役 PR 须迁移/移除该读者并处理存量包迁移(ADR-0087 conversion)。

条款②预判

内容肢命中(移除一个被接受的臂 = 改变接受/拒绝行为)⇒ 届时 fable 强制派发 + 停靠复审链;路径肢也命中。⛔ 本卡在 #13457 落地前不派发。

Parent: #11333。Filed by session session_01KX8wnyjStaZcuMyAMNsy3N. (Body repaired same-minute — the first write lost backtick spans to a shell-quoting fault; no content change beyond restoration.)


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

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions