Skip to content

[P2A][T20] 实现 Redis 父子委派 outbox、结果通知与 join 存储 #13

Open

Description

@Aias00

目标

将父子关系和结果汇聚持久化,跨 session/slot 不依赖无法实现的 Redis 全局事务。

优先级与归属

范围与落地方案

  • 同父 namespace 原子保存 delegation intent/outbox,通过 child submission-key 幂等创建子 run。
  • 持久化不可变 child result reference 和可重投递 completion event;父按 own revision/fence 汇聚。
  • 恢复扫描修复创建子任务或通知父任务前的崩溃;取消/预算返回按去重协议执行。

前置依赖

间接或集成依赖(不单独阻塞)

验收条件

  • 父 intent 提交后、child 创建前崩溃,扫描后只创建一个子 run。
  • child result 已提交但通知丢失仍可修复,重复通知只 join 一次。
  • waitingChildrenParentReacquiresBeforeJoinCommit;跨 slot 配置不冒充原子事务。
  • 跨租户访问/权限越权被拒绝,未完成关系与结果引用不会被提早回收。

非目标

  • 不实现 A2A HTTP 存储或协议变更,不引入 MQ。

兼容与验证约束

  • 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/important-longterm长期重要:需持续规划、可能跨多个版本完成

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions