fix(doctor): surface multi-account default routing warnings in preview and lint#96147
Conversation
|
Codex review: needs maintainer review before merge. Reviewed July 5, 2026, 10:58 AM ET / 14:58 UTC. Summary PR surface: Source +34, Tests +169. Total +203 across 7 files. Reproducibility: yes. at source level. Current main emits these warnings through the direct doctor config flow, while structured doctor lint lacks this check and the repair helper currently drops detection-only findings; I did not run the CLI in this read-only review. Review metrics: 1 noteworthy metric.
Stored data model 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
Maintainer decision needed
Security Review detailsBest possible solution: Land the structured consolidation after maintainers explicitly accept the default lint-gate behavior, or keep the preview/fix warning while making the lint check opt-in, info-level, or otherwise non-failing by default. Do we have a high-confidence way to reproduce the issue? Yes, at source level. Current main emits these warnings through the direct doctor config flow, while structured doctor lint lacks this check and the repair helper currently drops detection-only findings; I did not run the CLI in this read-only review. Is this the best way to solve the issue? Yes, with a compatibility caveat. Consolidating the existing warning helpers into one structured doctor check and rendering detection-only findings in repair mode is the narrow maintainable fix; the open question is default lint failure behavior. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against 862de9f1a1c2. Label changesLabel justifications:
Evidence reviewedPR surface: Source +34, Tests +169. Total +203 across 7 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
|
bd8543a to
c0f0a65
Compare
|
@clawsweeper re-review Fixed P1: registered core/doctor/default-account-routing in doctor-health-contributions (gateway-services contribution), CI now passes (48/48). CLI proof requires multi-account gateway setup not available locally — noted in body. |
|
🦞🧹 I asked ClawSweeper to review this item again. |
e60ba61 to
17cad1a
Compare
|
@clawsweeper re-review Fixed P1 duplicate warning: removed direct calls from doctor-config-flow (preview path gets them via collectDoctorPreviewNotes, repair path via ordered health checks). 1 file changed, -10 lines. |
|
🦞🧹 I asked ClawSweeper to review this item again. |
17cad1a to
ab18b00
Compare
|
@clawsweeper re-review Fixed P1 repair-mode regression: added
Regression test added (1 new test in |
|
🦞🧹 I asked ClawSweeper to review this item again. |
|
@clawsweeper re-review |
|
@clawsweeper re-review |
|
🦞🧹 I asked ClawSweeper to review this item again. |
84d3b7f to
ad6cb04
Compare
2397edb to
d859f53
Compare
|
@clawsweeper re-review |
|
🦞🧹 I asked ClawSweeper to review this item again. |
Co-authored-by: Pick-cat <[email protected]>
d859f53 to
651b9fc
Compare
|
Maintainer repair is complete on exact head The stale seven-file implementation was replaced with the canonical three-file Proof:
No docs, config schema, migration, dependency, auth, network, or security |
|
Merged via squash.
|
Co-authored-by: Vincent Koc <[email protected]> Co-authored-by: Pick-cat <[email protected]>
Co-authored-by: Vincent Koc <[email protected]> Co-authored-by: Pick-cat <[email protected]>
Co-authored-by: Vincent Koc <[email protected]> Co-authored-by: Pick-cat <[email protected]>
What Problem This Solves
The existing WhatsApp and Telegram multi-account routing warnings were emitted
only by the direct doctor config flow. Structured doctor lint could not select
them with
--allor--only, and moving them naively into the health registrywould duplicate normal doctor output.
Why This Change Was Made
Register one self-running structured health contribution:
core/doctor/default-account-routing.The contribution reuses the existing warning collectors in preview and fix
modes, while remaining default-disabled for lint so the existing default lint
contract does not change. The duplicate direct emission is removed from the
config flow. Warning collection and repair behavior are otherwise unchanged.
This replaces the earlier seven-file implementation with the canonical
three-file owner-boundary fix.
User Impact
openclaw doctorpreview still reports the two routing warnings once.openclaw doctor --fixstill reports the warnings once without rewritingrouting configuration.
openclaw doctor --lint --only core/doctor/default-account-routing --jsoncan now select and return the twostructured findings.
openclaw doctor --lint --jsonbehavior remains unchanged.Evidence
Exact repaired head:
651b9fc75f54b622fe285404a99adc269ec5a6e0Blacksmith Testbox
tbx_01kwxmthtv1hv7czc1qjb29704:corepack pnpm test:serial src/flows/doctor-health-contributions.test.tspassed 87/87 tests.
OPENCLAW_CHECK_CHANGED_REMOTE_CHILD=1 OPENCLAW_CHANGED_LANES_RAW_SYNC=1 corepack pnpm check:changedpassed thechanged core, test-type, lint, guard, and import-cycle lanes.
oxfmt --checkpassed for all three changed files.default-lint negative control.
Hosted exact-head CI is linked from the PR checks.