Skip to content

feat(slm-agent): probe app-level /health for engine state in heartbeat (#11723) - #11749

Merged
mrveiss merged 1 commit into
Dev_new_guifrom
issue-11723
Jul 15, 2026
Merged

mrveiss merged 1 commit into
Dev_new_guifrom
issue-11723

Conversation

@mrveiss

@mrveiss mrveiss commented Jul 15, 2026

Copy link
Copy Markdown
Owner

Thinking Path

#11718 shipped the TTS worker's engine_degraded health field, the reconciler merge point (engine_degraded_fields), and the NodeServicesPanel badge — but the agent only reads systemd state, so the fields never reach Service.extra_data in practice. This adds the missing agent-side link.

What Changed

  • autobot-slm-agent/health_collector.py — new _probe_app_health(): for services in APP_HEALTH_PROBES (currently autobot-tts-worker → http://127.0.0.1:8083/health, env-overridable via SLM_AGENT_TTS_HEALTH_URL / timeout via SLM_AGENT_APP_HEALTH_TIMEOUT), issue a short-timeout local GET and fold engine_degraded/degraded_reason into the discovered-service dict. stdlib urllib (agent stays dependency-free); never raises — any failure returns {} and discovery proceeds.
  • discover_all_services() calls the probe for running services only.
  • health_collector_probe_test.py — 7 tests: unmapped services not probed, degraded/healthy extraction, missing-field / connection-failure / non-JSON all non-fatal, and discovery folds probe output into the service dict.

Verification

Closes #11723

Model Used

Fable 5 (inline implementation)

Discoveries

#11748 — slm-agent tests invisible to CI (not in testpaths) + version_test.py standalone failures.

#11723)

health_collector now issues a short-timeout local HTTP GET to the /health
endpoint of app-health-capable services (starting with autobot-tts-worker)
and folds engine_degraded/degraded_reason into the discovered-service dict.
Non-fatal on any failure. Completes the #11718 pipeline: worker /health ->
agent heartbeat -> reconciler engine_degraded_fields -> Service.extra_data
-> NodeServicesPanel degraded badge.
@mrveiss
mrveiss enabled auto-merge (squash) July 15, 2026 11:47
@github-actions

Copy link
Copy Markdown
Contributor

✅ SSOT Configuration Compliance: Passing

🎉 No hardcoded values detected that have SSOT config equivalents!

@mrveiss
mrveiss merged commit 445fe19 into Dev_new_gui Jul 15, 2026
32 checks passed
@mrveiss
mrveiss deleted the issue-11723 branch July 15, 2026 12:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant