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
capability 无 DEFAULT_METADATA_TYPE_REGISTRY / schema 条目 —— PUT /api/v1/meta/capability/:name 接受任意 JSON 且 /meta/types 报 allowRuntimeCreate:true(与 #5271 的 api 同形) #5961
// Runtime-registered types (no static registry entry) are// synthesised by getMetaTypes() with allowRuntimeCreate=true;// mirror that here so /api/v1/meta and PUT /api/v1/meta agree.if(!this.STATIC_REGISTRY_TYPES.has(singular)&&!this.STATIC_REGISTRY_TYPES.has(type)){returntrue;}
Disposition (2026-08-07): returned to the queue — ADR-0066 D1 already answers the part that looked like a decision.
Direction A: give capability its schema and registry entry, with allowRuntimeCreate: false. The half that is uncontroversial (a CapabilityDeclarationSchema plus the enum entry) closes an unvalidated write path into an authorization surface — PUT /api/v1/meta/capability/:name currently accepts arbitrary JSON, and systemPermissions / requiredPermissions resolve capabilities by name string. The half that looked like a ruling — whether capabilities may be created at runtime — is settled by ADR-0066 D1 ("packages DEFINE capabilities"); citing an existing ADR is not a new decision. The boolean is one line and trivially reversible if that ever changes.
Follow api's treatment (#5271) as the template: registry entry, schema, MetadataTypeSchema enum, then regenerate the three check baselines.
⛔ Do not ride role / profile / policy along — they lack even PLURAL_TO_SINGULAR entries and are a different shape; bundling would turn an M into an L. File them separately if they need it.
Operator: PM session session_01GcjbQLUQKysMU9uXB34iyv; maintainer ruling 2026-08-07 (decision-inbox round 2). Veto window open — comment or reopen to overturn.
Release-board audit (maintainer-directed re-audit of non-board domain:spec items, 2026-08-07): adding target:v17 — criterion ①: PUT /api/v1/meta/capability/:name stores arbitrary unvalidated JSON into sys_metadata on an authorization surface (names resolved by string). Ruling A already recorded (registry + schema entry, allowRuntimeCreate: false). Triage seat may veto.
Activity
claude commentedon Aug 6, 2026
分诊:决策箱(
needs-user-decision)+ 域domain:spec。packages/spec/src/kernel/metadata-type-schemas.ts(BUILTIN_METADATA_TYPE_SCHEMAS)与metadata-plugin.zod.ts(DEFAULT_METADATA_TYPE_REGISTRY+MetadataTypeSchema枚举),连带packages/metadata-protocol/src/protocol.ts的HAND_CRAFTED_SCHEMAS/ 合成分支。触packages/spec⇒ 按「shared contract surfaces have one owner」归 spec 座位,不拆给 engine-core。origin/main):git grep -n "capability" -- packages/spec/src/kernel/metadata-type-schemas.ts只命中:137的position注释(capability-distribution group),无capability:条目;metadata-plugin.zod.ts亦无。前提成立,不是已被修掉的陈旧描述。capability是否运行时可创建 —— 选 A(allowRuntimeCreate: false)等于收回一个今天实际可用的写入面(哪怕它是意外敞开的),选 C 则改getMetaTypes()的合成语义;正文还附带「role/profile/policy是否一并处理」这个覆盖面问题。按分诊规则,「移除已发布能力 / 公共契约形状」归维护者拍板,PM 不代裁。CapabilityDeclarationSchema让 422 校验生效 +MetadataTypeSchema枚举补'capability')本身无争议,裁决只需回答布尔与覆盖面两问。sys_capability是授权面,systemPermissions/requiredPermissions按 name 字符串解析,而当前PUT /api/v1/meta/capability/:name无 schema 校验即落库 ——declared ≠ enforced的写入面变体。非 authz 旁路(仍需元数据写权限),但建议不要长期挂在决策箱。api补进 DEFAULT_METADATA_TYPE_REGISTRY 与 BUILTIN_METADATA_TYPE_SCHEMAS(#5206 第 1 步,拆单) #5271(api的同一形态,已 closed completed)是修法参照;邻居api注册表条目声明 allowRuntimeCreate: true,但运行时创建的端点匹配器永远看不见 —— 声明的能力运行时不兑现(真实 boot 实测) #5488(api声明allowRuntimeCreate: true但运行时不兑现,domain:engine-core已入队)是反向的同一注册表面,裁决时宜一并看。无重复单。capabilities不在 ObjectQLmetadataArrayKeys注册缝里 —— app 声明的 capability 永远拿不到 registry provenance(#4967 Part 2 拆出) #5870 的关系:采信正文的判定 —— 写入门只读注册表、不读 item store,该路在capabilities不在 ObjectQLmetadataArrayKeys注册缝里 —— app 声明的 capability 永远拿不到 registry provenance(#4967 Part 2 拆出) #5870 之前即敞开,capabilities不在 ObjectQLmetadataArrayKeys注册缝里 —— app 声明的 capability 永远拿不到 registry provenance(#4967 Part 2 拆出) #5870(PR fix(objectql,spec): app 声明的 capability 经注册缝获得 registry provenance (#5870) #5965)只改变可见性。⛔ 不得当作capabilities不在 ObjectQLmetadataArrayKeys注册缝里 —— app 声明的 capability 永远拿不到 registry provenance(#4967 Part 2 拆出) #5870 的回归处理。本评论来自分诊座位 Routine(#5474 试点),不构成认领。
Generated by Claude Code
claude commentedon Aug 7, 2026
Disposition (2026-08-07): returned to the queue — ADR-0066 D1 already answers the part that looked like a decision.
Direction A: give
capabilityits schema and registry entry, withallowRuntimeCreate: false. The half that is uncontroversial (aCapabilityDeclarationSchemaplus the enum entry) closes an unvalidated write path into an authorization surface —PUT /api/v1/meta/capability/:namecurrently accepts arbitrary JSON, andsystemPermissions/requiredPermissionsresolve capabilities by name string. The half that looked like a ruling — whether capabilities may be created at runtime — is settled by ADR-0066 D1 ("packages DEFINE capabilities"); citing an existing ADR is not a new decision. The boolean is one line and trivially reversible if that ever changes.Follow
api's treatment (#5271) as the template: registry entry, schema,MetadataTypeSchemaenum, then regenerate the three check baselines.⛔ Do not ride
role/profile/policyalong — they lack evenPLURAL_TO_SINGULARentries and are a different shape; bundling would turn an M into an L. File them separately if they need it.Operator: PM session
session_01GcjbQLUQKysMU9uXB34iyv; maintainer ruling 2026-08-07 (decision-inbox round 2). Veto window open — comment or reopen to overturn.Generated by Claude Code
hotlong commentedon Aug 7, 2026
Release-board audit (maintainer-directed re-audit of non-board
domain:specitems, 2026-08-07): addingtarget:v17— criterion ①:PUT /api/v1/meta/capability/:namestores arbitrary unvalidated JSON intosys_metadataon an authorization surface (names resolved by string). Ruling A already recorded (registry + schema entry,allowRuntimeCreate: false). Triage seat may veto.Generated by Claude Code
feat(spec): gate the liveness README's state table against GOVERNED (o…
test(spec): kernel test titles state each cited decision in words ins…