总览:https://github.com/agentic-ai-java/argi/issues/180 架构主线:https://github.com/agentic-ai-java/argi/issues/186 ## 当前证据 https://github.com/agentic-ai-java/argi/blob/f45b2cf7a2fb301744fa61ef423795f6d30b65da/argi-graph-core/src/main/java/io/github/agentic/ai/graph/execution/run/RunSpec.java#L20 当前 graph.execution 包容纳身份、预算、Run/Task 和定义注册,运行模型还具有 graphId/graphVersion 字段。Loop 抽离时若整体搬迁,独立 Agent 和 Workflow 仍会经共享类型重新依赖图引擎。 - [ ] 对 TrustedExecutionContext、ExecutionBudget、Run/Task、DefinitionResolver、ExecutionGuard 等逐项划分通用契约与引擎专有语义,不将旧图类型换名后冒充共享层。 - [ ] 设计最小运行契约和所属模块,明确身份/命名空间、取消/deadline、执行所有权、结果/事件、恢复能力声明的边界,不预设一个巨大的 runtime 模块。 - [ ] 为定义引用的引擎差异给出中立表达,Graph/Loop 标识留在对应适配边界;保留旧 wire 标识读取或提供迁移,不能直接全局替换 graphId 等字段。 - [ ] #195 负责 Agent 调用契约,本任务负责通用运行契约提取;#198 负责 Loop 的独立发布,#190 负责存储实现归属,避免交叉重复迁移。 - [ ] ReAct、Workflow 与 Loop 各自独立消费者可只引入必要共享契约,公共签名、字节码和依赖树无反向引擎依赖。 - [ ] 用现有身份、预算、版本解析、RunStore/租约契约测试验证行为;协议/数据变化遵守 #182。 前置:#186 架构方向;与 #195 协调,先确定归属再分阶段实施迁移。 ## 约束 来源为当前代码静态分析,尚未执行本任务实现或完整构建。复用已验证组件;破坏性变更需比较较小/兼容方案,说明收益、影响、迁移成本、版本与验证方式。Workflow 独立执行;原 Graph 独立为 Loop,二者不互为强制依赖。 ## 本轮任务关联 ## 跨场景组合的运行语义验收 - [ ] 对 ReAct、Workflow、#296 固定组合、#297 自主协作、远程适配及可选 Loop 桥接,明确父子运行身份、作用域所有权和能力声明。 - [ ] 父取消/deadline 向下传播并收窄;子正常完成不能取消父或兄弟;单成员超时/失败是否取消其他成员由明确协作策略决定。 - [ ] 消息快照与增量、结果投影、终态、用量及预算跨嵌套调用一致;父子用量不得重复计入。具体事件消费复用 #236/#249,已复现局部缺陷仍在各 BUG 单修复。 - [ ] 发布支持矩阵区分进程内、暂停恢复、跨实例接管;不支持的组合显式拒绝,不能因为共享接口而声称具备持久恢复。 - [ ] 用组合调用与竞态验证上述行为;无需持久后端即可验收本地语义,跨进程能力另外接入 #124/#128/#129。
Activity