修复完整历史与运行态内存放大并重建发布包
This commit is contained in:
10
.planning/2026-10-14-history-memory-fix/findings.md
Normal file
10
.planning/2026-10-14-history-memory-fix/findings.md
Normal file
@@ -0,0 +1,10 @@
|
||||
# 调查与实现依据
|
||||
|
||||
- 现有完整历史库:lib/session-history-store.js。
|
||||
- server.js 的 loadSession、saveSession、resolveSessionHistory、refreshSessionSnapshotCache 接入归档。
|
||||
- 原有契约要求原子提交、可信加载、旧修订合并、删除及清空不复活、完整运行态优先恢复。
|
||||
- 不能把分块存储只做在文件层:分页入口和快照刷新也须避免整份加载。
|
||||
- 采用不可变内容哈希块与原子 manifest 提交;可信基线只保留块引用,旧修订按单消息逐字段合并。
|
||||
- 服务端常用加载保留有界尾部,分页直接读区间,任务跟踪只读元数据;明确导入/全量维护才申请完整加载。
|
||||
- 集成回归创建 `_history/_turns` 后发现保留目录触发无效会话ID错误;列表枚举须显式排除该目录和同名旧文件,34项持久化回归已覆盖。
|
||||
- 最终合成夹具:70.5MiB完整旧归档在256MiB堆上限下完成流式迁移、增量保存和67页读取,RSS峰值145.9MiB;1128条正文和工具数据逐条摘要相符。完整集成回归通过;运行服务尚未重启,生产内存效果须在修复生效后另行观察。
|
||||
Reference in New Issue
Block a user