Přeskočit na obsah

Tato stránka byla automaticky přeložena z angličtiny, jediného jazyka, ve kterém se tento web píše. Číst originál.

ci-critical-path — The critical path from a change to its verdict, and from a merge to its verified deploy, runs under a minute warm

The change-to-verdict path runs p50 under 40 s and p95 under 60 s warm, and merge-to-verified-deploy p50 under 45 s and p95 under 60 s, measured on GitHub with warm, partial and cold reported apart, every skip of a gate explained by the repository's own impact model, and no required test removed, skipped or made advisory to reach the number.

PLÁNOVÁNO 0 of 11 issues done

připraveno
9
blokováno
2
aktivní
0
verify
0
hotovo
0
zrušeno
0

Problém

A pull request's required verdict takes hours, not seconds: the behavioural suite runs on four shards of 51-86 minutes each, every documentation or layer change runs all four, and one case alone has cost up to 3468 s on a loaded runner. The suite budget has been raised three times in a week to follow runner load, and on 2026-10-09 the slowest case went 18 s over its 3450 s budget and failed the verdict of a pull request it does not touch (#831, run 37926379104). The owner's mission of 2026-10-08 asks for the change-to-verdict and merge-to-verified-deploy paths under 60 s warm, measured on GitHub, with no enforcement weakened.

Výsledek

The change-to-verdict path runs p50 under 40 s and p95 under 60 s warm, and merge-to-verified-deploy p50 under 45 s and p95 under 60 s, measured on GitHub with warm, partial and cold reported apart, every skip of a gate explained by the repository's own impact model, and no required test removed, skipped or made advisory to reach the number.

Aktuální stav

No baseline of the two paths is recorded on GitHub. .ai/repo/ci/suite.yaml budgets the suite at 56000 case-seconds and the slowest case at 3450 s, each re-derived from runner load. scripts/ci-plan selects the whole suite for 22 of 28 path classes, and no case declares the paths it reads (the 2026-10-08 measurement: 0 of 409).

Cílový stav

A measured baseline of both paths is committed before any redesign; each change that shortens them names the measurement it moves; and the budget of a case is never raised to follow runner load again.

Rozsah

  • .ai/repo/project
  • .ai/repo/ci
  • .github/workflows
  • scripts/ci
  • scripts/ci-plan
  • test/run.sh
  • test/cases

Mimo rozsah

  • Removing, skipping or making advisory any required test to reach the number
  • Redesigning anything before the baseline of both paths is measured on GitHub and committed
  • Local timings as the measure; the number is GitHub's

Kritéria přijetí

  • The baseline of change-to-verdict and merge-to-verified-deploy, warm, partial and cold, is committed with the runs it was measured from
  • Both paths meet the outcome's percentiles over the runs named, and every gate a change skips names the impact rule that skipped it
  • No required test was removed, skipped or made advisory, shown by the gate model's required set before and after

Validace

  • bin/majordomus plan validate
  • scripts/ci-plan --check

Požadované důkazy

  • baseline_measured_on_github
  • critical_path_under_a_minute

Úkoly

Každý z nich je prováděcí kontrakt s vlastními kritérii přijetí, validačním příkazem a požadovanými důkazy. Sloupec wave je vrstva grafu závislostí, v níž úkol leží.

issuestatusvlnazávisí nanázev
I2115 PŘIPRAVENO 0 — The slowest case costs a fraction of its budget, and its budget is never raised to follow runner load again
I2348 BLOKOVÁNO 1 I2350 A gate's result is reused only for the exact inputs it judged, and a skipped gate carries the proof that nothing it reads changed
I2350 PŘIPRAVENO 0 — One gate model names what a local check, a pull request, an integration and a release must run, and no second inventory exists
I3824 PŘIPRAVENO 0 — The cooperation rule says a worker lands its own green head, and every bootstrap says the same
I3825 BLOKOVÁNO 1 I3824 A build refuses to start beside five others or below 35 GiB free
I3830 PŘIPRAVENO 0 — A local gate reports and CI decides: pre-commit and pre-push refuse only on integrity
I3831 PŘIPRAVENO 0 — A hook never starts a cold cargo build: a stale executable is the installed release, or the check is skipped and says so
I3832 PŘIPRAVENO 0 — majordomus worktree sweep removes merged, clean, idle worktrees, never with force, and announces each on the mesh
I3833 PŘIPRAVENO 0 — majordomus disk prune reclaims the container runtime's caches by name: build cache, anonymous unused volumes, dangling images, then trims the VM disk
I3834 PŘIPRAVENO 0 — A case run removes its own scratch dir however it ends: passed, failed, timed out or interrupted
I3839 PŘIPRAVENO 0 — A build that cannot take its build directory's lock never falls back to a cold private directory below the free-disk bound: it waits, bounded, or refuses naming the bound and the holder

Graf

ci-critical-path dependency graphz .ai/repo/project
flowchart LR
    I2115["I2115<br/>The slowest case costs a fraction of its budget, and its budget is never raised to follow runner load again"]:::ready
    I2348["I2348<br/>A gate's result is reused only for the exact inputs it judged, and a skipped gate carries the proof that nothing it reads changed"]:::blocked
    I2350["I2350<br/>One gate model names what a local check, a pull request, an integration and a release must run, and no second inventory exists"]:::ready
    I3824["I3824<br/>The cooperation rule says a worker lands its own green head, and every bootstrap says the same"]:::ready
    I3825["I3825<br/>A build refuses to start beside five others or below 35 GiB free"]:::blocked
    I3830["I3830<br/>A local gate reports and CI decides: pre-commit and pre-push refuse only on integrity"]:::ready
    I3831["I3831<br/>A hook never starts a cold cargo build: a stale executable is the installed release, or the check is skipped and says so"]:::ready
    I3832["I3832<br/>majordomus worktree sweep removes merged, clean, idle worktrees, never with force, and announces each on the mesh"]:::ready
    I3833["I3833<br/>majordomus disk prune reclaims the container runtime's caches by name: build cache, anonymous unused volumes, dangling images, then trims the VM disk"]:::ready
    I3834["I3834<br/>A case run removes its own scratch dir however it ends: passed, failed, timed out or interrupted"]:::ready
    I3839["I3839<br/>A build that cannot take its build directory's lock never falls back to a cold private directory below the free-disk bound: it waits, bounded, or refuses naming the bound and the holder"]:::ready
    I2350 --> I2348
    I3824 --> I3825
    classDef done stroke:#16a34a,fill:#dcfce7,color:#14532d,stroke-width:2px
    classDef active stroke:#2563eb,fill:#eff6ff,color:#1e3a8a,stroke-width:2px
    classDef verify stroke:#7c3aed,fill:#f5f3ff,color:#4c1d95,stroke-width:2px
    classDef ready stroke:#0891b2,fill:#ecfeff,color:#164e63,stroke-width:2px
    classDef planned stroke:#0891b2,fill:#ecfeff,color:#164e63,stroke-width:2px
    classDef blocked stroke:#b45309,fill:#fffbeb,color:#78350f,stroke-width:2px
    classDef cancelled stroke:#6b7280,fill:#f9fafb,color:#374151,stroke-width:2px
    classDef superseded stroke:#6b7280,fill:#f9fafb,color:#374151,stroke-width:2px

Canonical record: .ai/repo/project/milestones/ci-critical-path.yaml. Read it back with majordomus plan show ci-critical-path.

Prohledává názvy a popisy všech stránek, které tento web publikuje.