Repository navigation
v8.7.22
Released: 2026-11-11
English
Fixes and reliability
- Merge #404: Pi completion tracking follows successful main-session new/resume/fork transitions, including
ccb clear, with Pi 1.2's cached extension factory. Child and retired extension instances cannot claim the current request; duplicate lifecycle notifications preserve active state. Native session bindings are validated and retried when the transcript appears later. The shared OMP extension remains covered by lifecycle replay tests. - Revert #403's duplicate Claude parser. Polling and finish hooks again use the existing shared pasted-content parser, retaining consistent request attribution, opaque-ID compatibility and rejection of ambiguous nested tags. This restores existing behavior; the seven failed regression fixtures were not seven observed real-client incidents.
- Address the #402 follow-up: managed OpenCode launch excludes volatile
.ccbruntime directories through local Git rules to prevent recursive source snapshots. Legacy observation reuses one bounded private DB+WAL copy, preserves cursors on read failure and periodically rescans unchanged session timestamps. Continuous observation failure returns an explicit incomplete outcome instead of waiting indefinitely or replaying prompts. Missing identity evidence is distinguished from a proven mismatch. - Restore MiMo compatibility with shared legacy observation; align OMP launch/history fixtures with the current platform-specific supervisor and native history-page interfaces.
Upgrade
- Run
ccb update, ornpm install -g @seemseam/ccb@8.7.22. Refresh affected running agents normally once idle so they load the new extension and reader code. No automatic business-agent restart or task replay is performed. - Git exclusions apply on the next managed OpenCode launch. They preserve tracked configuration, project memory and existing index entries. Already tracked runtime files or overridden/unwritable exclusions produce warnings. Existing oversized Provider databases and snapshots are not shrunk, deleted, VACUUMed or checkpointed.
- Version 8.7.22 does not change OpenCode v2's explicit native-service opt-in requirements. Windows support remains beta.
Validation and limits
- Pi/OMP review regression passed 453 tests with two opt-in native smoke skips; the new rotation suite failed 22 cases on the previous baseline and passed all 34 on the candidate. Actual Pi 1.2.0 completed four exactly attributed replies across three native
new_sessiontransitions using one cached extension instance and a local simulated model. RPC input substituted for tmux input in that smoke; a cloud-model, fully mountedclear → ask → replyacceptance run is not claimed. - The OpenCode repair passed 318 tests in source and an isolated installed preview. Actual OpenCode 1.19.5 with a local simulated model completed 20/20 sequential requests after installation, recovered an injected copy failure without replay and kept DB+WAL at about 4.61 MB; the actual 2.2.4 native-service regression also passed. This does not reproduce the reporter's Arch host or prove the specific cause of their hang.
- Legacy copies are capped at 256 MiB combined, with cooperative two-second copy checks and separate two-second SQL query budgets. Thirty seconds of continuous observation failure returns
INCOMPLETE / opencode_observation_unavailable; the Provider may still be running. Existing OpenCode v2 active-turn cancellation and restart-observation limits continue to apply.
中文
修复与稳定性
- 合并 #404:Pi 主会话执行 new/resume/fork 或
ccb clear后,完成追踪跟随成功的会话切换,兼容 Pi 1.2 缓存扩展工厂的行为。子会话和退役扩展实例无法接管当前请求;重复生命周期通知不会重置活跃状态。原生会话绑定继续经过验证,转录文件延迟出现时会重试保存。共用扩展的 OMP 路径由生命周期回放覆盖。 - 撤销 #403 的重复 Claude 解析器。轮询与完成 hook 恢复使用现有共享 pasted-content 解析,统一请求归属、保留不透明 ID 兼容性并拒绝歧义嵌套标签。这是恢复既有行为;此前七个失败测试并不代表七起已观察到的真实客户端故障。
- 处理 #402 后续反馈:托管 OpenCode 启动时,通过本地 Git 排除规则保护
.ccb易变运行目录,防止源码快照递归包含自身数据。旧版观察复用有预算限制的数据库与 WAL 私有副本,读取失败保留游标,并定期重扫时间戳未变化的会话。持续失败明确返回 incomplete,不再无限等待或重放提示词;身份证据缺失与已证实的不匹配分别报告。 - 恢复 MiMo 复用旧版观察逻辑的兼容性;更新 OMP 启动和历史测试,使其符合当前按平台启用的 supervisor 与原生历史分页接口。
升级说明
- 执行
ccb update,或使用npm install -g @seemseam/ccb@8.7.22。相关 agent 空闲后正常刷新,使其加载新扩展和读取代码;不会自动重启业务 agent 或重放任务。 - Git 排除在下一次托管 OpenCode 启动时生效,保留已跟踪的配置、项目记忆和索引。运行文件已被跟踪、规则被覆盖或无法写入时会告警。已有膨胀的 Provider 数据库和快照不会被缩减、删除、VACUUM 或 checkpoint。
- 8.7.22 不改变 OpenCode v2 原生服务需要显式启用的要求;Windows 支持仍为 beta。
验证与限制
- Pi/OMP 审查回归 453 项通过、两项原生烟测按条件跳过;新增切换套件在旧基线失败 22 项,在候选版本全部 34 项通过。真实 Pi 1.2.0 使用同一缓存扩展实例,在三次原生
new_session切换前后完成四次准确归属的回复,模型由本地模拟服务提供。该烟测以 RPC 输入替代 tmux 输入,不宣称完成云端模型及完整挂载环境下的clear → ask → reply验收。 - OpenCode 修复在源码与隔离安装预览版中均通过 318 项测试。安装后的真实 OpenCode 1.19.5 配合本地模拟模型连续 20/20 请求完成,注入复制失败后同一请求恢复且无重放,DB+WAL 最大约 4.61 MB;真实 2.2.4 原生服务回归也通过。不宣称复现报告者的 Arch 主机或证实其挂起的具体因果。
- 旧版数据库与 WAL 副本合计上限为 256 MiB,复制过程按协作式两秒预算检查,每条 SQL 查询另有两秒预算。连续观察失败三十秒返回
INCOMPLETE / opencode_observation_unavailable,此时 Provider 仍可能运行;OpenCode v2 已有的活跃轮次取消与重启观察限制继续适用。