Skip to content

refactor: prepare runtime and LLM directory layout - #4053

Open
JasonW404 wants to merge 7 commits into
developfrom
refactor/runtime-layout-preparation
Open

JasonW404 wants to merge 7 commits into
developfrom
refactor/runtime-layout-preparation

Conversation

@JasonW404

@JasonW404 JasonW404 commented Oct 8, 2026 •

Copy link
Copy Markdown
Member

调整方式和目的

为后续自建 NativeAgent 准备目录,迁移现有实现并明确公共入口与内部模块的边界。

实现 所属目录
现有 CoreAgent / CodeAgent 执行逻辑 agents/execution/code/legacy_agent.py
MCP 生命周期、工具用户上下文 agents/resources/
LLM 请求和适配器基类 gateway/llm/adapter.py
OpenAI 适配器 gateway/llm/providers/openai.py

根据评审收敛入口

  • 保留 agents/core_agent.py,仅显式导出 CoreAgent;agents/__init__.py 延迟导出保持。未来运行时选择在此公共边界实现。
  • 删除四个内部旧模块:agents/managed_mcp.py、agents/tool_user_context.py、gateway/modality/llm/llm_adapter.py、gateway/modality/llm/openai.py。
  • 移除 sys.modules 兼容别名。资源、LLM、内部辅助符号及测试 patch 使用实际实现路径;NexentAgent 通过公共 CoreAgent 入口接入。
  • CoreAgent 类身份保持,仍继承 CodeAgent。直接依赖已删除内部路径的外部调用需更新导入;不再支持旧内部序列化模块路径。

本次没有实现 NativeAgent、运行时开关、组合调度门面、新模型档案注册或统一 HTTP sender;smolagents 版本、请求算法、API、数据库和 UI 行为保持。

目录设计、范围和验证证据仅保存在独立 nexent-doc 的 runtime-model-capability-execution/ 中,不纳入本代码 PR。

本次整改验证

  • Agent/gateway 按 CI 逐文件隔离回归:1,894 passed,包括 9 项公共导出、删除旧路径、延迟加载、注册和序列化检查。
  • 正式 D1/D2:5 passed。
  • 五个原有实现排除 import 后 AST 与 develop 基线一致。
  • 正式测试资产、生成 Excel 和 git diff --check 通过。
  • 原目录迁移保留的测试夹具修正详见提交:补齐 context 字段、显式启用既有协议修复用例的策略、捕获实际 logger 和既有生命周期日志;未改产品日志或降低行为断言。
  • 资源边界测试保留正常/异常生命周期、身份覆盖和上下文不可变性验证;删除旧模块身份测试,替换为旧内部路径不可导入验证。

VM 验证与 CI

最新整改提交 ab9274406(同步 develop 8fe2381e2) 已完成本地和 VM 验证:

  • 恢复已获批的 v2-6-1-docker-cache 快照,原生挂载工作树;构建 ARM64 main/web/mcp。
  • local-latest 模式取 latest 标签,将本次镜像标记为 latest 后部署 infrastructure/application/supabase;确认运行中镜像及八个 SDK 文件哈希匹配本次源码。
  • 运行中的 config 容器:公共 CoreAgent 类身份、旧内部路径不可导入、CodeAgent 继承、代码解析、LLM 注册、序列化检查 PASS。
  • config health、runtime OpenAPI、northbound health、前端页面均 HTTP 200;验证 Test Tanent 与三角色账号,super-admin 默认凭据保持。

此前 CI 因 develop 新合入的 Windows 沙箱重复引入旧辅助符号路径而失败;已同步最新基线、清除重复导入,并补充真实 NexentAgent 组装导入回归。39 个失败文件的 1,104 项回归经补齐本地测试依赖后通过;正式 D1/D2 5 PASS。再次恢复干净 VM 验证,运行中的 NexentAgent 加载、八个关键 SDK 哈希及四个健康接口 PASS。复用未受影响且已验证的 web/MCP 构建镜像,main 按最终源码重建。

最终 CI 状态

代码验证提交 ab92744060688ce80e3ae3f2a12fae79133af6ac 全部检查 PASS:全量 unit-test、各镜像 AMD64/ARM64、CodeQL、SonarCloud、codecov/patch。Codecov patch 100.00%(目标 90.00%),所有可统计修改行有测试覆盖。PR 为 ready for review,未合并。

回滚:revert 本 PR,无数据迁移。本 PR 未合并。

按评审要求,文档清理提交 df7caac15 从本 PR 移除 docs/runtime-layout-preparation.md,说明和证据保留在独立 nexent-doc;此提交不修改代码。

@JasonW404
JasonW404 marked this pull request as ready for review October 8, 2026 11:07
Copilot AI balanced review requested due to automatic review settings October 8, 2026 11:07
@JasonW404 JasonW404 changed the title [WIP] refactor: prepare runtime and LLM directory layout refactor: prepare runtime and LLM directory layout Oct 8, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@codecov

codecov Bot commented Oct 8, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

This branch has not been deployed

No deployments
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.

2 participants