Skip to content

inspect: resource health verdict, distinct from drift (#26) - #39

Merged
lex00 merged 1 commit into
mainfrom
feat/26-health
Jul 14, 2026
Merged

lex00 merged 1 commit into
mainfrom
feat/26-health

Conversation

@lex00

@lex00 lex00 commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

Closes #26 (epic #23).

Drift (managed/foreign/pending) answers "does live match source?"; health answers "is the live resource well?" — a node can be managed yet degraded (a CloudFormation ROLLBACK_COMPLETE, a k8s CrashLoopBackOff).

Classifies the observed status (chant #862, already in 0.18.9) into healthy / progressing / degraded / unknown and shows it, coloured, atop the observed section — so a managed-but-unhealthy resource is visually distinct from a healthy one.

  • src/health.tsclassifyHealth(status): substrate-agnostic token heuristic (degraded tested before healthy so ROLLBACK_COMPLETE ≠ "complete"). Unit-tested across CFN/k8s states; unknown is never fabricated (absent when the substrate reports no status).
  • server/api/diff/:node returns a derived health.
  • web — coloured health line in the observed section (+ --degraded theme colour).

No chant release needed — reuses observed.status. tsc + 42 tests (+4 health).

Note

Graph-level health badge (status on every overlay node + pinhole rendering, without clashing with the drift colours) is a possible follow-up; this closes the inspect-level verdict per the acceptance criteria.

Drift answers "does live match source?"; health answers "is the live resource
well?" — a node can be managed yet degraded (CFN ROLLBACK_COMPLETE, k8s
CrashLoopBackOff). Classify the observed status (chant #862, already in 0.18.9)
into healthy / progressing / degraded / unknown and show it, coloured, atop the
observed section.

- src/health.ts: classifyHealth(status) — substrate-agnostic token heuristic
  (degraded tested before healthy so ROLLBACK_COMPLETE isn't "complete").
  Unit-tested across CFN/k8s states; unknown is never fabricated.
- server: /api/diff/:node returns a derived `health`.
- web: coloured health line in the observed section (+ --degraded theme colour).

No chant release needed — reuses observed.status from #862. tsc + 42 tests (+4).
Graph-level health badge (status on every overlay node + pinhole rendering) is a
possible follow-up; this closes the inspect-level verdict.
@lex00
lex00 merged commit dbd4e29 into main Jul 14, 2026
1 check passed
@lex00
lex00 deleted the feat/26-health branch July 14, 2026 04:19
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.

overlay: resource health status (Argo Healthy/Degraded/Progressing), distinct from drift

1 participant