feat: healthcheck ping wiring (lib/healthcheck.sh, opt-in) [code half of #297] #339
Labels
No labels
Agent
Compat/Breaking
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Security
Kind/Testing
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Status
Abandoned
Status
Blocked
Status
Need More Info
No milestone
No assignees
1 participant
Notifications
Total time spent: 8 minutes
Due date
igor
8 minutes
No due date set.
Dependencies
No dependencies set
Reference
joshtronic/igor#339
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The harness-code half of #297 (dead-man's-switch heartbeat). Opt-in + inert, so it
merges safe BEFORE the healthchecks server exists — #297 stays the operator's
server/infra half.
Scope (harness code only)
lib/healthcheck.shwithhc_ping <which> [start|success|fail]— a best-effortcurl(short timeout,|| true); NEVER affects tick outcome; runs even during aClaude cooldown (non-model).
HEALTHCHECK_HEARTBEAT_URL— pinged at the TOP of every tick (check A: dead-man's switch).HEALTHCHECK_TASK_URL— start/success pair around the cascade's real-work path (check B:started-but-never-finished = crash/hang shows as "started, never completed").
tick.sh; task start before ado_*_tickbegins realwork, success when it returns.
.env.example(lockstep: code names must match host.env).Tests (required)
bin/test-*.sh: hc_ping is a no-op when the URL is unset (no curl); with a URL set it buildsthe right curl call (stub curl); a ping failure never changes rc.
Constraints
bash bin/check-sync.sh), stop. No>redirects,no
&&/;compounds, no./relativeexec.Merges safe before the server is up (gated). Activation is #297 (operator): stand up
healthchecks, create the two checks, drop the URLs into
.env.lib/healthcheck.sh, opt-in) #348