Consume immutable dependency snapshots in managed Node tests - #74
Draft
zhiiw wants to merge 2 commits into
Draft
Conversation
zhiiw
force-pushed
the
codex/m5-dependency-observation-binding
branch
from
August 31, 2026 02:05
06cf779 to
f9103c2
Compare
zhiiw
force-pushed
the
codex/m5-dependency-sandbox-consumption
branch
from
August 31, 2026 02:05
6720511 to
5da6133
Compare
zhiiw
force-pushed
the
codex/m5-dependency-observation-binding
branch
from
August 31, 2026 03:36
f9103c2 to
5bccd84
Compare
zhiiw
force-pushed
the
codex/m5-dependency-sandbox-consumption
branch
from
August 31, 2026 03:39
5da6133 to
6f62c5b
Compare
zhiiw
force-pushed
the
codex/m5-dependency-observation-binding
branch
from
August 31, 2026 03:42
5bccd84 to
d520c63
Compare
zhiiw
force-pushed
the
codex/m5-dependency-sandbox-consumption
branch
from
August 31, 2026 03:43
6f62c5b to
cc95775
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
This stacked delivery makes an optional pre-provisioned npm dependency tree an actual read-only input of
ManagedNodeTest.The primary invariant is:
Authority and atomic boundary
ManagedDependencySnapshotAuthorityowns immutable publication, receipts, and leases.node_modulesbytes from the attached source.The boundary is:
accepted metadata + imported dependency bytes -> durable snapshot receipt -> opaque lease -> managed_observation_v2 T1 -> enforcing sandbox -> exact durable observation -> lease releaseA forged, wrong-owner, released, drifted, oversized, or runtime-mismatched snapshot fails before helper spawn. Missing
node_modulesis explicitly recorded asdependency.kind = none; no install is attempted.Verification
This remains Draft while its stacked prerequisites are reviewed and the three-platform packaged crash gate runs in CI.
中文说明
摘要
这个堆叠 PR 把预先存在的 npm
node_modules导入成不可变依赖快照,并让ManagedNodeTest真正以只读方式消费它。主要不变量是:
权限边界:
package.json/package-lock.json,source 只提供现有node_modules字节;伪造、错 owner、已释放、漂移、超限或 runtime 不匹配的快照都会在 helper 启动前失败。没有
node_modules时明确写入dependency.kind = none,不会尝试安装。验证结果:四个 workspace 构建通过;定向测试 24/24;真实 Electron helper 只能从 lease 导入 ESM 包;两处 snapshot crash failpoint 继续通过;packaged Host crash gate 已加入 ignored dependency tree,并验证 Host 死亡后不会重放已完成测试。
当前保持 Draft,等待堆栈前置审查与三平台 packaged crash gate。