Adversarial health probe expects fields removed from the startup contract #1245

Open
opened 2026-10-06 23:18:02 +00:00 by kayg · 0 comments
Owner

Round 31: preserve and review restored health probe assertions (#1202)

On product head 139d4378e, the release server returns HTTP 200 from /healthz with {"state": "ok", "progress": null}. The restored #1202 probe expects flat phase, completed_steps, total_steps and progress_percent; it fails at typeof health.json.phase. Current StartupHealth in crates/calternal-server/src/main.rs:238 is { state, progress }, and the ready state is ok.

FAIL health: /healthz reports the current startup phase
+ actual - expected
+ 'undefined'
- 'string'

This is a probe/contract mismatch. It does not establish a product crash, data loss or access hole. The job rule forbids changing an existing test expectation to make it pass, so the assertions remain intact. The runner now finishes the independent Tag and history probes before returning the aggregate failure. The orchestrator must decide the intended health contract and then update the probe or the route.

Round 31: preserve and review restored health probe assertions (#1202) On product head `139d4378e`, the release server returns HTTP 200 from `/healthz` with `{"state": "ok", "progress": null}`. The restored #1202 probe expects flat `phase`, `completed_steps`, `total_steps` and `progress_percent`; it fails at `typeof health.json.phase`. Current `StartupHealth` in `crates/calternal-server/src/main.rs:238` is `{ state, progress }`, and the ready state is `ok`. ```text FAIL health: /healthz reports the current startup phase + actual - expected + 'undefined' - 'string' ``` This is a probe/contract mismatch. It does not establish a product crash, data loss or access hole. The job rule forbids changing an existing test expectation to make it pass, so the assertions remain intact. The runner now finishes the independent Tag and history probes before returning the aggregate failure. The orchestrator must decide the intended health contract and then update the probe or the route.
Commenting is not possible because the repository is archived.
No labels
No milestone
No project
No assignees
1 participant
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
kayg/calternal-v0#1245
No description provided.