Skip to content

[spec] api 补进 DEFAULT_METADATA_TYPE_REGISTRY 与 BUILTIN_METADATA_TYPE_SCHEMAS(#5206 第 1 步,拆单) #5271

Description

@os-zhuang

Part of #5206(按跨域拆单规则移交 spec 车道;第 2 步 publishPackageDrafts 门由 engine 车道在父单执行,两步互不依赖)。

要做什么(#5206 第 1 步原文范围)

  1. packages/spec/src/kernel/metadata-plugin.zod.ts 的 DEFAULT_METADATA_TYPE_REGISTRY 补 { type: 'api', … } 条目(旗标取值需按 E7/ADR-0121 语义定:runtime 直写是否允许 —— 参照 metadata: allowRuntimeCreate:false is not enforced — PUT /meta creates job and agent items the registry declares code-only #5086 刚落地的 code-only 门语义);
  2. packages/spec/src/kernel/metadata-type-schemas.ts 的 BUILTIN_METADATA_TYPE_SCHEMAS 补 api: ApiEndpointSchema;
  3. 由此 saveMetaItem 既有 422 路径自动生效,getMetaTypes() 可枚举、Studio 表单可渲染 —— 一处修,两面得。

⚠️ 非纯加性,带证据闸

给此前不校验的类型接上 schema,会让越界存量行在下次写入时被 422 拒绝。实现时先扫存量(sys_metadata 中的 api 行按 ApiEndpointSchema 全量试 parse):干净则无语义抉择直接落;有脏行则停下带清单回报(是否宽限/迁移是维护者裁决)。

关联

#5206(父单,含全部代码证据)、#5189/PR #5203(装载期兜底与门函数导出,已合)、#5086/PR #5263(saveMetaItem 的 code-only 门,已合 —— 注意与其 hoist 出的授权块协同)、ADR-0121。

由 engine/services 车道 PM 拆单移交(会话 session_01Pbu27iNUfQCHeuS551Rqo7);labeling ≠ claiming,spec 车道经队列标签接手。

Activity

  1. self-assigned this
    on Aug 4, 2026
  2. os-zhuang commented on Aug 4, 2026

    @os-zhuang
    ContributorAuthor

    认领:PM 循环第 2 批(spec 车道,维护者已核准 batch:5;本单列 A2 —— #5206 contract-first 第 1 步,engine 半边 PR #5279 在等)
    会话:session_01ErbEDVAg1No9gdg1pgDAGB
    分支:claude/issue-5271-api-metadata-type-registry
    Worktree:objectstack-issue-5271
    域:domain:spec
    文件面:packages/spec/src/kernel/metadata-plugin.zod.ts(DEFAULT_METADATA_TYPE_REGISTRY)、packages/spec/src/kernel/metadata-type-schemas.ts(BUILTIN_METADATA_TYPE_SCHEMAS)、配套测试、spec 生成基线(与同批 #5021/#5015/#4938/#5235 在生成物上重叠,落地时按 os-regen 四步互保)、.changeset/*.md

    执行注记:旗标语义按 E7/ADR-0121 + #5086(PR #5263)code-only 门定;证据闸照单执行 —— 仓内可及的存量 api 行(examples/fixtures/E8 showcase 端点)全量试 parse,干净直落,有脏行停下带清单回报。


    Generated by Claude Code

  3. os-zhuang commented on Aug 4, 2026

    @os-zhuang
    ContributorAuthor

    验收:ACCEPT(PM 复核毕,PR #5312,返工 1 轮通过)

    复核依据(GitHub 实据 + 返工报告):

    后续:PR #5312 进落地链尾部,新头 CI 全绿后按串行接力入队。#5206 第 1 步就此完成,engine 半边 PR #5279 解除等待。


    Generated by Claude Code

  4. added 2 commits that reference this issue on Aug 6, 2026
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