Repository navigation
[1.52.0] - 2026-10-09
Summary
v1.52.0 是一次 minor 版本更新,核心主题是 数据生命周期与可核验交付。运行资源回收与历史数据保留分开计时,让不占运行资源的会话保留更久;效果对账、围栏和队列终态进入执行时间线,并修复会话清理、事件顺序、PostgreSQL 队列和关闭竞态等可靠性问题。
Added
- 分层生命周期:新会话默认使用
v2策略,最近有效输入后 7 天标记归档、180 天到期;归档后仍可查看和续聊。每条新消息正文独立保留 180 天,投递正文在结算后保留 7 天,已结算投递/执行明细保留 90 天后清理或压缩,并保留去重根事实。v2 无正文审计事实默认保留 180 天,媒体缓存 24 小时,已关闭 ACP trace 48 小时。期限、扫描间隔、批量大小和积压告警均可配置。 - 生命周期迁移与删除进度:管理员可通过
preview/apply预览并分批延长存量会话期限;用户删除后的异步清理进度可查询。不支持远端清理的 Worker 会明确返回 unsupported,并保留 blocked 状态。 - 效果对账与运行时事件:效果账本增加 reconciled / fenced 终态,执行时间线区分对账结果与围栏;新增效果计划、对账、围栏和操作员动作事件,排队输入取消、清空与过期也产生终态事实。Go、TypeScript、Python、Java SDK 与 AEP 文档同步扩展。
- Worker 隔离能力报告:四种 Worker 如实报告可提供的隔离能力和限制,区分 Agent 配置约束与操作系统级隔离。
- 显式云端交付工具:指定 Issue 后顺序执行受限实施、质量门和草稿 PR 发布;支持过期验证检测、提交/推送检查点恢复、已有 PR 复用和必须执行的 Git hooks,不增加自动合并或部署能力。
Fixed
- 会话续期与迁移:已迁移会话在持久受理新输入时正确续期;热/冷缓存路径保留已保存的策略版本与更长期限,迁移候选和 readiness 使用一致规则,分批操作能够收敛。重复输入不续期,生命周期写入失败的排队输入不会被误确认或退回易失队列。
- 留存窗口不随新配置缩短:投递与执行记录在创建时保存窗口和策略版本,按各自结算时钟计算清理期限;缺少快照、未结算、状态未知或仍有活动义务的记录继续受保护。审计哈希链按已到期连续前缀清理,legacy 与 v2 链独立保留。
- PostgreSQL 清理与队列:删除会话后先关闭
RETURNING结果集再入队远端清理,保持同一事务的原子性;修复队列预算、领取、结算及深度查询的占位符转换,以及留存窗口和结算时间的 BIGINT 类型推断。 - 事件顺序与消息身份:
done先于运行时终态事实送达,seq 与送达顺序一致;delta 合并保留消息身份与 metadata,超时回调不再修改转发器拥有的文本聚合状态。 - 关闭竞态:Repairer 仅在后台处理循环退出后执行单一 drain,整个关闭过程受同一个时间预算约束;取消/超时不会启动并发重试,回调重入和关闭后的 Start 不会死锁或创建新处理循环。
- 原生 SDK 与诊断:固定 Origin 白名单下允许不携带 Origin 的原生客户端,仍拒绝携带未授权 Origin 的请求;诊断检查改用明确注入的状态与配置根目录。Cron 在计划阶段拒绝不安全的工作目录。
Upgrade Notes
- 启动时会自动应用 SQLite / PostgreSQL 成对迁移 039–045;升级前备份数据库,涉及数据格式的回退按
docs/guides/developer/release-recovery.md的恢复流程执行。 - 已有 legacy 会话不会自动切换到 v2,历史期限不会因升级或缩短配置被重算。需要迁移时先预览,再由管理员显式 apply;迁移不会缩短期限或复活已删除记录。
session.retention_period继续表示兼容的运行资源期限,不是聊天正文保留期。生命周期清理参数调整后需重启 Gateway;备份、用户工作文件及聊天平台自身的消息不属于本地清理范围。- 审计正文采集仍关闭,
lifecycle.audit.capture_content: true会校验失败;audit.content_retention是预留项。云端自动实施需要有效 Codex 认证,认证失败时停止并保留现场。