| DL-565 |
The reconciler owns only the pipeline’s aggregate check run (when StatusAggregate is on) and its meta check run (when StatusMeta is on and a pull request pipeline has a meta gate), matched by external_id wp1/<instance>/<number>/<kind>; per-workflow and informational runs and pull_request_closed pipelines are out of scope. |
Active (Matt, 2026-10-19) |
../../status-reconciler.md#decisions |
| DL-566 |
An owned check run is repaired when its pipeline is terminal and the run is queued, in_progress or absent; a completed run with a conclusion unlike the stored verdict is counted as mismatch and not written. Liveness is never used. |
Active (Matt, 2026-10-19) |
../../status-reconciler.md#decisions |
| DL-567 |
Delivered state is read from the check runs of the SHA, one list per owned name filtered by App, name and filter=all. |
Active (Matt, 2026-10-19) |
../../status-reconciler.md#decisions |
| DL-568 |
A pull request pipeline’s head is read before its delivered state, so a stale head is superseded; a newer run of the name from another pipeline is also superseded; the later-owner store check and the head read run again under the key lock right before each repair write. |
Active (Matt, 2026-10-19) |
../../status-reconciler.md#decisions |
| DL-569 |
Repairs reuse the cutover’s check-run poster with a single write attempt (a PATCH by run id, or a guarded create when absent) and never neutralize older runs; a refresher skip returns types.ErrSuperseded. |
Active (Matt, 2026-10-19) |
../../status-reconciler.md#decisions |
| DL-570 |
The reconciler runs every 2m over terminal pipelines updated in the last 3h but not the last 2m. |
Active (Matt, 2026-10-18) |
../../status-reconciler.md#decisions |
| DL-571 |
Handled pipelines are remembered in process, one entry per pipeline; a restart sweeps the lookback again. |
Active (Matt, 2026-10-18) |
../../status-reconciler.md#decisions |
| DL-572 |
One pass sends at most 30 GitHub requests, token mints and retries included; quota below 20 % of the limit or a rate-limit error ends the pass. |
Active (Matt, 2026-10-18) |
../../status-reconciler.md#decisions |
| DL-573 |
A pipeline whose repair write fails three times is gave_up; unhandled work that leaves the lookback is expired. |
Active (Matt, 2026-10-18) |
../../status-reconciler.md#decisions |
| DL-574 |
The reconciler exports a results counter, a calls counter and a backlog gauge. |
Active (Matt, 2026-10-18) |
../../status-reconciler.md#decisions |
| DL-575 |
Running the reconciler on more than one server replica is unsupported, because write ordering relies on a per-process key lock. |
Active (Matt, 2026-10-18) |
../../status-reconciler.md#decisions |
| DL-576 |
Reconciler tests use a hand-written fake forge, since the generated MockForge lacks optional capabilities. |
Active (Matt, 2026-10-18) |
../../status-reconciler.md#decisions |