Skip to content

迁移 Calcit 0.30.1 配对候选,修复流更新与存档恢复 - #53

Merged
tiye merged 12 commits into
mainfrom
migrate/msg-buffer031
Oct 20, 2026
Merged

tiye merged 12 commits into
mainfrom
migrate/msg-buffer031

Conversation

@tiye

@tiye tiye commented Oct 20, 2026

Copy link
Copy Markdown
Member

用户需要注意的影响

  • 保留旧 Map 存档和已保存的 Struct 数据,修复保存/刷新后不能继续更新的边界;不更换存档 key、服务器目录或扩展权限。
  • Anthropic 拆分 SSE 网络块不再丢文本;流式更新把完整 payload 放进操作 Enum,并保留最新状态,不让旧回调覆盖新消息。
  • OpenRouter 与直连 DeepSeek 根据明确提供方选择原目标地址;切换提供方、更换/删除 key 后不再复用错误的旧客户端。不会新增 key 日志或持久化位置。
  • CLI 与 npm runtime 配对为已发布的 0.30.1-alpha.5,模块依赖使用精确正式 tag。2026-10-20 再次核实 0.30.1 Release 尚无 CLI 资产、npm 正式版仍为 404,不能把其 tag 当作已完成发布。
  • PR 只沿用隔离 COS 预览上传和 action 自身校验;不合并、不发布、不触发生产 rsync。扩展继续用本地相对资源,网站的 CDN 构建独立进行。

具体修改

  • 迁移已退役的 Ref/API/分析入口,补齐消息、会话、Store、SDK、事件及可空 DOM 的真实类型边界。
  • SDK 保持懒加载、原模型名/请求地址、取消信号和错误传播。GenAI 的可选字段、文本 getter、搜索/URL 工具及图片 object URL 生命周期使用受检合同。
  • Imagen 使用已安装 SDK 的 abortSignal 参数;仅表示客户端取消,不保证停止服务端生成或计费。
  • 旧存档成员逐项复用原 normalizer;反序列化的数据重建当前 nominal 类型,已由当前 Struct 定义构造的数据直接复用,避免每次输入重新遍历所有历史。不增加常驻缓存。
  • 原 7 项附带测试保留,增加 1 项混合游标/最新状态合并/序列化往返回归;未增加仓库级验证脚本、concurrently 或放宽质量基线。
  • CI 保留独立 caps --ci 解析、工具链配对、原质量基线、原构建/扩展包检查、COS 内置校验;补充 all-defs 与完整 strict,并改用当前 weak-types 分析入口。

已验证的范围

  • 本地全定义 487/487、完整 strict、规范化零建议、附带测试 8/8、原质量基线通过。unsafe 从原基线 85 降至 11;其他基线未放宽。
  • 生成代码经真实 Respo dispatcher 和 updater:OpenRouter/DeepSeek 8、GenAI 13、Anthropic SSE 6 个合成场景通过;Chrome/真值边界 19 个场景和 updater 9 个场景通过,外部请求为 0。
  • 独立 localhost 浏览器:空/非空 IndexedDB 存档、旧 Map 历史、详情、历史载入、真实保存、Struct 刷新恢复、恢复后继续编辑;消息/输入/搜索状态一起恢复。未使用真实账户或 key。
  • 相对资源构建及扩展包原约束检查通过:Manifest V3、原权限、无 content_scripts、未新增 tabs 权限、相对 HTML 资源与 Axios 懒加载、三个扩展脚本语法。
  • 本机 5,000 条合成历史消息夹具:Store normalizer 中位数约 3.3→0.004 ms;Reel 普通状态操作约 3.4→0.067 ms。不是跨设备或真实大数据性能保证。

风险与未覆盖范围

  • 未安装 Chrome 扩展、未调用真实模型 API、未验证生产服务器;合成 Chrome host/浏览器回放不能代替真实扩展设备验收。
  • 依赖图目前本地来自已验证的正式模块导出,未运行本地 Caps;本 PR 的全新 CI 必须独立解析并通过,不能拿本地结果替代。
  • SDK 升级以及更严格的输入校验可能更早拒绝损坏载荷;保留异常,不把失败静默当作空数据。原 bundle-size 提示保留。
  • CI 和新评论仍需按精确提交继续处理,当前不声称生产可用或请求合并。

关联已确认的应用问题:#51、#52。迁移过程中自身的边界误用已在本候选修正;没有为此新增编译器硬编码 fix/proof。

@tiye

tiye commented Oct 20, 2026

Copy link
Copy Markdown
Member Author

当前迁移分支保留旧存档、原权限与原生产路径;本次只完成 PR 预览,不执行生产部署。

精确 HEAD bd98e5f6f07d0d894a21d129852aa955ce64afdd 的 CI 39355662158 已全部通过:独立 Calcit 依赖解析与工具链配对、规范化、487 个定义与完整 strict、原质量基线、8 项附带测试、原扩展构建/包约束、网站 CDN 构建、COS action 上传与内置校验。所有 main-only 生产部署步骤均跳过。

补充验收:normalizer 复用当前 Struct 定义构造的值,只为旧反序列化数据递归恢复;新增的同一项状态回归同时检查身份复用和带真实消息的序列化往返。本机 5,000 条合成历史消息夹具中,Store normalizer 中位数约 3.3→0.004 ms,Reel 普通状态操作约 3.4→0.067 ms;不是跨设备性能保证。优化后已在新的 localhost origin 重做旧 Map 历史载入、保存/刷新、消息/输入/搜索恢复和恢复后继续编辑,外部请求为 0。

截至本次复核,没有未解决评审线程。仍未安装 Chrome 扩展、未调用真实模型服务、未访问生产数据;这些限制保留,不把 CI 通过写成真实扩展设备验收。未合并、未发版、未部署生产。

@tiye
tiye merged commit 299ad57 into main Oct 20, 2026
1 check passed
@tiye
tiye deleted the migrate/msg-buffer031 branch October 20, 2026 05:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant