Skip to content

Commit 71e13ab

Browse files
committed
add backend replay consistency test harness
1 parent b6743b9 commit 71e13ab

3 files changed

Lines changed: 89 additions & 236 deletions

File tree

docs/replay_consistency_design.md

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,17 @@
11
# Session / Memory / Summary 回放一致性设计
22

3-
测试以 InMemory 为基准,将同一 JSONL 轨迹回放到 SQLite 和 Mock Redis;配置 REPLAY_REDIS_URL 时追加真实 Redis,轻量模式仅运行 InMemory。快照忽略时间戳和自动 ID,规范化字典顺序及摘要文本;事件顺序、state、memory、工具调用和摘要元数据严格比较。摘要由确定性模型驱动 SessionSummarizer 生成,session 归属、版本、更新时间和覆盖事件不得忽略。allowed_diff 仅接受明确路径,报告保留 session、event index、字段路径和两侧值。故障注入比较同一后端变异前后的快照,检测重复事件、脏状态、记忆重复及摘要丢失、覆盖和错绑。
3+
## 归一化策略
4+
5+
测试会先把各后端读回的数据转换为统一快照。时间戳和自动生成的 ID 不参与比较;字典按键排序,集合和 memory 结果转为稳定顺序。事件顺序、state、记忆内容及工具调用参数仍进行严格比较。
6+
7+
## Summary 比较策略
8+
9+
摘要文本统一大小写、空白和中英文标点后再比较,仅消除不影响语义的展示差异。摘要所属 session、版本、更新时间、覆盖事件范围以及截断后保留的事件仍严格比较,用于发现摘要丢失、错误覆盖或跨 session 绑定。
10+
11+
## 允许差异
12+
13+
确实由存储机制产生的差异,必须在样例的 `allowed_diff` 中按完整字段路径声明。允许差异仍会写入报告并明确标记,不会通过忽略整个对象或某类字段来掩盖其他异常。
14+
15+
## 后端接入方式
16+
17+
InMemory 作为比较基准,默认接入内存 SQLite 和 Mock Redis,无需额外服务即可运行。设置 `REPLAY_REDIS_URL` 后追加真实 Redis,设置 `REPLAY_SQL_URL` 可替换 SQL 地址;设置 `REPLAY_LIGHTWEIGHT=1` 时仅执行 InMemory 回放,并要求三十秒内完成。

0 commit comments

Comments
 (0)