cicd expose branch follower stage timings

This commit is contained in:
Codex
2026-07-03 11:26:28 +00:00
parent c754549df2
commit 63de02e3a2
4 changed files with 263 additions and 10 deletions
@@ -60,7 +60,11 @@ The normal convergence budget is 120 seconds per source change. A follower may r
## Status Contract
Default `status` output must show follower id, phase, adapter, source branch + observed sha, target sha, last triggered sha, last succeeded sha, in-flight job/PipelineRun, budget source and next drill-down commands.
Default `status` output must show follower id, phase, adapter, source branch + observed sha, target sha, last triggered sha, last succeeded sha, in-flight job/PipelineRun, budget source, timing summary and next drill-down commands.
Stage timing must be queryable through normal CLI output, not only raw JSON. `status` and `run-once` print a bounded `STAGE TIMINGS` table with `total`, `status-read`, git-mirror, Kubernetes Job, PipelineRun, TaskRun, Argo, runtime and closeout rows when available. `followers[].timings` remains available in `--raw`/JSON for machine consumers.
`timings.totalSeconds` is the authoritative end-to-end wall-clock measurement for a triggered run: measure from the adapter/controller starting that source-change operation until success, failure, or closeout timeout. Do not compute total by summing stage rows, because stage rows can overlap, omit external waiting, or be reported by different native objects.
State machine phases are `Observed`, `Noop`, `PendingTrigger`, `Triggering`, `ClosingOut`, `Succeeded`, `Failed`, `Superseded`, `Blocked`, and `Skipped`.