fix(control-ui): save generated raw config text#86641
Conversation
|
Codex review: needs real behavior proof before merge. Reviewed May 25, 2026, 9:06 PM ET / 01:06 UTC. Summary PR surface: Source -3, Tests +23. Total +20 across 2 files. Reproducibility: unclear. The review failed before ClawSweeper could establish a reproduction path. Review metrics: none identified. Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Risk before merge
Maintainer options:
Next step before merge Review detailsBest possible solution: Retry the Codex review after fixing the execution failure. Do we have a high-confidence way to reproduce the issue? Unclear. The review failed before ClawSweeper could establish a reproduction path. Is this the best way to solve the issue? Unclear. Retry the review first so ClawSweeper can evaluate the actual issue and fix direction. AGENTS.md: unclear because the file could not be read completely. Codex review notes: model gpt-5.5, reasoning high; reviewed against c9364f03dcbb. Label changesLabel changes:
Label justifications:
Evidence reviewedPR surface: Source -3, Tests +23. Total +20 across 2 files. View PR surface stats
What 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 🥚 Incubating: this PR egg is tucked into the review nest. Hatch commandComment Hatchability rules:
What is this egg doing here?
|
|
Closing this split PR as superseded by #86700. Raw-mode availability and generated-raw submit behavior are coupled, so they are now combined in one replacement PR. |
What changed
saveConfigsubmits the already-generated raw config text with the snapshot base hash.Why
applyConfigSnapshotcan populateconfigRawby serializing editable structured config whensnapshot.rawis absent. Once that generated raw text exists, the save path should submit it like any other raw draft.The previous guard checked only whether the snapshot originally contained raw text. That rejected a valid generated raw draft even though
configRawalready held the text that should be saved.Real behavior proof
config.seteven when the snapshot did not include raw text.OpenClaw 2026.5.25, token-authenticated Control UI athttp://127.0.0.1:18789/config, backed by running OpenClaw gateway processes from/home/icon/CodexOps/OpenClaw/dist/index.js.config.setrequest containing generated raw text and the live snapshot base hash even thoughsnapshot.rawwas not a string. The request was intercepted only to avoid modifying the local operator config during proof capture.Validation
pnpm --dir ui test src/ui/controllers/config.test.ts