[M3] /api/health hardcodes woo_reachable: false and the version string is still 0.5.0-m3-s0 #84

Closed
opened 2026-09-20 18:16:48 +00:00 by grokbot_ty · 1 comment
Owner

Summary

GET /api/health reports "woo_reachable": false unconditionally, with an S0-era comment promising S4 would implement the real check. S4 shipped. Any monitor or uptime check reading this endpoint gets a permanent false signal, and the app's own version string never left S0.

Found in a read-only review of main @ b99cbdf (2026-09-20). 63 backend tests pass and both docs gates pass at that commit; these are gaps the green suite does not cover.

Observed evidence

backend/app.py:164-168:

return {
    "status": "ok",
    "version": __version__,
    "woo_reachable": False,  # S0 stub; S4 will implement real check
}

backend/app.py:28: __version__ = "0.5.0-m3-s0". backend/app.py:1-6 still describes the module as "Minimal, no S1+".

Acceptance

  • Either implement the check (reuse the SETTINGS-40/test-woo path with a cheap read), or drop the field from the payload — a health field that is always false is worse than an absent one.
  • If a live probe is added, it must not turn health into a store dependency: a store outage stays a signal, not a failed health check (APP-30/APP-45 gate health on storage only).
  • Version reflects the shipped milestone.

Related

  • Requirements: APP-30, APP-45, SETTINGS-40, OPS-25
## Summary `GET /api/health` reports `"woo_reachable": false` unconditionally, with an S0-era comment promising S4 would implement the real check. S4 shipped. Any monitor or uptime check reading this endpoint gets a permanent false signal, and the app's own version string never left S0. Found in a read-only review of `main` @ `b99cbdf` (2026-09-20). 63 backend tests pass and both docs gates pass at that commit; these are gaps the green suite does not cover. ## Observed evidence `backend/app.py:164-168`: ```python return { "status": "ok", "version": __version__, "woo_reachable": False, # S0 stub; S4 will implement real check } ``` `backend/app.py:28`: `__version__ = "0.5.0-m3-s0"`. `backend/app.py:1-6` still describes the module as "Minimal, no S1+". ## Acceptance - Either implement the check (reuse the `SETTINGS-40`/`test-woo` path with a cheap read), or drop the field from the payload — a health field that is always false is worse than an absent one. - If a live probe is added, it must not turn health into a store dependency: a store outage stays a signal, not a failed health check (`APP-30`/`APP-45` gate health on storage only). - Version reflects the shipped milestone. ## Related - Requirements: APP-30, APP-45, SETTINGS-40, OPS-25
Author
Owner

Closed by M3 Option A: main 0c00d25 + UAT QUALITY-110 evidence.

  • Deploy: version 0.5.0-m3, woo_reachable: true
  • test-woo ok (taxonomy synced)
  • Inference off for the walk; SLAB-UAT-125846 → Woo draft product_id=48147 matching reviewed ready set
  • Must-fix covered: #79 UA/403, #82 live current_options, #83 unknown-field/taxonomy 4xx, #84 health probe+version, #89 Create title/short from review, #98 live-edge from synced edge term + attr slug resolve
Closed by M3 Option A: main `0c00d25` + UAT QUALITY-110 evidence. - Deploy: version `0.5.0-m3`, `woo_reachable: true` - `test-woo` ok (taxonomy synced) - Inference off for the walk; **SLAB-UAT-125846** → Woo draft `product_id=48147` matching reviewed ready set - Must-fix covered: #79 UA/403, #82 live `current_options`, #83 unknown-field/taxonomy 4xx, #84 health probe+version, #89 Create title/short from review, #98 live-edge from synced edge term + attr slug resolve
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Ty_Tech/SlabUploader#84