Expose legacy plugin manifest doctor lint findings#98695
Conversation
|
@clawsweeper review |
|
🦞🧹 I asked ClawSweeper to review this item again. |
|
Codex review: needs maintainer review before merge. Reviewed July 2, 2026, 7:42 PM ET / 23:42 UTC. Summary PR surface: Source +32, Tests +112. Total +144 across 4 files. Reproducibility: not applicable. as a bug reproduction; this PR adds a diagnostic lint capability. Source inspection shows current main has the legacy manifest detector and repair path but no structured lint check for it. 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:
Next step before merge
Security Review detailsBest possible solution: Land the narrow default-disabled lint exposure if maintainer review accepts the diagnostic surface, while keeping manifest rewriting owned by the existing Doctor repair flow. Do we have a high-confidence way to reproduce the issue? Not applicable as a bug reproduction; this PR adds a diagnostic lint capability. Source inspection shows current main has the legacy manifest detector and repair path but no structured lint check for it. Is this the best way to solve the issue? Yes. Reusing the existing migration detector as a default-disabled lint check is the narrowest maintainable solution, and the latest head removed the earlier unreachable structured repair hook after review feedback. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against d47308f8008c. Label changesLabel justifications:
Evidence reviewedPR surface: Source +32, Tests +112. Total +144 across 4 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
|
fd45267 to
5ca9488
Compare
|
@clawsweeper re-review current head 5ca9488. Added structured dry-run repair effects/diffs for the legacy plugin manifest lint finding and reran focused proof listed in the PR body. |
|
🦞🧹 I asked ClawSweeper to review this item again. |
5ca9488 to
fa9810e
Compare
|
@clawsweeper re-review current head fa9810e. Fixed hosted check-lint findings from the dry-run update and reran pnpm lint plus focused proof listed in the PR body. |
|
🦞🧹 I asked ClawSweeper to review this item again. |
|
Codex review finding: The new structured Best fix: wire this core check into an actual repair entry point before claiming dry-run repair support, or keep the PR detect-only and remove the unreachable repair hook/tests/body claim. |
|
Addressed Omar's reachability finding by making this PR lint-only again. What changed:
Validation:
@clawsweeper review |
|
🦞🧹 I asked ClawSweeper to review this item again. |
|
@clawsweeper review final lint-only wording/body synced after Omar fix |
|
Merged via head-pinned squash. Closeout:
Validation:
Review notes:
Maintainer wrapper note: local WSL is currently failing to start and Git Bash is missing wrapper dependencies, so this used the same branch-protection-compatible head-pinned squash path as #98400 after scoped local proof and green hosted checks. |
Expose default-disabled Doctor lint findings for legacy plugin manifest contract migrations. - Maps existing legacy manifest contract diagnostics into structured HealthFinding output. - Keeps real manifest rewriting in the existing legacy doctor --fix path; no structured dry-run repair hook in this PR. - Default doctor --lint remains unchanged; explicit --only core/doctor/legacy-plugin-manifests and --all can select it. Validation: - Hosted PR checks green on head 2a01993. - node scripts/run-vitest.mjs src/commands/doctor-plugin-manifests.test.ts src/flows/doctor-health-contributions.test.ts (63 passed) - changed-file pnpm exec oxfmt --check - changed-file pnpm exec oxlint - node scripts/plugin-sdk-surface-report.mjs --check - git diff --check
Summary
core/doctor/legacy-plugin-manifestslint findingsdoctor --lintbehavior unchangedopenclaw doctor --fixrepair path; this PR is lint-only and does not add a structured repair/dry-run hookContract / compatibility notes
No public config, plugin manifest, SDK, persisted data-model, or repair-path contract changes. This PR only maps already-detected legacy manifest state into
HealthFindingoutput for explicit lint selection /--all.Real behavior proof
Source CLI proof with isolated state/config and a temp plugin manifest containing top-level
toolsshowed:doctor --lint --jsonemitted zerocore/doctor/legacy-plugin-manifestsfindingsdoctor --lint --json --only core/doctor/legacy-plugin-manifestsran one selected check and reported the legacy manifest warning forlegacy-pluginValidation after Omar fix
node scripts/run-vitest.mjs src/commands/doctor-plugin-manifests.test.ts src/flows/doctor-health-contributions.test.ts(63 tests)pnpm exec oxfmt --checkpnpm exec oxlintnode scripts/plugin-sdk-surface-report.mjs --checkgit diff --check