---
name: product-schema-registry
type: pattern
when: 'artifact_schema, 产物结构, Schema注册, artifact_contract'
scope: ['*']
products:
  - '*'
id: cap-kdoc-artifact-schema-registry
asset_kind: pattern
lifecycle_status: active
authority: supporting
routes:
  - '*'
priority: P1
specificity: 2
version: 1.1.0
last_reviewed: '2026-06-01'
consumes: []
emits: []
secondary_triggers: []
negative_triggers: []
stages: ["*"]
owner_mechanism_id: mc-engine-runtime
---

# 产物 Schema 注册中心

## 概述

产物 Schema 注册中心集中管理所有 19 种 ArtifactKind 的结构定义。
每种产物类型定义了必填章节、必填表格、必填字段、必填附属产物和禁止空白。

## 何时使用

- 当 AI 需要生成或修改已知类型的产物文档时，从注册中心获取结构约束
- 当 check_write/check_bash 的 L4 校验需要校验产物结构完整性时
- 当知识注入边界的 Schema 独立通道需要格式化结构文本时

## 是否 hard block

enforced — 产物 Schema 是三分离架构的核心组件。
缺失 Schema 时 AI 输出无结构约束，产物质量不可控。
但 Schema 本身不 hard block 管线执行，而是以 warning/blocked 形式在 L4 层告警。

## 证据要求

- 19 种 ArtifactKind 全量注册测试通过
- P0 类型（prototype_spec, design_doc, api_spec, verification_report）章节覆盖完整
- Schema 文本能通过 formatSchemaForPrompt 正确格式化

## 人工确认/降级边界

- Schema 注册中心异常时降级为无结构约束模式（degraded）
- 新增产物类型需人工确认 Schema 定义后再注册
- 模版 frontmatter 中的 Schema 可覆盖注册中心硬编码值，但需 review

## 使用方式

- `getArtifactSchema(kind)` — 查询指定产物类型的 Schema
- `hasArtifactSchema(kind)` — 检查是否已注册
- `formatSchemaForPrompt(schema)` — 格式化为 prompt 注入文本
