You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Severity: P2. Found during the PR #155 / ADR-035 review.
Summary
commands/doctor.py::run_scan (≈lines 185–190) is a stub — Epic 08 shipped the /lcm doctor command router + run_apply, but the read-only scan-render body was never implemented. Consequences:
The operator-facing /lcm doctor (without apply) slash command's read-only integrity-scan arm is non-functional.
ADR-035's new lcm_doctortool works correctly: PR feat: lcm_status + lcm_doctor as model-callable tools (ADR-035, #135) #155 wraps doctor/shared.py::get_doctor_summary_stats — the real read-only logic that run_apply itself calls. But the slash and tool surfaces now diverge, against ADR-035 §Consequences' invariant: "If status/doctor logic changes, it changes in one place (commands/), and both the slash and tool surfaces inherit it."
Fix
Wire commands/doctor.py::run_scan to render doctor/shared.py::get_doctor_summary_stats — the same read-only function the lcm_doctor tool and run_apply already use — so /lcm doctor and the lcm_doctor tool share one diagnostic body. Then confirm the README.md/lcm doctor description is accurate.
Scope note
Out of scope for PR #155, which correctly wraps the real read-only scan function (get_doctor_summary_stats) rather than the stub. This issue tracks the orphaned slash-arm stub + the README inaccuracy.
Severity: P2. Found during the PR #155 / ADR-035 review.
Summary
commands/doctor.py::run_scan(≈lines 185–190) is a stub — Epic 08 shipped the/lcm doctorcommand router +run_apply, but the read-only scan-render body was never implemented. Consequences:/lcm doctor(withoutapply) slash command's read-only integrity-scan arm is non-functional.README.md(≈line 253) advertises/lcm doctoras a working read-only integrity scan — a pre-existing doc inaccuracy (not introduced by PR feat: lcm_status + lcm_doctor as model-callable tools (ADR-035, #135) #155).lcm_doctortool works correctly: PR feat: lcm_status + lcm_doctor as model-callable tools (ADR-035, #135) #155 wrapsdoctor/shared.py::get_doctor_summary_stats— the real read-only logic thatrun_applyitself calls. But the slash and tool surfaces now diverge, against ADR-035 §Consequences' invariant: "If status/doctor logic changes, it changes in one place (commands/), and both the slash and tool surfaces inherit it."Fix
Wire
commands/doctor.py::run_scanto renderdoctor/shared.py::get_doctor_summary_stats— the same read-only function thelcm_doctortool andrun_applyalready use — so/lcm doctorand thelcm_doctortool share one diagnostic body. Then confirm theREADME.md/lcm doctordescription is accurate.Scope note
Out of scope for PR #155, which correctly wraps the real read-only scan function (
get_doctor_summary_stats) rather than the stub. This issue tracks the orphaned slash-arm stub + the README inaccuracy.