feat(state): add HealthPending state to service state machine #14

Merged
delandtj merged 1 commit from feature/health-pending-state into development 2026-04-01 13:24:54 +00:00
Owner

New 8th state between Starting and Running for services with health
checks. Process is alive but not yet healthy — dependents won't fire
until health check passes.

  • ServiceState::HealthPending { pid } — not satisfied, is active
  • ShimReady transitions to HealthPending (not Running) when health exists
  • Direct spawn path also uses HealthPending
  • TUI: [~] symbol, yellow color
  • CLI: ◐ symbol (same as Starting)
  • Persistence: new PersistedServiceState::HealthPending variant
  • Start timeout and health check failure match both Starting|HealthPending
  • Reconnect re-evaluates health for HealthPending services

Implements ADR-012 Alternative A.

New 8th state between Starting and Running for services with health checks. Process is alive but not yet healthy — dependents won't fire until health check passes. - ServiceState::HealthPending { pid } — not satisfied, is active - ShimReady transitions to HealthPending (not Running) when health exists - Direct spawn path also uses HealthPending - TUI: [~] symbol, yellow color - CLI: ◐ symbol (same as Starting) - Persistence: new PersistedServiceState::HealthPending variant - Start timeout and health check failure match both Starting|HealthPending - Reconnect re-evaluates health for HealthPending services Implements ADR-012 Alternative A.
feat(state): add HealthPending state to service state machine
Some checks failed
Tests / test (push) Failing after 1m11s
Build and Test / build (push) Failing after 1m18s
Tests / test (pull_request) Failing after 1m49s
Build and Test / build (pull_request) Failing after 2m5s
a7bbd3def0
New 8th state between Starting and Running for services with health
checks. Process is alive but not yet healthy — dependents won't fire
until health check passes.

- ServiceState::HealthPending { pid } — not satisfied, is active
- ShimReady transitions to HealthPending (not Running) when health exists
- Direct spawn path also uses HealthPending
- TUI: [~] symbol, yellow color
- CLI: ◐ symbol (same as Starting)
- Persistence: new PersistedServiceState::HealthPending variant
- Start timeout and health check failure match both Starting|HealthPending
- Reconnect re-evaluates health for HealthPending services

Implements ADR-012 Alternative A.
delandtj merged commit 49ae3a098a into development 2026-04-01 13:24:54 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
geomind_code/my_init!14
No description provided.