test: prove managed coding v2 Host crash convergence - #71
Draft
zhiiw wants to merge 38 commits into
Draft
Conversation
zhiiw
force-pushed
the
codex/m5-managed-coding-v2-crash-gate
branch
9 times, most recently
from
August 31, 2026 03:26
078daf3 to
6dda20a
Compare
zhiiw
force-pushed
the
codex/m5-managed-coding-v2-crash-gate
branch
from
August 31, 2026 03:33
6dda20a to
b4060f0
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Add the production-shaped gate required before
managed-coding-v2can be enabled on a supported Desktop platform.The gate launches the repository-pinned Electron runtime as the real Runtime Host, admits the packaged Gitoxide helper and managed command toolchain, executes a real accepted-world
ManagedNodeTest, kills the Host after the provider has observed the durable tool result, and starts a second Host over the same SQLite/Git state.Primary invariant
Once a managed observation result is durable, Host death and automatic continuation must not execute that observation again.
The successor Host must continue from the exact accepted Git tree and immutable RuntimeEvents, leaving exactly one
ManagedNodeTestcall/response pair.Atomic boundary and owner
The failpoint is external: the fake provider hangs only after it receives the already-durable tool result, then the test kills the actual Host process.
Failure and rollback
managed-coding-v2before T1 until an independently admitted standalone Node artifact exists; it never falls back toPATHor an unsandboxed process.Platform evidence
managed_workspace_profile_unavailable; the existing Windows AppContainer/Job protocol remains tested independently. Full Node-test support is intentionally not claimed.Local verification
中文说明
摘要
新增受支持 Desktop 平台启用
managed-coding-v2前必须通过的真实 crash gate。Linux/macOS 使用仓库锁定的 Electron 启动真实 Runtime Host,加载 packaged Gitoxide 与 managed command toolchain,执行 accepted-world
ManagedNodeTest。provider 看到已经持久化的工具结果后挂起,测试强杀 Host;第二个 Host 再从相同 SQLite/Git 状态自动 continuation。主要不变量
managed observation 结果一旦持久化,Host 崩溃与自动 continuation 都不得再次执行该 observation。重启后只能从 exact accepted Git tree 与 immutable RuntimeEvents 继续,最终全库只能存在一对
ManagedNodeTestcall/response。平台边界
Runtime 拥有 observation T1/T2;Gitoxide 拥有 accepted input;sandbox 拥有物理 Node 进程;SQLite 拥有不可变结果;Host startup recovery 拥有新 Run。
Ubuntu 使用真实 Bubblewrap、macOS 使用真实 Seatbelt,均执行 Host kill/reopen。Windows 当前不会把 Electron.exe 误当成已证明的 AppContainer Node toolchain,而是在 T1 前明确返回
managed_workspace_profile_unavailable。后续 Windows 支持必须引入独立校验的 standalone Node artifact,禁止从PATH借用或退化成非沙箱执行。