Skip to content

[BUG][P1] DockerCodeExecutor 应适配当前 Core 代码执行契约并通过候选编译 #67

Open

Description

@Aias00

已确认问题

Core 已将内置节点及相关类型迁移到新的包路径,但 DockerCodeExecutor 仍导入旧 io.github.agentic.ai.graph.node.code.* 和 io.github.agentic.ai.graph.utils.*。使用当前 Core 产物构建时,生产编译找不到 CodeExecutor、CodeBlock、CodeExecutionConfig、CodeExecutionResult、CodeUtils、FileUtils 等类型。

代码:

复现方式与边界

先完成当前 Core 的 ./mvnw -B clean install,再在 Extensions 执行:

./mvnw -B -fae -Dargi.version=2.1.0-RC2-SNAPSHOT clean test

本轮普通候选构建 75 模块中 8 个失败,其中 Docker 模块在 compile 阶段失败;仅含当前 Core 产物的隔离候选验证中,Docker 同样失败。问题发生在 javac 阶段,不需要 Docker daemon,不能归因于容器测试环境缺失。尚未证明默认 RC1 组合失败。

交付与验收

  • 盘点现有接口、实体和辅助方法的迁移及签名变化,按当前代码执行契约完成适配,而非只添加旧包占位类。
  • 对安装当前 Core 后的真实依赖树和生产/测试编译进行验证,不能使用旧 builtin-nodes 缓存掩盖错误。
  • 保留执行配置、结果/错误、超时取消、资源清理、输出限制和截断语义;必要时补充有意义的行为回归。
  • 编译通过和离线测试与真实 Docker 执行验收分开记录;容器不可用的跳过不能标成真实运行通过。
  • 若契约方案变化涉及公共接口,给出现有 CodeExecutor 实现者迁移方式,不向 Core 恢复旧供应商依赖。

与已有任务的关系

#42 负责代码执行契约归属、输出限制去重和解除 Docker 对节点 Starter 的依赖;本单是候选版本当前已经发生的具体编译阻断,可与 #42 协同实施,不另立竞争契约。另关联 #30、agentic-ai-java/argi#225 和 agentic-ai-java/argi#229。

验证基线与变更约束

审阅基线:Core b34835354b27f1f320ea8438edf2e9d170e69c84 / Extensions cb2635ab2fc338e8aade28a132a15f48b4e655fc。以下为离线 stub、独立 Java 探针或候选工件编译验证的结果,不代表真实模型、外部服务或生产环境验收。

修复保持独立 ReAct/Workflow 不依赖 Graph/Loop,不向 Core 引入供应商 SDK。优先修正现有契约的执行行为;确需改变公开 API、配置或定义格式时,说明较小替代方案、收益、消费者影响、目标版本与迁移方式。不得以跳过测试或删除能力换取通过。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions