Skip to content

[P3][T27] 提供持久化事件游标、运行核对与运维控制接口 #17

Open

Description

@Aias00

目标

运行状态与已提交事件可跨实例查询/断线重连,不依赖 JVM 内存广播或日志猜测。

优先级与归属

范围与落地方案

  • 实现 per-run sequence/cursor 查询与 outbox 重投递去重,事件和进度保持权威提交关系。
  • 在可选 runtime service adapter 中扩展 IN_DOUBT 核对/显式 resolve、失败详情、审计查询及 retention。
  • 控制命令必须身份授权与 expected revision,不伪造 Worker owner,payload 默认脱敏。

前置依赖

验收条件

  • API/Worker 重启后 cursor replay 返回所有已提交范围的事件,无隐式漏段。
  • 重复事件按 runId/sequence 去重,跨租户 cursor/resolve 请求被拒绝。
  • IN_DOUBT resolve 有授权审计且不自动重放未知写;token live stream 与持久事件边界明确。
  • 支持的 cursor/receipt retention 窗口文档化,过期 cursor 明确错误而非悄悄丢事件。

非目标

  • 不建设管理 UI,不把 live token streaming 宣称为持久化流。

兼容与验证约束

  • Java 17;新增路径显式启用,保留既有 API、默认行为、checkpoint/Store 格式及配置前缀。
  • Core 不引入 Redis/Extensions 依赖;存储实现归 Extensions,应用接线归可选运行层。
  • 首阶段无 MQ、整 Run Worker,不做节点分片,不承诺通用 exactly-once 或 Redis HA RPO0。
  • 先用模型无关单测/reference 验证本任务,再按范围运行现有 API/格式门禁;涉及 Redis 用真实存储测试,涉及接管用独立 JVM。

当前实现依据

分析基线:Core 6324f53、Extensions ed07835;AgentScope 参考 c95eb1f。本 Issue 是待完成任务,不代表能力已经实现。

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestpriority/backlog待排期:已纳入积压列表,按资源安排处理

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions