构建可复用的回放一致性测试框架,用同一组标准化输入驱动 InMemory、SQL、Redis 多后端,自动检测差异。
- Event 归一化: author 保留、text 从 parts 提取、state_delta 保留/缺省
- Snapshot 归一化: session_id/state/events/memories/summaries 正确
- 空 parts / 空 text 处理
- Memories 按 content 排序确保确定性对比
- Unicode 文本正确保留
- 相同 dict → 0 diff; 不同 value → 正确 path
- 缺 key / 多 key 检测
- 相同 list → 0 diff; 长度不同 / value 不同
- 嵌套 dict/list 递归比较
- 原始类型 (str/int/None) 比较
- Summary injection / session snapshot 多节检测
- 10 cases 定义完整性
- 必填字段校验
- 至少有 tool_call / summary / track_events case
- 10 个 JSONL fixture 文件存在
- JSONL 加载正确
- JSONL 格式合法 JSON
- Round-trip (save → load → equal)
- InMemory vs SQLite 全部 10 cases → 0 unallowed diff
- Summary diff 检测
- State/Memory/Track diff 多节检测
- JSONL round-trip 与 Python 定义一致
- Redis vs InMemory 10 cases → gracefully skipped when unavailable
- Redis vs SQLite 10 cases → gracefully skipped
- 三后端全矩阵比较 → gracefully skipped
- 空 session / 空 memory
- Unicode 中文+emoji
- State key 含特殊字符
- 极长 summary 文本
- 379 passed, 3 skipped (Redis), 1 pre-existing failure (unrelated)