Skip to content

feat(release): admit current-process managed toolchain - #69

Draft
zhiiw wants to merge 1 commit into
codex/m5-managed-node-test-admission-v1from
codex/m5-current-process-toolchain-admission-v1
Draft

feat(release): admit current-process managed toolchain#69
zhiiw wants to merge 1 commit into
codex/m5-managed-node-test-admission-v1from
codex/m5-current-process-toolchain-admission-v1

Conversation

@zhiiw

@zhiiw zhiiw commented Aug 30, 2026

Copy link
Copy Markdown
Owner

Summary

Admit the already-running packaged Electron Node 24 runtime and one fixed managed-command entrypoint as an owner-bound toolchain capability. This adds no second Node runtime, npm distribution, or PATH discovery.

Primary invariant

A managed command may use only the current Desktop Electron executable and the exact packaged helper entrypoint. Platform/arch/Node version, entrypoint bytes/hash, executable bytes/hash, profile version, and the allowed hermetic effect class are frozen into one opaque invocation capability and revalidated before use.

Trust and authority

  • The outer Desktop platform signature/install verification remains the distribution trust root.
  • The adjacent manifest is not presented as a separate cryptographic signature.
  • The current-process resolver observes process.execPath; callers cannot choose an executable path.
  • The manifest allows only hermetic_observation_v1 and one exact entrypoint path.
  • The toolchain artifact authority revalidates executable and entrypoint identity for every invocation.

Packaging

The release adds only the compiled JavaScript entrypoint (currently about 6.5 KiB) and a small manifest. It reuses Electron's Node runtime and does not bundle Node or npm again.

Failure states

Manifest/platform/version mismatch, file replacement, identity drift, or missing packaged resources fail closed before command spawn. Historical Windows upgrade baselines explicitly remain exempt from the new resource requirement.

Validation

  • Real Electron Node-mode admission and tamper rejection: 2/2
  • Preparation/manifest tests: 2/2
  • Packaged-resource contract tests: 3/3
  • Runtime Host typecheck/build: pass
中文说明

本 PR 把当前 packaged Electron Node 24 runtime 与一个固定 managed-command helper 组合成不可伪造的 invocation capability。caller 不能选择 executable path,也不能从 PATH、npm 或系统 Node 发现工具链。

分发信任根仍是 Desktop 外层平台签名和安装包验证;相邻 manifest 不被虚称为独立密码学签名。运行时会固定并重复验证 executable/entrypoint 的 bytes/hash、platform/arch、Node version、profile 和 effect class。

包体只增加当前约 6.5 KiB 的 JavaScript helper 与小型 manifest,不会再捆绑一份 Node 或 npm。任何 manifest、平台、版本或文件 identity 漂移都在 spawn 前 fail closed。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant