Repository navigation
Runtime: backport native node byte IPC and committed pairing publication - #3828
Kimiyu-186 wants to merge 14 commits into
Conversation
|
🦞👀 Pull request received. I will update this pull request when review starts. ClawSweeper review completeClawSweeper finished reviewing this revision. The review result is being finalized. |
|
Codex review: blocked before merge. What this changesThis PR backports byte-only node supervision and preserves committed pairing authority during unrelated pairing writes. Example: Node A receives canvas.snapshot while node B’s presence update is pending.
Review scores
ProductKind: Bug fix · Worth it: Yes · Fix scope: Complete Merge readiness⛔ Blocked before merge - 2 items remain Keep this PR open for maintainer triage under its explicit no-merge hold; no discrete correctness defect was found in the introduced hunks, but main’s runtime update requires integration work. Priority: P2 Before merge
FindingsNone. Tests
Agent review detailsHow this fits togetherThe runtime image build patches pinned OpenClaw source before compilation; the resulting Gateway authorizes node delivery, and the node supervisor exchanges bootstrap, readiness, and restart messages with its child. flowchart LR
Source[Pinned OpenClaw source] --> Build[Runtime image build]
Patches[Reviewed backports] --> Build
Build --> Gateway[Gateway pairing publication]
Build --> Supervisor[Node supervisor]
Supervisor -->|Private byte messages| Node[Harness node]
Gateway -->|Current pairing check before delivery| Node
Technical reviewBest possible solution: Retain the byte transport on main’s selected source, reuse its upstream pairing repair, and record retained patches through the existing provenance inventory. Do we have a high-confidence way to reproduce the issue? The old pinned source exposes both reported triggers; current main already contains the pairing repair but still uses native node IPC, and no target code was executed during this review. Is this the best way to solve the issue? The backports address the owning launcher and Gateway publication paths without retries or sandbox permission expansion, but the final integration should contain only changes absent from main’s selected upstream source. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning medium; reviewed against 0402f1cf13aa. Merge-risk optionsMaintainer options:
Provenance checked
TestingProof path: in-process harness. SecurityNone. EvidenceWhat I checked:
LabelsLabel changes: No label changes. Label justifications:
Rank-up movesOptional improvements that raise the rating; they are not merge blockers.
Rating scale6/6 🦀 challenger crab · 5/6 🦞 diamond lobster · 4/6 🐚 platinum hermit · 3/6 🦐 gold shrimp · 2/6 🦪 silver shellfish · 1/6 🧂 unranked krab. Overall follows the weaker of proof and patch quality; ✨ marks media proof (a screenshot, video, or linked artifact) that directly shows the changed behavior. WorkflowClawSweeper edits this one comment on every review. Comment HistoryReviewed October 27, 2026, 2:26 PM ET / 18:26 UTC (Revision 3). |
…04-native-runtime # Conflicts: # docs/flows/harness-execution-topology.md
|
@clawsweeper re-review The branch and PR body now include the scoped repair and inspectable evidence for head This remains a draft under an explicit human no-merge hold. CI status is linked in the body; this request does not claim pending checks or independent human review are complete. |
|
🦞👀 Re-review progress:
|
…c-maintenance # Conflicts: # specs/rfcs/0024-strands-box-sandbox.md
|
Free's clanker here (an AI agent working on Free's behalf). Heads-up for the next sync with main: #3926 (merged) changed the This PR adds another test-runner step there. When you resolve the conflict, please add its test files to that single invocation instead of a separate |
This is review unit 4/8, replacing the corresponding part of #3823. Its base is
codex/strands-03-revision-providerso Files changed shows only this module. The series is a review stack; no individual draft claims the complete integration is independently deployable.Previous: #3827 · Next: #3829
Problem, change and necessity
The pinned OpenClaw runtime has two independent blockers for this integration. Native Node IPC calls
recvmsg, while Box denies descriptor reception. Separately, a pending pairing write for another device can invalidate an already committed node binding.This applies hash-checked runtime backports with regression patches before OpenClaw compilation. The node launcher selects an advertised byte-only protocol, retaining bootstrap acknowledgement and parent-loss cleanup. The pairing repair preserves committed authority during unrelated publication while keeping revocation and changed approvals effective. It introduces no request retry.
Attribution: byte IPC is the sandbox compatibility change. Pairing publication is an existing OpenClaw defect, already fixed upstream by openclaw/openclaw#169575; no duplicate upstream fix is proposed. The build contains the backport because the selected runtime predates it. Both patches must be removed when an approved source pin contains their fixes. This PR does not update a runtime pin.
Review: read the two implementation
.patchfiles; their companion regression patches are tests.Dockerfileruns those tests offline during assembly andbuild-runtime-assets.mjsrecords patch hashes. Full installed-image evidence is below; x86 image assembly is not claimed.Review fixes and focused verification
No further production change was required in this module by the independent review. The pairing change is an existing OpenClaw correction; the byte protocol is the Box compatibility adaptation. The retained native base image and backport provenance are checked before the new Box layer is built. Cached build-layer reuse is not reported as a fresh rerun of its earlier pinned-source tests. Fresh assembled-runtime acceptance is reported below.
Current assembled qualification
The refreshed Linux ARM64 composition uses Box source
7cafba29bdc8cb7db1b2db9512bb2a4bd0c15d20, combining the owner work with Box #182. The unchanged OpenClaw source pin isf8386bc7df0a6c9eda7a28ae81943c5c06a414ffwith the reviewed compatibility backports; the OCE code-mode entrypoint links unchanged Codex libraries ata6274249d5877030676db098914db686bab7c921.Current local images:
sha256:b7aeb2ae12d2a6509a40f0d467fc8be00bc78a4b59cfe5afc39f91d22a1b4318sha256:a97dacd66f3b06d23adacbfdb3d10074d02d2130f345ec5217ad89135d27bf7bOn these images, native invalid-key deployment returned
RUNTIME_AUTHENTICATION_FAILED; the provider stayed unready and the revision never activated. The ordinary Service remained Ready-only. Earlier failed startup attempts are retained as failures and were resolved by explicit fixes, not retries into a pass.Fresh local native acceptance completed 37/37 checks on the two images above. It covers real model file operations and denial, split storage, exact skill bytes and execution, lexical and local semantic memory, authenticated streaming/stdin/cancellation/reconnect, native code mode, Pod replacement, live revision replacement, two-Agent isolation and overlapping turns, and guarded fixture/key cleanup. Local embeddings worked while Gateway public HTTPS remained denied.
Live DNS maintenance replaced real A→B exact destinations and withdrew stale addresses. A real lookup failure recorded maintenance failure without changing the policy. Maintenance resumed after a worker restart. The temporary DNS fixture and installation changes were restored.
An actual retained-VM stop/start changed the boot ID. The same revision, PVC identities, index database inode, workspace data, paired node, immutable images and security profile survived. Postboot real memory_search retrieved both the earlier fact and a synonym-only semantic seed; skills and shell execution succeeded without workload or policy repair. Only observer connections were restored.
Evidence limit: the reboot receipt retains an overall FAILED result because its read-only executable observer used unsupported
k3s ctr; the recovery snapshots and single model task passed. A separate same-image, single-task supplement used the installed native containerd client and captured the live code-mode host as an app-server child, matching the packaged inode and SHA256ab1f0119c95797473ac20a391433e612fdddbf026cf2943d777ff6837ad0beaa. That supplement passed and does not relabel the earlier failed observation as an uninterrupted green run. Earlier fixture failures are retained separately. Both Agents are stopped, the original binding/index and installation are restored, and the personal key is absent from tenant Secrets.These are local composition results, not stock Box-main qualification or a complete upstream test-suite pass. CI remains scoped to each exact PR head; skipped draft lanes are not counted as passes.
Scope and merge boundary
This is the data-plane revision-Pod architecture with remote Harness and split storage. Existing sandbox/network restrictions remain. Local ARM64 evidence does not establish other architectures, production scale or production distribution. Credential proxy and Codex PAT are excluded; pause/resume is explicitly unsupported.
Draft only. Human no-merge hold and applicable independent-review/image qualification gates remain. No ready promotion, merge, production rollout or internal pin approval is implied.