# 知序公开培训演练样本 v1

这套原创合成材料用于复验题目导入、复核、练习和企业考试。它不包含真实客户、联系人、密码或成绩；下载文件并不创建演示账号。完整步骤见站内文章 `/blog/reproducible-training-demo`。核对日期为 2026-10-15。

## 文件与使用入口

| 文件 | 内容 | 使用方式 |
| --- | --- | --- |
| training-standard.docx | Q001–Q030，12 单选、10 多选、8 判断 | Web DOCX 上传，逐题复核后发布 |
| training-boundary.docx | Q031–Q040，包含故意缺答案、非法答案和重复题 | 独立复核题库；不要自动发布 |
| training-candidates.json | 30 标准题的 `zhixu.question-candidate/v1` 数组 | MCP `create_prepared_import` 的 candidates；不是普通 Word 上传文件 |
| training-boundary-candidates.json | 10 边界题的同契约数组 | 仅供独立复核；阻断项不猜答案 |
| training-members.xlsx | 8 普通成员，工号为文本，7 列 | Web 成员 XLSX 预检、确认导入 |
| training-members.json | 同 8 名普通成员的严格字段数组 | MCP `preview_member_import` / `confirm_member_import`；与 XLSX 任选其一 |
| training-members.csv | UTF-8 BOM、同 7 列、CRLF | 本地对照或转存；不能直接上传 Web 成员入口 |
| source-questions.json | 40 题原始合成事实，原字节保留 | 来源对照；不是平台 API candidates |
| source-members.json | 10 个原始身份、2 岗位，原字节保留 | 身份对照；不能据此创建 owner/admin |
| expected.json | 题目答案与选项身份、成员原工号/岗位/状态 | 人工核对和独立脚本验证 |
| manifest.json | 除清单自身以外各文件的长度与 SHA-256 | 校验下载的本地字节；不能代替答案复核 |

## 候选字段

候选数组使用真实契约字段 `schemaVersion`、`sourceOrder`、`questionType`、`content`、`reviewLevel`、`confidence`、`sourceLocator`、`issues`。`content.options` 的 key 是来源身份，不是服务器 UUID；判断题把来源 A/B 明确转为 TRUE/FALSE，保留正确/错误语义。多选按身份集合判定，源 Q032 的 CA 不被偷偷改成不同答案。

`sourceLocator.sources` 指向本目录 source-questions.json 的实际 SHA-256 与原始题号。prepared JSON 的来源是这个 JSON，不冒充 Word parser 输出。`reviewLevel=review` 表示样本仍需人工确认；confidence=1 只表示转换取自明确合成事实，不是自动接受或业务验收结论。边界问题里的 SYNTHETIC 前缀为样本作者的复核标记，不能声称真实解析器一定自动报告它。

Word 正常类型标签在题干中保留，因此 expected 的 sourceStem 是原文、docxStem 是加正常标签后的预期题干。Word 与 structured JSON 的题干展示可能带不同标签，答案和选项身份应一致。Q036 含多行题干与解析，Word 把 CRLF 规范化为一个 LF 换行，JSON 保留原始换行；DOCX 当前解析器对续行的提取仍需人工对照。Q033 与 Q001 重复，需要查看既有题库，并非单文件解析器自动去重。

## 成员与状态

原始身份共 10 个：00001 为 owner、00002 为 admin，这两个是已有正常 Accounts 管理身份的来源编号，只用于本地人工映射；导入文件不含这两人，也不修改其系统工号。8 名普通成员为 00003–00010。JSON 只提供 employeeNo、displayName、department、positionName，不携带 role、status、密码或联系方式。XLSX 第一行严格为 工号、姓名、部门、邮箱、手机号、初始密码、岗位，后面只有 8 行；空部门、邮箱、手机号和初始密码有意留空。

导入后的普通成员先走正常待设置密码流程。00003–00008 在 Web 正常设置密码并由本人登录，预期 active；00009 保留待设置密码，预期 pending；00010 在 Web 明确停用，预期 suspended。expected.json 的状态是本轮配置完成后的目标，不是导入字段。管理身份的实际 ID、普通成员实际 ID、密码、组织码和成绩不写入公开文件。

## 本地核对

下载文件后逐项计算 SHA-256，与 manifest.json 中同名文件的 sha256 和 bytes 比较。macOS 可在下载目录运行 `shasum -a 256 training-standard.docx`；其他系统使用本地 SHA-256 工具。文件名、摘要与长度一致表示本地字节匹配，不证明答案正确或已经导入。改动文件后不能继续沿用旧摘要，须保存自己的修改记录并重新复核。

答案和选项先对照 expected.json，再回读实际导入、发布、练习和考试记录；普通成员的真实角色与状态也需在设置后回读。没有连接实际后端的 UI 模拟检查不能称为端到端业务验证，本样本不证明生产承载或客户考试结果。
