Expose heartbeat template doctor lint findings#98400
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 +74, Tests +120. Total +194 across 4 files. Reproducibility: not applicable. this is an additive Doctor lint surface rather than a bug report. The PR body and focused tests cover both the default skip path and explicit 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
Security Review detailsBest possible solution: Land the lint-only opt-in check after maintainer review and exact-head checks, preserving the existing legacy Do we have a high-confidence way to reproduce the issue? Not applicable: this is an additive Doctor lint surface rather than a bug report. The PR body and focused tests cover both the default skip path and explicit Is this the best way to solve the issue? Yes: reusing the existing heartbeat-template analyzer behind a default-disabled structured health check is the narrowest maintainable solution. The latest head keeps real mutation in the existing legacy AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against d47308f8008c. Label changesLabel justifications:
Evidence reviewedPR surface: Source +74, Tests +120. Total +194 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
|
13df304 to
2e9f208
Compare
|
@clawsweeper re-review Added dry-run repair effects to the current heartbeat-template PR instead of deferring them to a later follow-up. Pure legacy HEARTBEAT.md templates now preview a file replacement effect/diff; custom-content findings remain manual/skipped. Head: Validation: changed-file oxfmt/oxlint, focused heartbeat/contribution Vitest 73 tests, core tsgo, core-test tsgo, and git diff check. |
|
🦞🧹 I asked ClawSweeper to review this item again. |
2e9f208 to
8e49026
Compare
|
@clawsweeper review |
|
🦞🧹 I asked ClawSweeper to review this item again. |
|
Codex review finding: The structured repair preview added here is not reachable from any supported Best fix: either wire this core check into the actual repair flow, for example via the default structured runner or an explicit |
|
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 #98400 by head-pinned squash.
Validation before merge:
Maintainer wrapper note: WSL is currently failing to start on this machine ( |
Expose default-disabled Doctor lint findings for legacy HEARTBEAT.md documentation-template wrappers. - Reuses the existing heartbeat template analyzer for structured `HealthFinding` output. - Keeps replacement/mutation 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/heartbeat-template` and `--all` can select it. Validation: - Hosted PR checks green on head f766230. - `node scripts/run-vitest.mjs src/commands/doctor-heartbeat-template-repair.test.ts src/flows/doctor-health-contributions.test.ts` (73 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/heartbeat-templatestructured health check for legacyHEARTBEAT.mddocumentation-template wrappersdoctor --fixpath; this PR is lint-only and does not add a structured repair/dry-run hookPublic surface
doctor --lintis unchanged.--only core/doctor/heartbeat-templateor--all.Real behavior proof
OPENCLAW_CONFIG_PATH,OPENCLAW_STATE_DIR, and workspace containing a legacy fencedHEARTBEAT.mdtemplate:doctor --lint --jsonran broad default lint withheartbeat=0, proving default lint skips the new default-disabled check.doctor --lint --json --only core/doctor/heartbeat-templateran one selected check, emitted onecore/doctor/heartbeat-templatewarning withrequirement: "legacy-template", and exited 1.Validation after Omar fix
node scripts/run-vitest.mjs src/commands/doctor-heartbeat-template-repair.test.ts src/flows/doctor-health-contributions.test.ts(73 tests)pnpm exec oxfmt --checkpnpm exec oxlintnode scripts/plugin-sdk-surface-report.mjs --checkgit diff --check