You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The Python health check ships with integration coverage — tests/integration/suites/uc02_agent_lifecycle/tc20_health_check_ttl_refresh, tc21_health_check_lifespan_ready_gate, and the py-health-gate-agent / py-health-recovery-agent artifacts. TypeScript (#1476) and Java (#1474) ship
none.
Everything currently asserted for TS is either a unit test with a stubbed publish (health-check.spec.ts) or a Rust unit test that a command was
enqueued (napi.rs). Nothing exercises the chain the feature exists for:
healthCheck -> napi updateHealth -> heartbeat suppression -> registry
withdrawal -> consumer failover -> recovery via the 410 Gone re-register path
That chain was verified by hand for all three runtimes, but a manual E2E run is
not a regression guard.
To discuss before implementing
Scope. Mirror tc20/tc21 for TypeScript only, or generalize the
existing Python cases into a runtime-parameterized suite covering all three?
The latter is more work but the three runtimes are meant to be behaviourally
identical here, and divergence is exactly what we keep finding.
Artifacts. New TS/Java agent images, or extend existing ones with an
env-toggled failing check? Python used dedicated agents.
The Python health check ships with integration coverage —
tests/integration/suites/uc02_agent_lifecycle/tc20_health_check_ttl_refresh,tc21_health_check_lifespan_ready_gate, and thepy-health-gate-agent/py-health-recovery-agentartifacts. TypeScript (#1476) and Java (#1474) shipnone.
Everything currently asserted for TS is either a unit test with a stubbed
publish(health-check.spec.ts) or a Rust unit test that a command wasenqueued (
napi.rs). Nothing exercises the chain the feature exists for:healthCheck -> napi updateHealth -> heartbeat suppression -> registry
withdrawal -> consumer failover -> recovery via the 410 Gone re-register path
That chain was verified by hand for all three runtimes, but a manual E2E run is
not a regression guard.
To discuss before implementing
tc20/tc21for TypeScript only, or generalize theexisting Python cases into a runtime-parameterized suite covering all three?
The latter is more work but the three runtimes are meant to be behaviourally
identical here, and divergence is exactly what we keep finding.
env-toggled failing check? Python used dedicated agents.
staleness window, and recovery on the re-register path. Bounding them without
fixed sleeps matters (see test(meshjob): gate tc16 on real job status instead of a fixed 8s sleep #1459).
verification with the suite landing after?
Related: #1474, #1476.