Pin gateway setup to LKG and automate drift updates - #550
Conversation
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Codex review: needs maintainer review before merge. Reviewed May 28, 2026, 10:18 AM ET / 14:18 UTC. Summary Reproducibility: not applicable. as a feature/operational PR rather than a bug report. The relevant verification is source review plus the contributor's setup E2E and workflow proof, which covers the changed runtime path. Review metrics: 2 noteworthy metrics.
Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Risk before merge
Maintainer options:
Next step before merge
Security Review detailsBest possible solution: Land this only with maintainer approval that default SetupEngine installs should use the LKG pin and that the scheduled workflow should own the standing bump PR; otherwise preserve latest-by-default and make LKG opt-in. Do we have a high-confidence way to reproduce the issue? Not applicable as a feature/operational PR rather than a bug report. The relevant verification is source review plus the contributor's setup E2E and workflow proof, which covers the changed runtime path. Is this the best way to solve the issue? Yes if maintainers want LKG as the default setup policy: the PR centralizes the pin, preserves custom installer URLs, tests installer quoting, and proves the pairing-drain path. If latest-by-default compatibility is required, the safer solution is to make LKG opt-in or gated by an explicit setup mode. AGENTS.md: found and applied where relevant. Codex review notes: model gpt-5.5, reasoning high; reviewed against 2d1cfb7773d8. Label changesLabel changes:
Label justifications:
Evidence reviewedWhat I checked:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
|
|
ClawSweeper PR egg 🎁 Pass real behavior proof to wake the egg and unlock a hatchable treat. Where did the egg go?
|
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Addressed review feedback in commit 97a23d2:
Focused proof runExecuted:
Result:
Full required validation (already rerun on latest branch state)
@clawsweeper re-review |
|
🦞🧹 I asked ClawSweeper to review this item again. Re-review progress:
|
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Verified locally after bumping
|
Drain pending WSL device approvals before pair-node so the WSL CLI's own scope-upgrade request no longer blocks approval of the Windows node request. Keep the final verify drain for any remaining device or node approvals. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Implemented a surgical fix for the 2026.5.27 pairing regression. Regression details:
Fix details:
Validation performed:
|
|
Landed in master via the integrated Inno installer stack on branch shanselman/inno-installer-plan (master now at 8edf4eb). Closing this source PR as absorbed. |
Summary
This PR makes gateway install/testing deterministic by pinning SetupEngine to a repository-controlled Last Known Good (LKG) gateway version, then adds CI + automation to detect and advance that pin through a standing draft update PR.
What changed
Single source of truth for gateway LKG
src/OpenClaw.SetupEngine/GatewayLkgVersion.cswith embeddedLkgVersionconstant.Program.cs) and Setup UI (SetupWindow.xaml.cs) now apply LKG defaults viaGatewayLkgVersion.ApplyToConfig(...).SetupEngine install command supports explicit version pinning
InstallCliStepnow builds install command viaBuildInstallCommand(...).curl ... | bash -s -- --version '<version>'curl ... | bashE2E setup aligns with SetupEngine LKG source
Gateway.VersionfromGatewayLkgVersion.ResolveLkgVersion().CI drift signal in existing Build/Test workflow
.github/workflows/ci.ymlexistingtestjob.openclaw@latest.Automated LKG bump workflow
.github/workflows/gateway-lkg-update.yml.GatewayLkgVersion.cs, force-pushes deterministic branchautomation/gateway-lkg-update, and creates/updates one standing draft PR.Tests and docs
GatewayLkgVersionTests.SetupStepsTestsfor versioned install command behavior.DEVELOPMENT.mdwith LKG workflow and operations.Follow-up hardening from dual-model (Hanselman) review
Addressed both review findings:
Custom installer compatibility regression prevention
Gateway.InstallUrlis custom, LKG is not auto-injected unless version is explicitly set.Updater/CI version format validation
latestin CI drift step.Testing performed
Required local validation (run successfully)
./build.ps1dotnet test ./tests/OpenClaw.Shared.Tests/OpenClaw.Shared.Tests.csproj --no-restoredotnet test ./tests/OpenClaw.Tray.Tests/OpenClaw.Tray.Tests.csproj --no-restoreFork workflow validation (end-to-end)
Drift/PR behavior was validated in fork branch
test/lkg-updater-e2e:testjob warning and check surfacing).Notes for reviewers
2026.5.22.