Skip to content

refactor(agent): establish Codex-style Agents SDK runtime foundation - #39

Open
JamesLinYJ wants to merge 12 commits into
mainfrom
docs/codex-runtime-refactor-plan
Open

refactor(agent): establish Codex-style Agents SDK runtime foundation#39
JamesLinYJ wants to merge 12 commits into
mainfrom
docs/codex-runtime-refactor-plan

Conversation

@JamesLinYJ

@JamesLinYJ JamesLinYJ commented Aug 17, 2026

Copy link
Copy Markdown
Owner

概要

落地 Codex-inspired、Agents-SDK-native 的 Agent 运行时基础,而不复制 Agents SDK 已有的模型—工具—handoff 微循环。

  • Newmap 持有持久 Run/Turn/Runner segment、输入邮箱、终态竞争和后续 durable child Run 的控制面;
  • OpenAI Agents SDK Runner 保持为单个 segment 内唯一的 model/tool/handoff/Agent-as-tool 微循环;
  • 升级 @openai/agents0.16.1
  • 建立 SDK 状态防腐边界和架构守卫;
  • 增加完整的后续重构 RFC、ADR 与实施记录。

关键实现

SDK 防腐边界

  • 新增 agentsSdkStateBoundary.ts,集中处理当前活动 Runner steering 的唯一兼容接触;
  • checkpoint 作为 opaque blob 保存;
  • tool terminal callId 从公开 RunState.history 获取;
  • 删除对 generatedItems 和 checkpoint 内部 JSON 结构的解析;
  • 架构测试禁止 _originalInput 在防腐文件之外出现,并禁止 SDK 内部布局回流。

版本与恢复

  • 固定经过契约验证的 Agents SDK 0.16.1
  • 运行时装配显式校验安装版本;
  • 继续拒绝 SDK 版本、state schema 或 runtime config digest 不一致的 checkpoint;
  • 保持 steering、approval、handoff、Agent-as-tool、并发、MCP、Sandbox、Goal 和 Compose 恢复链路。

工程标准

  • 更新 AGENTS.md 和架构总览,明确 RunEngine 与 SDK Runner 的所有权;
  • 新增 ADR;
  • 新增可供 Codex 分 Work Package 执行的完整 RFC;
  • 明确本 PR 是 WP-00/WP-01 与防腐基础,不冒充一次完成全部后续 Work Package。

CI 与发布门禁

  • Dependency Graph/SBOM 可用时继续执行高危依赖审查;
  • 仓库未启用该能力时给出明确 warning 并跳过,不把仓库设置缺失伪装成代码失败;
  • 自动桌面打包、CI 与 CodeQL 保持为 PR 必过门禁。

验证结果

提交前验证流水线

  • Server:137 个测试文件通过;790 个测试通过,4 个既有环境集成测试按条件跳过;
  • 根目录全工作区构建通过;
  • 依赖契约测试通过;
  • 发布管线测试通过;
  • git diff --check 通过;
  • 一次性迁移脚本在成功后自动删除,未留在最终差异中。

最终 head 的 GitHub Actions

  • CI:Node.js 22、Node.js 24、Python Worker 与安全扫描全部通过;
  • CodeQL:通过;
  • Desktop Packages:Windows x64、Linux x64、macOS Intel、macOS Apple Silicon 均完成构建、包集合校验和 Artifact 上传;
  • Dependency Review workflow:通过;仓库 Dependency Graph/SBOM 当前不可用,因此漏洞差异步骤按明确 warning 跳过,没有伪称已完成依赖漏洞审查。

临时兼容说明

Agents SDK 0.16.1 的公开 RunState.addInput() 在当前同一模型请求的 callModelInputFilter 时点,无法同时满足“立即模型可见”和“写回当前可恢复 RunState”。因此 _originalInput 暂时只允许存在于单一防腐边界;后续 Runner segment 化后必须删除。

后续范围

Domain Journal、GeoWorldState、Input Mailbox 重构、ToolPlan/Effect Committer、统一 Approval/Sandbox policy、Context rollover、Plugin/Hook 和 durable child Run 继续按 RFC 分阶段推进。

@JamesLinYJ JamesLinYJ closed this Aug 18, 2026
@JamesLinYJ
JamesLinYJ force-pushed the docs/codex-runtime-refactor-plan branch from c064e1b to 19ae90b Compare August 18, 2026 03:03
@JamesLinYJ JamesLinYJ changed the title docs: add Codex-style Agents SDK runtime refactor plan refactor(agent): establish Codex-style Agents SDK runtime foundation Aug 18, 2026
@JamesLinYJ
JamesLinYJ marked this pull request as ready for review August 18, 2026 04:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant