修复完整历史与运行态内存放大并重建发布包
This commit is contained in:
9
.planning/2026-10-14-runtime-json-fix/findings.md
Normal file
9
.planning/2026-10-14-runtime-json-fix/findings.md
Normal file
@@ -0,0 +1,9 @@
|
||||
# 实现依据
|
||||
|
||||
- `saveTurn`仍通过`writeAtomicJson`整份序列化,`loadTurn`仍整文件读取并JSON.parse,是本轮补齐点。
|
||||
- `preserveNewerTaskTrackingForSessionSave`已只读元数据,但每次保存重复读清单,改为归档内部合并。
|
||||
- 历史基线已经是不可变块引用,不需要改回整文件磁盘基线。
|
||||
- 流式JSON实现固定64KiB字节缓冲,字符串按8Ki字符段转义并保护代理对;解析按容器和值构造对象,保留原v1运行态格式。旧归档迁移共用新解析器,移除重复扫描实现。
|
||||
- 任务状态保护使用同一次提交取得的当前清单;可信同修订保存仅读256字节修订头,保存后才同步受保护的任务状态,失败不推进会话与基线。
|
||||
- 最终隔离集成回归退出0;JSON10项、历史持久化38项通过。80MiB运行态在256MiB堆参数下RSS峰值210.5MiB,读写最大64KiB;重开正文摘要完整,write/fsync/rename失败保留旧档且无tmp残留。
|
||||
- 本轮仍未重启服务或修改生产历史。运行态返回完整对象,峰值随单条正文和同时存活运行态增长;测得RSS只代表合成夹具。
|
||||
15
.planning/2026-10-14-runtime-json-fix/progress.md
Normal file
15
.planning/2026-10-14-runtime-json-fix/progress.md
Normal file
@@ -0,0 +1,15 @@
|
||||
# 执行记录
|
||||
|
||||
2026-10-14:用户要求按另一实例方案继续修改;限定为运行态流式读写、结构比较及单次提交中的任务状态保护,保留分块归档设计。
|
||||
|
||||
已实现通用流式JSON读写、仅容器克隆和结构比较,并接入完整运行态、原子清单写入及旧格式迁移。归档内部保护任务版本,同修订保存只读修订头。测试代理只新增JSON与大运行态回归,主代理补任务状态及失败边界。
|
||||
|
||||
首次持久化回归发现新增修订头调用与提交修订局部变量同名,命中暂存区错误;局部变量改为nextRevision后重新验证,避免同修订快速路径失效。
|
||||
|
||||
持久化回归38项通过,新增同修订零完整读取、并发任务版本、任务看板删除及失败不推进基线四类验证。JSON新测试10项通过;80MiB运行态在256MiB堆下读取和保存并注入写/fsync/rename失败,正文摘要完整、旧文件不变、无临时文件残留,RSS峰值210.1MiB、单次读写64KiB。继续完整集成回归。
|
||||
|
||||
最终完整回归:`TMPDIR=/dev/shm timeout 300s node scripts/regression.js`退出0,输出Regression checks passed。进一步修复toJSON getter只读取一次并补断言,最终JSON回归10项及运行态内存回归均退出0;运行态80MiB、256MiB堆参数下RSS峰值210.5MiB,单次读写64KiB。lib/json-persistence.js、lib/session-history-store.js与server.js语法检查通过,git diff --check通过。文档已补充格式、失败语义和峰值局限。
|
||||
|
||||
交付完成:最终测试日志与工作区状态已核对,全部计划项完成,移除临时CSV跟踪文件。保留历史分块归档和分页读取,未改写生产历史、未打包、未提交或重启服务;当前服务进程尚未加载本轮源码修改。
|
||||
|
||||
后续交付:按用户要求使用本地Bun 1.4.2重新生成CentOS 7 baseline单文件发布包,目标为bun-linux-x64-baseline。规定的8个文件语法检查及git diff --check通过;新二进制MCP initialize返回有效JSON-RPC结果并正常退出。压缩包138个归档项,二进制和前端资源与当前构建一致;大小42.91MiB,SHA-256为7bbe795e39f61fdc4e47d96a2083d92e9a2f59593e2e4c5397debdb67a84b7c9。提交范围包含工作区全部源码、回归脚本、文档、任务记录和更新后的发布包;未重启服务。
|
||||
12
.planning/2026-10-14-runtime-json-fix/task_plan.md
Normal file
12
.planning/2026-10-14-runtime-json-fix/task_plan.md
Normal file
@@ -0,0 +1,12 @@
|
||||
# 运行态流式持久化补齐
|
||||
|
||||
目标:吸收另一实例的流式JSON读写和单次任务状态提交方案,同时保留当前分块归档、分页读取和清单基线。
|
||||
|
||||
1. 确认运行态持久化和任务状态合并的现有契约:complete
|
||||
2. 实现流式JSON读写并整合任务状态保护:complete
|
||||
3. 验证JSON语义、失败保护及大运行态低堆回归:complete
|
||||
4. 更新契约与交付验证结果:complete
|
||||
|
||||
边界:不覆盖此前已完成的历史分块实现和既有文案改动;不修改生产历史,不打包或重启服务;单测上限60秒。
|
||||
|
||||
已知:Codebase Memory连接此前已关闭,源码使用FastCtx读取及rg精确校验;todo-list-csv技能不存在,按AGENTS维护CSV和update_plan。
|
||||
Reference in New Issue
Block a user