Repository navigation
Open
Labels
enhancementNew feature or requestNew feature or requestpriority/important-longterm长期重要:需持续规划、可能跨多个版本完成长期重要:需持续规划、可能跨多个版本完成
Description
目标
审批与恢复不依赖等待线程,批准的内容必须与实际执行计划及当前权限一致。
优先级与归属
- 优先级:P2B;任务标识:T23。
- 责任仓库:
agentic-ai-java/argi。 - 总览:https://github.com/agentic-ai-java/argi/issues/117。
- 这是单一交付任务;以中立接口/reference tests 隔离依赖,可单独提交评审。
范围与落地方案
- 在既有 HumanInTheLoopHook/interrupt/resume 上增加可选 durable adapter。
- 审批 ticket 关联 run/task/definition/argument hash、approver policy、expiry、resolution/revision。
- 定义授权 CAS resolve、唯一 resume operation、当前权限复核及 WAITING_APPROVAL session reservation。
前置依赖
间接或集成依赖(不单独阻塞)
- [P1B][T10] 增加整 Run 持久化执行器与租约作用域接入 #124 (T10)
- [P1C][T15] 增加工具效果回执、幂等身份与 IN_DOUBT 核对路径 #126 (T15)
- [P1C][T17] 增加持久化重试、deadline 与恢复预算记账 #127 (T17)
- durable runner、receipt 与预算是后续运行时接线和验收场景,不阻塞 approval ticket/resume 契约。
验收条件
- 重复 approve/resume 只接受一个决议和一次有效恢复,冲突决议被拒绝。
- 过期/错误 approver/参数变化/权限撤销的审批不 dispatch 工具。
- 等待释放物理 Worker 但同 session 后续 run 不推进 checkpoint。
- 基于参考存储的 hook 回归与旧 resume DTO/默认语义保持兼容。
非目标
- 不把已有扩展性问题 [Question] HumanInTheLoop 没法扩展么? #37 当本任务的完整需求;关联 https://github.com/agentic-ai-java/argi/issues/37,但不替代或关闭该问题。
- 不实现审批 UI 或 Redis ticket 存储。
兼容与验证约束
- 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 是待完成任务,不代表能力已经实现。
审批策略与渠道插件化补充
- 何时审批、审批人选择及通知渠道作为可配置策略/适配器接入生命周期准入门;持久 ticket、身份、幂等决议和恢复机制保留在公共契约,不整体下放普通插件。
- 插件转换执行参数后,审批绑定最终参数/版本;恢复时重新检查权限及批准内容。卸载规则或通知渠道不得自动将等待审批改为允许。
- 插件异常/超时与等待审批分开诊断,实际通知后端归可选适配侧,不新增第二套审批系统。
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requestpriority/important-longterm长期重要:需持续规划、可能跨多个版本完成长期重要:需持续规划、可能跨多个版本完成
Activity
yuuuzzh commentedon Oct 20, 2026
@Aias00 lao,I want to claim this task.
Aias00 commentedon Oct 20, 2026
this issue is being blocked by #125
yuuuzzh commentedon Oct 20, 2026
ok, it seems someone has already taken care of the task that’s stuck; I’ll wait until he finish it.