improve: stage session dependencies for local development builds - #54
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: needs changes before merge. Reviewed September 17, 2026, 4:01 PM ET / 20:01 UTC (Revision 27). ClawSweeper reviewWhat this changesThe PR includes the isolated-session runtime and helper in local development packages, targets setup to the registered package, and aligns launcher runtime preparation. Merge readiness⛔ Needs changes before merge - 1 item remains This remains a useful, distinct layer of the open session-runtime stack. The introduced patch has no blocking correctness findings, and the supplied Windows deployment evidence supports its behavior. Priority: P2 Review scores
Verification
How this fits togetherThe local deployment script combines downloaded OpenClaw content, pinned runtimes, and compiled Windows executables into a Developer Mode registration. Package-qualified setup then prepares that registration for running OpenClaw. flowchart TD
A[OpenClaw payload] --> D[Local package assembly]
B[Pinned Node and MXC runtimes] --> D
C[Launcher and session helper builds] --> D
D --> E[Developer Mode registration]
E --> F[Package-qualified setup]
F --> G[Runnable isolated session]
Before merge
Agent review detailsSecurityNone. Review metrics
Technical reviewBest possible solution: Keep local development packages consistent with the session-enabled package layout by reusing the pinned runtime verifier and package-qualified setup. Do we have a high-confidence way to reproduce the issue? Not applicable as a released-feature regression: this layer integrates the pending isolated-session capability into local deployment, and the parent source visibly lacks its required staging. Is this the best way to solve the issue? Yes. Reusing the existing runtime verifier and package layout conventions is a focused solution; the launcher overload also follows the runtime-preparation pattern already used by the stack's production entrypoint. AGENTS.md: not found in the target repository. Codex review notes: model internal, reasoning medium; reviewed against 685ee93b7ebb. LabelsLabel justifications:
EvidenceWhat I checked:
Likely related people:
Rating scale
Overall follows the weaker of proof and patch quality. Workflow
HistoryReview history (26 earlier review cycles; latest 8 shown)
|
60987c6 to
ed194d9
Compare
ed194d9 to
4a1e68e
Compare
4a1e68e to
dc5b5fe
Compare
3425d08 to
6898b55
Compare
3f7328d to
24b444a
Compare
24b444a to
0fa0c1f
Compare
0fa0c1f to
da94098
Compare
da94098 to
b47dea4
Compare
b47dea4 to
5944bb8
Compare
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 97c31f3f-0c7b-43e8-b979-6418dcb7fedc
What Problem This Solves
A loose-layout Developer Mode registration was not runnable end to end because local deployment did not stage the MXC runtime or publish the session host that the isolated lifecycle requires.
User Impact
Deploy-LocalPackage.ps1now stages the MXC runtime and publishes the session host into the loose layout, with fixture coverage. A Developer Mode registration can therefore run the session-enabled package rather than only resemble package content.Why This Change Was Made
The completed operator path is: run
clawctl setup; start or reuse the isolated agent session; routeopenclawinto it; useclawctl pwshfor an interactive shell; start the gateway withclawctl gateway-service start; recover it after sign-in; collect redacted evidence withclawctl collect-logs; then useclawctl teardownorclawctl setup --freshwhen appropriate.This layer closes the local-development deployment gap by making the loose layout contain the MXC runtime and the published session host needed by that path. Fixture coverage verifies the composition boundary rather than a live installation.
At this point an operator can see setup and recovery state, use owned gateway controls, receive partial-collection warnings, and get explicit cleanup failures. It does not claim a pristine machine after
--fresh, nor replace the pinned CLI backfill with the unreleasedMicrosoft.Mxc.Sdk.Review fixes addressed
The production MXC staging adapter no longer interprets stale
$LASTEXITCODEfrom an earlier native command as staging failure. A behavioral fixture executes the real adapter against a verified cached runtime while stale native failure state is present.Current validation
Current layer head:
cce2b02f3acd5791654b7a6b1a5a9c27db5ff63b. This layer is included in the final integrated stack tipcce2b02f3acd5791654b7a6b1a5a9c27db5ff63brebased onto685ee93b7ebbec1e784205a3544c460bea740e11.Integrated local gates: exact .NET SDK 10.0.100;
Test-DotNetQuality.ps1with 0 warnings/errors; full solution tests 642/642; NativeAOT x64 and ARM64 publishes for both launcher and session host; NativeAOT CLI, deployment, MXC, signing, runtime-input, release-identity, bundle, isolation-plugin, and packaging-relevance policy suites.Live x64 MXC evidence: final-tip Developer Mode deployment registered
OpenClaw.Gateway_0.1.2451.40134_x64__kaa03rpbbqef6from workflow payload run 35191206689;openclaw --versionreturnedOpenClaw 2026.9.4 (3a9d69d);clawctl statusconfirmed the isolated session was running. Earlier final-tip validation also exercised setup, Node.js 24.20.0 reuse, package-qualified activation, detached gateway launch, and redacted diagnostics collection.Signed package evidence: local NativeAOT x64 and ARM64 packages and a multi-architecture bundle were composed and test-signed. Elevated upgrade validation passed all four proof-release transitions (
v0.0.0.0andv0.0.0.1, standalone and bundle), retained package-family LocalState in every transition, and accepted fresh standalone and bundle installs. The temporary certificate and test package were removed, then the Developer Mode registration was restored.Layer 12 of 12. Parent: #53 - docs/session-runtime