feat(remote): ship signed cross-platform agents - #811
Conversation
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Comment |
|
Thanks for pushing this forward. Signed prebuilt Remote Agents are the trustworthy install path we want for users, and the signing and fail-closed verification direction is important. At the current size (roughly 15k lines), though, this cannot be reviewed responsibly as one unit. Please split it into reviewable stages:
Before the staged PRs are ready for review, please also fix the Unix-only APIs currently breaking the Windows Rust builds, fix the failing GUI tests, and rebase the series onto the current Happy to help define the split and the boundaries between those stages. |
Summary
remote-agent-releaseenvironment; dry-runs use an ephemeral job-local keyWhy
Remote currently has the outbound E2EE relay and Rust Agent source, but a normal npm install does not have a trustworthy cross-platform Agent delivery path. Users should not need Rust or runtime compilation, and an incomplete, stale, or modified bundle must never fall back to unsigned execution.
This change keeps the existing single-package install while making the supported platform contract explicit and verifiable.
Security and release boundary
The diff-scoped security review covered all 28 changed files. The initial signing-secret scope and unsigned provenance gaps were remediated before publication; no unresolved reportable finding remains.
Validation
bun run typecheckdevPR basefmt,clippy -D warnings, 6 unit tests, and release build with Rust 1.97.1Review requested
Please review the six native runner/target mappings, protected signing-environment policy, canonical manifest format, and package/runtime fail-closed behavior. This is intentionally opened as a draft against
dev; no merge is requested yet.