Skip to content

feat: checkpoint fixed-workspace admission and Roslyn isolation WIP - #37

Open
linnnn89 wants to merge 1 commit into
mainfrom
codex/runtime-baseline-and-cleanup
Open

feat: checkpoint fixed-workspace admission and Roslyn isolation WIP#37
linnnn89 wants to merge 1 commit into
mainfrom
codex/runtime-baseline-and-cleanup

Conversation

@linnnn89

Copy link
Copy Markdown
Owner

同一 MCP 连接切换工作区会破坏热 Host 与调用归属;同项目的多个 Roslyn Host 并发冷加载还会竞争 MSBuild 生成文件。本 PR 保存固定工作区、有界请求准入与资源归属修复,以及尚待正式验收的私有设计时输出实现。

这是 2026-09-10 晚间交接草稿,当前最终源码尚未完成构建与全链路验证,不可合并。 源码版本为 0.15.0,未发布。

已有验收的基础改动

  • A9:资源清理遵守注册及进程身份归属,自然退出释放监听器;CI 保留失败阶段报告。
  • N1:每个 MCP 连接绑定启动工作区,异根请求在副作用前返回 WORKSPACE_MISMATCH,同根确认保留健康 Host/快照。
  • N3:每实例 32 个未完成业务请求、4 个状态槽、64 KiB 原始参数限制;共用总截止时间,取消待实际清理完成后归还容量,过载返回 SERVER_BUSY,不自动重放。hello 读取已知状态,未知统计为 null。

N4 进行中的实现

  • 原实现已实际复现 editorconfig 和 AssemblyAttributes.cs 写入竞争。保留私有输出与根锁的对照脚本及原型,未将根锁作为正式方案。
  • 私有输出使用每 Host UUID 命名空间,复用安装 SDK 的 Microsoft.Build.dll 求值原项目,保留原 Compile 排除与 CustomBefore hook;输入策略升为 2,保留实际编译输入和保守失效判断。
  • Native 记录所属产物并正常回收,Gateway 在确认自有 Host 退出后补偿清理;预校验根、UUID、清单和链接边界,保留兄弟实例产物。
  • 正式源码已接入,但最后的重叠输出目录候选合并、实际 Imports hook 解析尚未构建;旧原型构建入口的源码锚点和 UUID 来源也待迁移。当前磁盘构建不能代表 PR 最终源码。

实际验证及边界

范围 实际结果
N4 接入前的稳定构建 Node 24 核心 417 项:416 通过、1 可选条件跳过;真实 Roslyn 22、E4 17、桌面 35、手动释放 10 均通过
N4 接入前的真实客户端 SDK 三实例 11 场景通过,但同根第二实例分开启动;Grok 7 次真实 MCP 调用通过。这些结果不证明同根并发冷加载已修复
修订私有输出原型 语义 12/12、外部干扰/编辑 6/6、输入反例 3/3、并发/生命周期 5/5;生命周期回执无已观测残留进程或清理失败。它们不覆盖最后的正式源码修订
当前 TypeScript 针对性检查 node node_modules/tsx/dist/cli.mjs --test tests/design-time-artifacts.test.ts tests/roslyn-contracts.test.ts:23/23 通过
当前最终源码 尚未完成 typecheck、Native Release、完整核心、正式三 Host 冷加载、交付身份及远端 CI 验证

历史失败保留于工作日志,不改写为通过。原始 test-tmp 报告只保留本机,不随公共 PR 上传;日志中的本地报告链接不是远端可下载验证包。

2026-09-11 待办

  • 修正验证入口,明确旧基线与当前发布 Host;统一 blocker、生成文件及回收检查的真实 UUID。
  • 补旧 inputPolicy Host 拒绝测试;审查最后两项 Native 修改、SDK 引用及 MSBuildLocator 加载顺序。
  • typecheck、锁定 SDK 的 Native Release 构建、完整 npm run check,生成并核对新交付身份。
  • 默认 node scripts/verify-multi-agent.mjs 真正 A/B/A 三 Host 同时冷启动;验证 C#、项目图、WPF、自定义目录、嵌套根、不同配置和外部构建。
  • 验证实际生成输入变更、显式 obj Compile、新旧精确定位、原 hook;正常/取消/强杀仅回收所属产物且兄弟可用。
  • 评估动态项目引用、多目标框架和自定义 Compile 的保守失效;明确 Gateway 与 Host 同时硬退出/断电的孤儿目录限制。
  • 按影响完成真实 Host/MCP、E4、手动释放、Node 22、CI 与独立审查,再决定转为可评审状态。Codex 单列待验,先不动 agy CLI。

详细交接:工作日志最后一节;下一轮计划的“2026-09-11 恢复顺序”。README、CHANGELOG、架构与路线图已同步 WIP 状态。今晚按用户要求停止开发,无合并或发布。

@linnnn89
linnnn89 marked this pull request as ready for review September 10, 2026 14:32
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