a-change-is-judged-in-minutes — A change is derived in under a second and judged in minutes, and nothing that could have changed is skipped
The owner should never wait on the toolchain for a change that touched little. An ordinary derive finishes in under a second. A pull request's required verdict arrives within five minutes. Both are measured and enforced, and the speed comes from not repeating work whose inputs did not move, never from weakening a gate.
PLÁNOVÁNO 0 of 10 issues done
- připraveno
- 2
- blokováno
- 8
- aktivní
- 0
- verify
- 0
- hotovo
- 0
- zrušeno
- 0
Problém
The owner should never wait on the toolchain for a change that touched little. An ordinary derive finishes in under a second. A pull request's required verdict arrives within five minutes. Both are measured and enforced, and the speed comes from not repeating work whose inputs did not move, never from weakening a gate. Proposed in ADR 0185 (A derivation is a typed graph of the generators the executable already plans, keyed by the content of what each node reads, and the full derive stays its oracle); ADR 0186 (A pull request's required verdict is the feedback lane, a gate whose inputs did not change is reused as inputs_unchanged, and the proof lane judges the combined top before it lands); ADR 0187 (Tests are selected by the impact of a change, derived from what each case declares it reads, and a change of unknown impact runs every case) (proposed; it carries no authority until the owner accepts it). Sources: chatgpt-majordomus:c208#3, chatgpt-majordomus:c208#24, chatgpt-majordomus:c228#0, chatgpt-majordomus:c292#0.
Výsledek
The owner should never wait on the toolchain for a change that touched little. An ordinary derive finishes in under a second. A pull request's required verdict arrives within five minutes. Both are measured and enforced, and the speed comes from not repeating work whose inputs did not move, never from weakening a gate.
Aktuální stav
Its issues extend existing milestones; see each issue's why.
Cílový stav
Every criterion of the intent is carried by an issue here and proven by its test.
Kritéria přijetí
- A warm derive of an unchanged tree finishes under 1 s p95 on the declared reference machine and runs no generator
- A derive after one changed canonical input finishes under 1 s p95, excluding a cold executable build
- For every fixture, an incremental derive under any node order and worker count leaves the same bytes as a full derive, deletions included
- Required pull-request validation reaches a binding verdict within 300 s p95 from validation start, with queue wait reported separately
- Every gate the plan does not run carries the proof that nothing it reads changed, and an omitted dependency turns a gate red
- A derive or CI path that regresses past its noise-aware budget fails a gate and names the stage that caused it
Validace
- majordomus plan validate
Ú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ží.
| issue | status | vlna | závisí na | název |
|---|---|---|---|---|
| I2848 | PŘIPRAVENO | 0 | — | A pre-push gate that runs the executable does not wait on another worktree's build |
| I3233 | BLOKOVÁNO | 1 | I2521 | Stage C renders only the targets that read the index, and the manifest no longer renders every code-only artifact a second time |
| I3234 | BLOKOVÁNO | 5 | I2521, I2525 | A derive whose executable is current and whose inputs did not move answers before it waits for the machine's lock |
| I3235 | BLOKOVÁNO | 3 | I2521, I0832 | The site generator reads the use-case catalogue once per run |
| I3238 | BLOKOVÁNO | 6 | I2350, I2348, I2527, I3242 | A pull request runs the cases its change can affect, chosen from what each case declares it reads, and a change of unknown impact runs them all |
| I3239 | BLOKOVÁNO | 6 | I3242 | One job builds a run's executable and every other job of that run uses it |
| I3240 | BLOKOVÁNO | 6 | I2350, I3242 | A pull request's browser audit visits the pages its change can reach, and a shared-layout change sweeps them all |
| I3241 | BLOKOVÁNO | 6 | I3242 | Only a job that reads history fetches all of it |
| I3242 | BLOKOVÁNO | 5 | I2472, I2350 | The pull-request critical path has a committed GitHub baseline and a budget per required job, and a run's summary names its critical path and every cache state |
| I3838 | PŘIPRAVENO | 0 | — | The plan page renders within the audit budget at every width, because a finding is counted rather than printed once per pair |
Graf
flowchart LR
I2848["I2848<br/>A pre-push gate that runs the executable does not wait on another worktree's build"]:::ready
I3233["I3233<br/>Stage C renders only the targets that read the index, and the manifest no longer renders every code-only artifact a second time"]:::blocked
I3234["I3234<br/>A derive whose executable is current and whose inputs did not move answers before it waits for the machine's lock"]:::blocked
I3235["I3235<br/>The site generator reads the use-case catalogue once per run"]:::blocked
I3238["I3238<br/>A pull request runs the cases its change can affect, chosen from what each case declares it reads, and a change of unknown impact runs them all"]:::blocked
I3239["I3239<br/>One job builds a run's executable and every other job of that run uses it"]:::blocked
I3240["I3240<br/>A pull request's browser audit visits the pages its change can reach, and a shared-layout change sweeps them all"]:::blocked
I3241["I3241<br/>Only a job that reads history fetches all of it"]:::blocked
I3242["I3242<br/>The pull-request critical path has a committed GitHub baseline and a budget per required job, and a run's summary names its critical path and every cache state"]:::blocked
I3838["I3838<br/>The plan page renders within the audit budget at every width, because a finding is counted rather than printed once per pair"]:::ready
I3242 --> I3238
I3242 --> I3239
I3242 --> I3240
I3242 --> I3241
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:2pxOdkazováno z tohoto diagramu (10)
- I2848 A pre-push gate that runs the executable does not wait on another worktree's build
- I3233 Stage C renders only the targets that read the index, and the manifest no longer renders every code-only artifact a second time
- I3234 A derive whose executable is current and whose inputs did not move answers before it waits for the machine's lock
- I3235 The site generator reads the use-case catalogue once per run
- I3238 A pull request runs the cases its change can affect, chosen from what each case declares it reads, and a change of unknown impact runs them all
- I3239 One job builds a run's executable and every other job of that run uses it
- I3240 A pull request's browser audit visits the pages its change can reach, and a shared-layout change sweeps them all
- I3241 Only a job that reads history fetches all of it
- I3242 The pull-request critical path has a committed GitHub baseline and a budget per required job, and a run's summary names its critical path and every cache state
- I3838 The plan page renders within the audit budget at every width, because a finding is counted rather than printed once per pair
Canonical record: .ai/repo/project/milestones/a-change-is-judged-in-minutes.yaml. Read it back with majordomus plan show a-change-is-judged-in-minutes.