# 内容事实追踪矩阵

## 1. 固定基线

| 来源 | revision / version | 用途 | 状态 |
| --- | --- | --- | --- |
| DSM | `505e7557da94e3f74da84ecf75bc8a9282732e4f` / `0.1.2` | 公开 API、运行时、复制、修复、安全、测试与基准 | 已冻结；364 个测试通过 |
| DSM Examples | `0eca40d69e4ac5e01d7f82e75feec761ce1c101e` | Runtime、Spring Boot、REPL 与 Redis-shaped lab | 已冻结；Basic 4 个、Redis lab 48 个测试通过 |
| Head First BLOGE | `10ca671` | 信息架构、资产协议与出版门禁参考 | 只作结构参考 |

DSM 子模块中的 `dsm-website` 当前存在用户未提交修改。除非单独核实差异来源，该目录只用于理解候选内容，不作为已发布事实证明，也不由本书提交。

基线验证环境与完整结果见 [reviews/phase0-baseline-validation.md](reviews/phase0-baseline-validation.md)。这些结果确认当前本地测试范围，不代表生产网络、负载或部署验收。

## 2. 逐章主要声明

| 章 | 主要声明 | 首选事实源 | 目标等级 | 当前状态 |
| --- | --- | --- | --- | --- |
| 1 | DSM 适合可修复协同状态，不替代事务事实源 | 公开 API、定位文档 | E2 | 已完成 E1 静态边界验证；Runtime 证据留待第 2 章 |
| 2 | 最小 Runtime 可注册并读写 Register | `RuntimeExampleFactory`、`DsmReplTest` | E2 | 已验证：3 个 REPL/Runtime 测试通过 |
| 3 | entity、metadata、codec、locator 构成共享状态契约 | `dsm-api`、schema mismatch test | E3 | 已验证：身份资产 + 双节点 schema 拒绝测试 |
| 4 | 两节点可复制 Register 更新 | `TwoNodeIntegrationTest`、REPL | E3 | 已验证：双向 put、remove 与 `REMOTE_DELTA` |
| 5 | Register 提供最新逻辑值集合操作 | `DsmRegister` 与双节点测试 | E3 | 已验证：put/get/remove 传播；all/size 契约来自 API |
| 6 | 默认裁决确定性；自定义 resolver 应满足交换律 | `ConflictResolver`、双节点测试 | E3 | 已验证：自定义合并值两端收敛；有限反例资产 |
| 7 | Lease 提供有期限所有权和 fencing | Lease API、`RuntimeIntegrationTest` | E2 | 已验证：transfer 后旧 token 被拒绝；非真实网络 |
| 8 | CRDT 合并本地更新并收敛 | CRDT API、`RuntimeIntegrationTest` | E2 | 已验证：Runtime facade 合并；双节点传播留待后文 |
| 9 | 集合类型由业务不变量决定 | 三类 API 与失败边界 | E2 | 已验证：7 场景评审资产 + 前章 E2/E3 证据 |
| 10 | membership 提供节点状态与稳定视图 | `dsm-cluster`、runtime tests | E2 | 已验证：成员 chaos 6 + 稳定跟踪 4 + Lease 9 test |
| 11 | local commit 后由 sync service 发送 delta | `RuntimePlatformSyncService` | E3 | 已验证：两节点 7 test + chaos 在线漏失/恢复场景 |
| 12 | repair 在 replay 与 snapshot 之间选择 | data-plane service、测试 | E3 | 已验证：planner 5 test + chaos repair 8 test |
| 13 | ChangeStream 具有有界缓冲与溢出策略 | API、runtime tests、JMH | E2 | 已验证：buffer 6 + Register 11 test；容量基准留待第 22 章 |
| 14 | 分区局部成功不能由恢复后收敛撤销 | Redis boundary script、chaos tests | E3 | 已验证：chaos 8 test 覆盖双 holder、quorum 拒绝与恢复；Redis 外部协议留待第 23 章 |
| 15 | 领域适配器应拥有 typed handles | guide、书籍案例测试 | E2 | 已验证：书籍自有示例 2 test 覆盖领域 fake 与真实 Runtime |
| 16 | starter 按属性创建 Runtime 和集合 bean | auto-config tests、example | E2 | 已验证：auto-config 27 + smoke 1 + Basic Spring 1 test |
| 17 | locator 与 cluster/service 构成不同隔离层 | API、integration tests | E3 | 已验证：Runtime 3 + Multicast nested 16 test；通信域与集合域分开 |
| 18 | 测试层分别证明领域、runtime 与网络行为 | test support、integration tests | E3 | 已验证：E1/E2 书籍示例 + E2/E3 固定源码命令与证据卡 |
| 19 | diagnostics、metrics 与 trace 提供排障信号 | API、Micrometer tests | E2 | 已验证：Runtime/Micrometer/trace/sync/chaos 41 test；三种观察面不互相替代 |
| 20 | 安全扩展覆盖准入、认证、防重放、限流与审计 | security tests | E3 | 已验证：安全组件与集成 39 test；生产密钥托管与网络边界仍未证明 |
| 21 | 生命周期行为以当前 API 与测试为准 | runtime API、tests | E2 | 已验证：Runtime/registry/Spring lifecycle 44 test |
| 22 | JMH 提供可复跑的组件基准，不等于生产容量 | benchmark module | E2 | 已验证：harness 2 test + RegisterGetLatency 非 fork smoke；不固化短测分数 |
| 23 | Redis-shaped lab 展示双节点收敛和明确限制 | example tests、scripts | E4 | 已验证：48 test；真实 RESP/repair socket 与 loopback black-box，非 Redis 产品或跨主机证明 |
| 24 | Federation 三类集合具有不同传播与修复范围 | federation tests | E3 | 已验证：bridge 15 + integration 1 test；relay 为 in-process baseline |
| 25 | DSM 选型必须保留系统事实源边界 | 全书证据 | E1 | 已验证：8 场景反选资产，覆盖拒绝、缓存、Register、Lease、CRDT |
| 26 | 完整案例可运行、可故障注入、可观察 | 书籍验收脚本 | E1–E4 | 已验证：10 阶段串行 capstone 覆盖书籍、领域示例、观测、安全、生命周期、federation、真实 socket、图与出版；生产部署验收仍独立 |

## 3. 更新门禁

- 正文出现新的 API、错误码、默认值或性能数字时，先在本矩阵增加来源。
- 目标等级为 E3 的章节不能只凭单元测试标记完成。
- 当前状态只有在命令实际运行并记录结果后才能改成「已验证」。
- 子模块 revision 改变时，整表进入待复核状态。

最终逐章结论见 [全书逐章内容与信息架构终审](reviews/final-chapter-by-chapter-audit.md)，最终运行结果见 [最终发布候选验证](reviews/final-release-validation.md)。
