init: edu-content 内容库骨架(L1-L4 四层数据模型 + B类迁移 + lint/CI 工具)

这个提交包含在:
2026-08-22 00:16:49 +08:00
当前提交 f18264111b
共有 79 个文件被更改,包括 7182 次插入 和 0 次删除

37
schemas/qb-1.1.schema.json 普通文件
查看文件

@@ -0,0 +1,37 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "qb-1.1 question bank record",
"description": "题库记录。qb-1.0 向后兼容升级:新增 source.source_id(必填)与 source.source_item_id(可选)。",
"type": "object",
"required": ["schema", "id", "exam", "cefr", "paper", "part", "type", "items", "source", "license"],
"properties": {
"schema": { "const": "qb-1.1" },
"id": { "type": "string" },
"exam": { "type": "string", "enum": ["A2 Key", "A2 Key for Schools", "B1 Preliminary", "B1 Preliminary for Schools"] },
"cefr": { "type": "string", "enum": ["A2", "B1"] },
"paper": { "type": "string", "enum": ["reading_writing", "reading", "writing", "listening", "speaking", "vocabulary"] },
"part": { "type": ["integer", "null"] },
"type": { "type": "string", "enum": ["mcq", "matching", "open_cloze", "gap_fill", "word_formation", "writing_task", "speaking_prompt", "word_entry", "other"] },
"task_prompt": { "type": ["string", "null"] },
"title": { "type": ["string", "null"] },
"passage": { "type": ["string", "null"] },
"blank_token": { "type": "string" },
"items": { "type": "array", "items": { "type": "object" } },
"source": {
"type": "object",
"required": ["source_id"],
"properties": {
"source_id": { "type": "string", "pattern": "^[a-z0-9][a-z0-9-]*$" },
"source_item_id": { "type": ["string", "null"] },
"origin": { "type": "string" },
"file": { "type": ["string", "null"] },
"url": { "type": ["string", "null"] },
"retrieved": { "type": ["string", "null"] }
}
},
"license": { "type": "string", "enum": ["official-free", "cc-by", "cc-by-sa", "cc-nc-education", "restricted", "internal-only", "llm-generated", "unknown"] },
"tags": { "type": "array", "items": { "type": "string" } },
"note": { "type": ["string", "null"] },
"meta": { "type": ["object", "null"] }
}
}