openclaw/packages/terminal-core
Peter Steinberger 5a4ecf41b1
fix(doctor): update refuses when lint warns about an unusable agent database (#160184)
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.
2026-09-28 16:14:57 -07:00
..
src fix(doctor): update refuses when lint warns about an unusable agent database (#160184) 2026-09-28 16:14:57 -07:00
package.json chore(deps): refresh dependencies with seven-day cutoff (#154652) 2026-09-21 16:55:54 -07:00