Skip to content

I2396 — The CI critical path of 2026-10-10 is measured, recorded, and explained before anything is changed

Record what a pull request's verdict costs today, from the forge's own runs, so that every change of the V4 delivery work is compared with a measurement rather than with a belief.

DONE wave 0 · p0 · implementation profile · parallel safe

Part of test-evidence — Every verifiable claim and widget resolves to revision-bound test evidence, on every surface.

Objective

Record what a pull request's verdict costs today, from the forge's own runs, so that every change of the V4 delivery work is compared with a measurement rather than with a belief.

Why

The owner set a bound of five minutes at the 95th percentile for a pull request's required verdict and asked for the integration process to be diagnosed before it is changed. The last measurement on record (.ai/repo/ci/baseline.json) is from 2026-09-05, before the CI model existed.

Current state

scripts/ci-baseline records runs, jobs and steps; nothing on master holds a measurement of the current CI, and docs/CI.md names no critical path.

Desired state

.ai/repo/ci/baseline-2026-10-10.json holds the last 60 validate runs; docs/CI.md states the verdict's percentiles, the share of runner time spent on runs that do not end green, the jobs that set the wall clock with their queue, and the causes of the failed runs, each reproducible from the file.

Scope

  • .ai/repo/ci/baseline-2026-10-10.json
  • docs/CI.md
  • .ai/repo/project/issues/I2396.yaml
  • docs/generated
  • docs/PLAN_STATUS.md
  • docs/PAGES_STATUS.md
  • site/content
  • site/data

Out of scope

  • Changing any workflow, gate or cache: the later V4 issues do that against this measurement.

Dependencies

None. This issue is a root of the graph.

Acceptance criteria

  • .ai/repo/ci/baseline-2026-10-10.json is the output of scripts/ci-baseline over 60 validate runs
  • docs/CI.md states p50 and p95 of a green pull request's verdict, the runs that did not end green and their share of runner time, the long jobs with their queue, and the causes of failure, each with a command that reproduces it from the file

Validation

  • jq '.runs | length' .ai/repo/ci/baseline-2026-10-10.json
  • bin/majordomus plan validate

Evidence required

  • ci_critical_path_recorded

Evidence

coverstypecommandresultat commit
ci_critical_path_recordedartifactjq '.runs | length' prints 60; percentiles stated in docs/CI.md (run 2026-10-14 between 07:40Z and 07:58Z on master ce5959db59)ce5959d

Timeline

started
2026-10-14T08:00:38Z
verified
—
completed
2026-10-14T08:00:44Z

Those three fields, the evidence above and the state of the dependencies are all the status is made of. There is no status field to disagree with them.

Canonical record: .ai/repo/project/issues/I2396.yaml. Read it back with majordomus plan show I2396.

Searches the titles and descriptions of every page this site publishes.