<!-- ARGI-ENT-20261008:T10 --> ## 目标 提供显式 durable runner,复用现有图执行而非替换默认运行时;首版一次由一个 Worker 持有完整 Run。 ## 优先级与归属 - 优先级:P1B;任务标识:T10。 - 责任仓库:`agentic-ai-java/argi`。 - 总览:https://github.com/agentic-ai-java/argi/issues/117。 - 这是单一交付任务;以中立接口/reference tests 隔离依赖,可单独提交评审。 ## 范围与落地方案 - 从 committed boundary 和固定定义开始执行,通过中立 atomic commit 能力推进状态。 - 将已有 Worker owner 接入 ExecutionLeaseScope,避免二次冲突 acquire;明确续约与释放责任。 - 租约失效停止新工作并合作取消;提供查询/取消语义和最小结构化运行指标。 ## 前置依赖 - https://github.com/agentic-ai-java/argi/issues/122 (T06) - https://github.com/agentic-ai-java/argi/issues/123 (T07) ## 验收条件 - [ ] 参考后端模拟失去租约后,不再启动新节点/工具,late commit 被拒绝。 - [ ] 内层作用域结束不会释放替代 owner 的租约;异常结束资源得到清理。 - [ ] 只读/明确可重放路径可恢复;未声明安全的副作用或 JVM 本地状态路径被拒绝。 - [ ] invoke/stream 原默认语义与本地 ParallelAgent 并行顺序不变。 ## 非目标 - 不引入 Redis 到 Core,不做图节点分片;模型计划复用在 T14,写工具恢复在 T15/T16。 ## 兼容与验证约束 - Java 17;新增路径显式启用,保留既有 API、默认行为、checkpoint/Store 格式及配置前缀。 - Core 不引入 Redis/Extensions 依赖;存储实现归 Extensions,应用接线归可选运行层。 - 首阶段无 MQ、整 Run Worker,不做节点分片,不承诺通用 exactly-once 或 Redis HA RPO0。 - 先用模型无关单测/reference 验证本任务,再按范围运行现有 API/格式门禁;涉及 Redis 用真实存储测试,涉及接管用独立 JVM。 ## 当前实现依据 - [Versioned saver](https://github.com/agentic-ai-java/argi/blob/6324f53d7b6337cc9238a8cc5314dfef75f3548b/argi-graph-core/src/main/java/io/github/agentic/ai/graph/checkpoint/VersionedCheckpointSaver.java#L20), [Leased saver](https://github.com/agentic-ai-java/argi/blob/6324f53d7b6337cc9238a8cc5314dfef75f3548b/argi-graph-core/src/main/java/io/github/agentic/ai/graph/checkpoint/LeasedCheckpointSaver.java#L28), [Lease scope](https://github.com/agentic-ai-java/argi/blob/6324f53d7b6337cc9238a8cc5314dfef75f3548b/argi-graph-core/src/main/java/io/github/agentic/ai/graph/checkpoint/lease/ExecutionLeaseScope.java#L100). - [Local parallel graph construction](https://github.com/agentic-ai-java/argi/blob/6324f53d7b6337cc9238a8cc5314dfef75f3548b/argi-agent-framework/src/main/java/io/github/agentic/ai/graph/agent/flow/strategy/ParallelGraphBuildingStrategy.java#L81). - [Redis retained-history/failover and excluded runtime guarantees](https://github.com/agentic-ai-java/argi-extensions/blob/ed07835729405e7c8b97772d5b478d63ac1f9760/graph-persistence/argi-graph-persistence-redis/README.md#L162). 分析基线:Core `6324f53`、Extensions `ed07835`;AgentScope 参考 `c95eb1f`。本 Issue 是待完成任务,不代表能力已经实现。
Activity