Doctor: add lint --all#96471
Conversation
|
Codex review: needs maintainer review before merge. Reviewed June 26, 2026, 1:24 AM ET / 05:24 UTC. Summary PR surface: Source +8, Tests +34, Docs +14. Total +56 across 7 files. Reproducibility: not applicable. This PR adds a new CLI selector rather than fixing broken existing behavior. Source inspection shows current main only supports default lint plus explicit Review metrics: 3 noteworthy metrics.
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
Security Review detailsBest possible solution: Merge only if maintainers accept Do we have a high-confidence way to reproduce the issue? Not applicable: this PR adds a new CLI selector rather than fixing broken existing behavior. Source inspection shows current main only supports default lint plus explicit Is this the best way to solve the issue? Yes, conditional on maintainer acceptance: the implementation uses the existing lint selection path and preserves plain AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against 751a6c23f098. Label changesLabel justifications:
Evidence reviewedPR surface: Source +8, Tests +34, Docs +14. Total +56 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
|
094f8df to
7c08804
Compare
|
@clawsweeper re-review Rebased after #84450 merged; current head is |
|
🦞🧹 I asked ClawSweeper to review this item again. |
7c08804 to
4c6f41b
Compare
|
@clawsweeper re-review Updated the public surface from |
|
🦞🧹 I asked ClawSweeper to review this item again. |
4c6f41b to
560d59f
Compare
|
Merged via squash.
|
* fix(doctor): keep audit scrub lint opt-in * fix(doctor): keep audit lint defaults internal * feat(doctor): add lint profiles
* fix(doctor): keep audit scrub lint opt-in * fix(doctor): keep audit lint defaults internal * feat(doctor): add lint profiles
What Problem This Solves
doctor --lintautomation gate because they are deeper or more likely to surface repairable legacy residue.--only <check-id>selectors, which is too hidden for operators who want the complete lint inventory.Why This Change Was Made
openclaw doctor --lint --all.doctor --lintas the existing automation-safe selection.--allinclude default-disabled checks without changing finding severity, finding schemas, repair behavior, config, or the plugin SDK health contract.--only <id>as the precise selector for individual checks.--alllint-only;openclaw doctor --allis rejected like other lint selector flags.User Impact
doctor --lintusers keep the same broad-lint behavior.doctor --lint --allto include opt-in/deep checks such as the config audit scrub check from Doctor: expose config audit scrub findings #84450.Evidence
doctor --lint --allslice.560d59f2f5e18a32d97bca672aa8536f8cc6c045.OPENCLAW_VITEST_MAX_WORKERS=1 node scripts/run-vitest.mjs run src/flows/doctor-lint-flow.test.ts src/commands/doctor-lint.test.ts src/cli/program/register.maintenance.test.ts --reporter=dot- passed, 32 tests / 3 shards.pnpm docs:list- passed.node_modules/.bin/oxfmt --check src/flows/doctor-lint-flow.ts src/flows/doctor-lint-flow.test.ts src/commands/doctor-lint.ts src/commands/doctor-lint.test.ts src/cli/program/register.maintenance.ts src/cli/program/register.maintenance.test.ts docs/cli/doctor.md docs/gateway/doctor.md- passed.node_modules/.bin/oxlint src/flows/doctor-lint-flow.ts src/flows/doctor-lint-flow.test.ts src/commands/doctor-lint.ts src/commands/doctor-lint.test.ts src/cli/program/register.maintenance.ts src/cli/program/register.maintenance.test.ts- passed.node node_modules/@typescript/native-preview/bin/tsgo.js -p tsconfig.core.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/core.tsbuildinfo --declaration false --singleThreaded --checkers 1- passed.node node_modules/@typescript/native-preview/bin/tsgo.js -p test/tsconfig/tsconfig.test.src.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/test-src.tsbuildinfo --declaration false --singleThreaded --checkers 1- passed.node scripts/plugin-sdk-surface-report.mjs --check- passed.git diff --check origin/main...HEAD- passed.git diff --check- passed.560d59f2f5e18a32d97bca672aa8536f8cc6c045.Real Behavior Proof
OPENCLAW_STATE_DIRandOPENCLAW_CONFIG_PATH, with one seededlogs/config-audit.jsonlrecord containing a fake pre-redactor argv value. Paths below are redacted.--allincludes it.