32 lines
1.4 KiB
JSON
Executable File
32 lines
1.4 KiB
JSON
Executable File
{
|
||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||
"$id": "https://digitalme.invoratec.cn/schemas/talent-registry.json",
|
||
"title": "TalentRegistry",
|
||
"description": "天赋注册表。当前『按数据表形状』写在 talents.js(主由 professions 派生、副是 SUB_REGISTRY 数组);本 Schema 描述其逻辑形态,也是搬入 DB 后 talent_* 集合的契约。每个节点预留 version/active/gray_pct 以支持灰度与回滚。",
|
||
"type": "object",
|
||
"required": ["sub_talents"],
|
||
"properties": {
|
||
"main_talents": {
|
||
"type": "array",
|
||
"description": "主天赋表。MVP 由 professions.js × archetype × compliance 动态派生,不落库;搬 DB 时物化为一行一职业。",
|
||
"items": { "$ref": "./main-talent.schema.json" }
|
||
},
|
||
"sub_talents": {
|
||
"type": "array",
|
||
"description": "副天赋注册表(当前 SUB_REGISTRY)。",
|
||
"items": { "$ref": "./sub-talent.schema.json" }
|
||
}
|
||
},
|
||
"$defs": {
|
||
"versioning": {
|
||
"description": "DB 化后每个节点附加的灰度/回滚字段(MVP 代码内暂无)。",
|
||
"type": "object",
|
||
"properties": {
|
||
"version": { "type": "integer", "minimum": 1 },
|
||
"active": { "type": "boolean", "default": true },
|
||
"gray_pct": { "type": "number", "minimum": 0, "maximum": 100, "default": 100, "description": "灰度放量百分比。" }
|
||
}
|
||
}
|
||
}
|
||
}
|