mirror of
https://github.com/openclaw/openclaw.git
synced 2026-10-03 09:39:25 +00:00
Fixes `openclaw update` refusing with candidate-doctor-lint / doctor-failed when candidate Doctor lint warns about an unusable agent database, and plain `openclaw doctor --lint --json` printing a Clack warning box before its JSON report. Doctor notes rendered to process.stdout even when machine-output mode reserved stdout, so runDoctorAgentDatabaseOperation's nonfatal "Doctor warnings" note preceded the lint JSON; in an update rehearsal the private lint worker's first stdout line failed the strict JSON parse and became a core/doctor/lint-inspection error. Notes now follow loggingState.forceConsoleToStderr: terminal-core gains a dependency-free, callback-scoped note output resolver (note-output.ts), and withConsoleLogsRoutedToStderrForJson installs one that reads the live flag at write time. Warnings stay visible on stderr. Candidate-side only; released updaters (verified against the 2026.9.6 driver) accept the clean JSON unchanged. Proof: json-output-mode regression fails on main and passes; published openclaw@2026.9.6 driver x candidate upgrade-survivor cell with an ownership-mismatched secondary agent DB refused before (doctor-failed) and succeeded after with the warning on stderr and the bootstrap import guard passing. |
||
|---|---|---|
| .. | ||
| src | ||
| package.json | ||