目录

v0.3.4:作用域运行时记忆与容量控制

在 GitHub 上查看源文件

v0.3.4 明确了 Runtime Memory 跨存储根、Git 分支与容量预算的边界,同时增强多目标归档的容错,并让会话 rewind 后的引导式记忆提示能够恢复。

新增内容

  • mnemon.runtimeUserScope: global 现在可将全局根中的用户档案与所选工作区或自定义根中的工作记忆组合使用。用户写入与 USER 压缩保持全局范围,项目写入、MEMORY 压缩、档案、记忆空间和 Provider 状态仍属于所选范围;默认 storage 模式保持原有单根行为。PR #103 由此解决 Issue #77。
  • 工作记忆条目现在可通过模型工具、RPC 与 Web 新增/编辑表单携带可选 Git branches 列表。每回合只在当前检出分支匹配时投影带范围条目;无范围条目、用户档案、非 Git 工作区、detached HEAD 与分支探测失败均保持原有全部可见行为。完整 JSON 与 Markdown 事实源保持可见且不变,压缩会保留范围,归档则生成 branch:<name> 标签。PR #91 由此解决 Issue #93。
  • mnemon.runtimeMemory 现在可配置完整 MEMORY.md、USER.md 的 UTF-8 字节上限,以及 Runtime 迁移和压缩 worker 的 completion token 预算。默认值仍为 10,240 字节、4,096 字节与 8,192 token;经过校验的自定义上限由 Runtime 写入、Pack 操作和后台维护共同使用。PR #102 由此解决 Issue #96。

修复内容

  • 当模型无法完成多目标 Runtime 归档路由时,Host 现在会把该批次确定性路由到默认可写记忆空间,不再放弃整个容量事务。调用方取消仍会在无 Provider 写入时中止,非法路由仍无法通过 Host 校验;失败与成功批次混合时,会保留第一个成功委派任务的归因,且不会重复计算迁移次数。PR #84 完成了该修复。
  • rewind 从模型可见 surface 移除引导式记忆提示后,下一次 first step 会重新组合该提示。没有 surface 投影的 Host 继续使用原有会话级兜底,提示文案、顺序与 guided-turn 统计保持不变。PR #88 完成了该修复。

兼容性与升级

本次升级不需要持久化迁移。现有配置保持 v0.3.3 行为:用户档案继续跟随 storageScope,Runtime 条目只有显式设置后才按分支过滤,容量与 worker 上限也只有显式覆盖后才变化。启用全局档案叠加时,两个根都保留完整的现有 JSON 与 Markdown 数据;切换设置不会复制、合并或删除条目。工作区 Mnemon Pack 会刻意排除独立的全局用户档案,因此使用此模式时应单独备份全局根。

更新 dsh-mnemon 后重启每个使用它的 DSH profile,再重新打开记忆系统界面即可。回滚到 0.3.3 无需反向迁移;旧版本会忽略新增配置键并保留磁盘数据,但分支范围条目会暂时在所有分支可见,恢复 v0.3.4 后重新生效。

验证

  • 完整 TypeScript 与 Vitest 验证通过,共 522 项测试;本地非 Windows 环境只跳过一项 Windows 专用 smoke test。
  • 可复现双构建验证 106 个生成文件哈希完全一致。
  • 隔离的真实 Headless profile 成功激活,模型请求可见 35 个工具,其中包含 5 个代表性 Mnemon 工具。
  • 发布包包含 113 个文件,packed 大小为 378,158 字节,unpacked 大小为 1,713,376 字节,低于强制的 1,720,000 字节上限;10 个 Node 兼容公开入口均可成功导入,publint strict 与 attw ESM profile 全部通过。
  • 定向回归覆盖双根 authority 与 Pack 排除、分支投影与范围保留、自定义容量校验、路由兜底与取消,以及 rewind 后提示恢复。PR #102 与 #103 保留的隔离 Web 证据确认了配置后容量显示和全局档案范围选择。
  • 发布变更通过 git diff --check。

上一轮 checkpoint 子代理用量补丁见 v0.3.3 发布说明;可组合记忆架构与冻结的 Benchmark 记录见 v0.3.0 发布说明。