feat(rust): add authenticated node sidecar bridge - #116863
giodl73-repo wants to merge 10 commits into
Conversation
|
Codex review: needs real behavior proof before merge. Reviewed September 15, 2026, 8:03 PM ET / September 16, 2026, 00:03 UTC (Revision 16). ClawSweeper reviewWhat this changesAdds reusable Rust Gateway connectivity, a bounded node runtime, and an authenticated bridge to native product commands, while moving the Linux companion onto the shared transport. Merge readiness⛔ Blocked before merge - 6 items remain Keep open: this protected PR contains distinct sidecar work absent from current main and the latest release. No concrete blocking code defect was established, but the previous authority-proof gap remains unresolved. Priority: P3 Review scores
Verification
How this fits togetherThe Gateway authorizes node commands; the Rust runtime receives them and applies local admission, execution limits, and cancellation before calling a product adapter. An authenticated sidecar channel supplies the bridge’s immutable configuration and retirement signal. flowchart TD
A[Gateway authorized commands] --> B[Shared Rust connection]
B --> C[Bounded node runtime]
D[Authenticated sidecar configuration] --> C
C --> E[Local admission and live authority]
E --> F[Native product adapter]
F --> G[Bounded results to Gateway]
Decision needed
Why: The RFC expressly reserves this ownership decision; implementation review cannot establish product acceptance. Before merge
Findings
Agent review detailsSecurityNeeds attention: No concrete exploit or supply-chain regression was established, but native-effect authority proof remains incomplete. PR surfaceTests +3117, Docs +229, Other +13572. Total +16918 across 34 files. View PR surface stats
Review metrics
Merge-risk optionsMaintainer options:
Technical reviewBest possible solution: Keep one Gateway authority owner and one bounded Rust execution owner, with explicitly accepted incubation scope and demonstrated rejection before native effects. Do we have a high-confidence way to reproduce the issue? Not applicable: this PR proposes a native-runtime capability rather than reporting an existing-behavior bug; no target code was executed during this read-only review. Is this the best way to solve the issue? Yes for the proposed bounded scope: the bridge composes the existing command runtime and leaves Gateway policy authoritative. Whether that scope belongs in the repository remains the RFC’s adoption decision. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning medium; reviewed against 60c24d7192c1. LabelsLabel justifications:
EvidenceSecurity concerns:
What I checked:
Likely related people:
Rank-up movesOptional improvements that raise the rating; they are not merge blockers.
Rating scale
Overall follows the weaker of proof and patch quality. Workflow
HistoryReview history (15 earlier review cycles; latest 8 shown)
|
8d0a1b0 to
8ead00a
Compare
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
71c1c8c to
68a7c7a
Compare
|
@clawsweeper re-review |
|
🦞🧹 I asked ClawSweeper to review this item again. Re-review progress:
|
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
68a7c7a to
bd7659f
Compare
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
|
Warning Review the following alerts detected in dependencies. According to your organization's Security Policy, it is recommended to resolve "Warn" alerts. Learn more about Socket for GitHub.
|
|
@clawsweeper re-review |
|
🦞🧹 I asked ClawSweeper to review this item again. Re-review progress:
|
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
bd7659f to
4e9753f
Compare
|
@clawsweeper re-review |
|
🦞🧹 I asked ClawSweeper to review this item again. |
|
🦞👀 Re-review progress:
|
SummaryRe-derives the authenticated sidecar runtime bridge on the current node-host stack rather than replaying the stale August implementation.This PR is stacked on #116450 at
3caea3959e64530c340c75f3a04729a38ef5d63d. Its standalone incubation and conformance source is giodl73-repo/openclaw-rust-node#16, stacked on #15.The architecture and repository-placement decision remain tracked in openclaw/rfcs#54.## ScopeThis layer contains only:- authenticated, sequence-bound framing with explicit byte ceilings;- portable version/feature/limit negotiation;- mutually authenticated handshake;- immutable secret-free configuration;- ordinary-command product-adapter bridging;- cancellation and channel-retirement cleanup;- four byte-exact TypeScript/Rust fixture corpora; and- a real separate-process configuration, manifest, admission, invocation, and result proof.Gateway authority remains with OpenClaw. The sidecar does not own endpoint selection, pairing, signing, issued-token acquisition or persistence, manifest authorization, or product policy.Product-selected IPC, protected bootstrap, executable verification, process supervision, packaging, rollout/rollback, Windows integration, worker/session hosting, workspace transfer, plugins, host statistics,system.run, PTY, MCP, and skills remain outside this PR.## Byte-exact fixture evidence- handshake:0b22c949fa53078106f6c7196f0c07f2fa1c0504- negotiation:fad7e133a2b27c588fea72310e543f1f28452801- protocol:5081e7321a74d427d1aac4c4de5bb691425f3ba3- runtime:33c1435763ad9e5edb1149d56bc88ad6bab34f00## Validation- Rust workspace: 137 passed, 0 failed;- sidecar process proof: 2/2 passed;- focused TypeScript authority/integration tests: 52 passed, 0 failed;- Linux Tauri: 270 passed, 9 ignored, 0 failed;- Rustfmt, Clippy-D warnings, rustdoc-D warnings,cargo check, andgit diff --checkpassed;- independent final code review found no significant issues.## Handler-entry authority fenceCurrent-head regression coverage proves that an invocation cancelled before task execution and a buffered invocation after session retirement is requested are rejected before the native handler is constructed. Duplex input overflow retains its specific terminal result and also suppresses handler entry.