<!-- ARGI-ENT-20261008:T13 --> ## 目标 用两个真正独立 JVM 证明无 MQ 的运行接管,不用单进程 fake 或 provider 跳过测试代替。 ## 优先级与归属 - 优先级:P1B;任务标识:T13。 - 责任仓库:`agentic-ai-java/argi-extensions`。 - 总览:https://github.com/agentic-ai-java/argi/issues/117。 - 这是单一交付任务;以中立接口/reference tests 隔离依赖,可单独提交评审。 ## 范围与落地方案 - 提供模型无关、可重复执行的进程测试 harness:启动 Redis、Worker A/B、提交并读取结果。 - 覆盖同 session 不同 run、重复提交、kill/takeover、lease 丢失、missed index 与 drain。 - 将新适配器对 candidate Core 的集成验证与 legacy fixture 验证纳入现有仓库门禁。 ## 前置依赖 - https://github.com/agentic-ai-java/argi-extensions/issues/9 (T12) ## 验收条件 - [ ] A 在已提交边界后被 kill,B 能恢复 replay-safe run,且结果可从另一实例查询。 - [ ] 重复提交只得到一个 accepted run,旧 owner 的迟到写入不得推进 revision。 - [ ] Redis 断连后不会 fallback 到进程内执行;恢复后索引修复不重复终态任务。 - [ ] 输出真实进程/PID、测试结果和失败日志;不需要生产 LLM API key。 ## 非目标 - 不认证写工具恢复,不做 HA RPO0 声明;效果窗口验收由 T18 完成。 ## 兼容与验证约束 - Java 17;新增路径显式启用,保留既有 API、默认行为、checkpoint/Store 格式及配置前缀。 - Core 不引入 Redis/Extensions 依赖;存储实现归 Extensions,应用接线归可选运行层。 - 首阶段无 MQ、整 Run Worker,不做节点分片,不承诺通用 exactly-once 或 Redis HA RPO0。 - 先用模型无关单测/reference 验证本任务,再按范围运行现有 API/格式门禁;涉及 Redis 用真实存储测试,涉及接管用独立 JVM。 ## 当前实现依据 - [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). - [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). 分析基线:Core `6324f53`、Extensions `ed07835`;AgentScope 参考 `c95eb1f`。本 Issue 是待完成任务,不代表能力已经实现。
Activity
Merge pull request #10 from spring-ai-alibaba/1027-yuluo/params