<!-- ARGI-ENT-20261008:T20 --> ## 目标 将父子关系和结果汇聚持久化,跨 session/slot 不依赖无法实现的 Redis 全局事务。 ## 优先级与归属 - 优先级:P2A;任务标识:T20。 - 责任仓库:`agentic-ai-java/argi-extensions`。 - 总览:https://github.com/agentic-ai-java/argi/issues/117。 - 这是单一交付任务;以中立接口/reference tests 隔离依赖,可单独提交评审。 ## 范围与落地方案 - 同父 namespace 原子保存 delegation intent/outbox,通过 child submission-key 幂等创建子 run。 - 持久化不可变 child result reference 和可重投递 completion event;父按 own revision/fence 汇聚。 - 恢复扫描修复创建子任务或通知父任务前的崩溃;取消/预算返回按去重协议执行。 ## 前置依赖 - https://github.com/agentic-ai-java/argi-extensions/issues/8 (T11) - https://github.com/agentic-ai-java/argi/issues/128 (T19) ## 间接或集成依赖(不单独阻塞) - https://github.com/agentic-ai-java/argi-extensions/issues/11 (T16):模型日志/工具 receipt 是相关恢复数据源,不阻塞 delegation outbox/join storage。 ## 验收条件 - [ ] 父 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。 ## 当前实现依据 - [Redis leased saver storage/atomicity](https://github.com/agentic-ai-java/argi-extensions/blob/ed07835729405e7c8b97772d5b478d63ac1f9760/graph-persistence/argi-graph-persistence-redis/src/main/java/io/github/agentic/ai/graph/persistence/redis/RedisLeasedCheckpointSaver.java#L54), [Namespace hash-tag key](https://github.com/agentic-ai-java/argi-extensions/blob/ed07835729405e7c8b97772d5b478d63ac1f9760/graph-persistence/argi-graph-persistence-redis/src/main/java/io/github/agentic/ai/graph/persistence/redis/RedisLeasedCheckpointSaver.java#L453). - [Local task repository](https://github.com/agentic-ai-java/argi/blob/6324f53d7b6337cc9238a8cc5314dfef75f3548b/argi-agent-framework/src/main/java/io/github/agentic/ai/graph/agent/tools/task/DefaultTaskRepository.java#L32), [TaskTool delegation](https://github.com/agentic-ai-java/argi/blob/6324f53d7b6337cc9238a8cc5314dfef75f3548b/argi-agent-framework/src/main/java/io/github/agentic/ai/graph/agent/tools/task/TaskTool.java#L98), [Supplier task contract](https://github.com/agentic-ai-java/argi/blob/6324f53d7b6337cc9238a8cc5314dfef75f3548b/argi-agent-framework/src/main/java/io/github/agentic/ai/graph/agent/tools/task/TaskRepository.java#L27). 分析基线:Core `6324f53`、Extensions `ed07835`;AgentScope 参考 `c95eb1f`。本 Issue 是待完成任务,不代表能力已经实现。
Activity