tooling: gate scripts grew 59x in 7 weeks (592 → 34,804 lines; half the runtime) — freeze, consolidate, budget
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 45/100
Direzione di ricerca
Examine the tools/ directory to list all gate scripts (.sh and .py). For each, check CI history and commit logs to see when it last caught a regression. Compare against structural guarantees like the merge queue (#1264), real wasm build (#1267/#1274), and generated docs (#1269). Start with #1274 as a concrete case to retire or shrink the -m32 gate. Record line counts before and after consolidation.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Measured 2026-09-23.
| 2026-08-01 | 2026-09-01 | now | |
|---|---|---|---|
tools/*.sh/*.py (gates and checkers) |
592 lines | 6,141 | 34,804 |
tests/run_all_tests.sh |
3,960 | 6,104 | 8,601 |
src/*.c/*.h (the runtime) |
53,153 | 62,333 | 71,621 |
Mean merged PR size: 352 lines (Aug, 52 PRs) → 1,244 (Sep, 68 PRs). Of September's ten largest PRs, six contain 0% product code: #1224 (+7,575, 92% gates/tests/CI), #1226 (+5,130), #1175 (+4,151), #1225 (+4,038), #1164 (+4,045) and #1208 (+3,899, 95%). #1124 was +19,928 with 37% product.
Each gate was built for a real incident. The growth came from each gate then acquiring self-tests, planted faults and checks-of-checks, with nothing ever asking whether a gate still earns its size or has been superseded by something structural. This is the same problem as "have we made CI too hard" (#1264), pointed at our own tooling. Mature languages keep checking machinery small by leaning on structure: a merge queue, building the real target, generating docs from source.
Scope.
- Freeze: no new gate script unless it replaces an existing one at equal or smaller size, until item 2 is done. PRs in flight (#1273 and the #1264 contributor-friction PR) are held to this.
- Consolidation pass. For every gate in
tools/, record its size, the last time it caught a real regression (CI history, or a commit/PR citing it), and whether a structural guarantee now covers it: the merge queue (#1264), the real wasm build (#1267/#1274), generated reference docs (#1269), derived counts (#1264), changelog fragments (#1268). Delete or merge the ones that never fire or are superseded, and record the before/after totals. - Counterweight in the method. The
mechanical-gatesskill gets a size-budget principle and "prefer a structural guarantee over a script that checks for it". Builder briefs carry a size budget for check machinery. - Visibility: the ratio of gate lines to product lines goes in the daily report, so the trend is seen.
First concrete case: #1274 (retire or shrink the -m32 approximation gate).
- Lingua principale
- C
- Stelle
- 3
- Fork
- 7
- Merge medio
- 4h 15m
- PR unite (30g)
- 106
Preparare l'ambiente
Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.
- Include un Dockerfile o un file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di InauguralSystems/EigenScript
-
area:lint-tooling bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
InauguralSystems/EigenScript#1340 ·
I maintainer di solito rispondono entro 1 giorno
-
area:stdlib found-by:code-review kind:silent-wrong
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
InauguralSystems/EigenScript#1338 ·
I maintainer di solito rispondono entro 1 giorno
-
area:lint-tooling found-by:critic kind:docs-drift
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
InauguralSystems/EigenScript#1335 ·
I maintainer di solito rispondono entro 1 giorno
-
area:ci found-by:critic kind:gate-defect
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
InauguralSystems/EigenScript#1311 ·
I maintainer di solito rispondono entro 1 giorno
-
enrolment: decide test_gc_runner_controls.py (exempt vs enrol) and whether floors need a ratchetApertaarea:gates found-by:critic kind:decision
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
InauguralSystems/EigenScript#1280 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di InauguralSystems/EigenScript
Issue simili
-
bug needs triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
netdata/netdata#24062 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
BasedHardware/omi#19463 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
EchoTools/nevr-runtime#30 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
riscv-software-src/riscv-isa-sim#2448 ·
I maintainer di solito rispondono entro 2 giorni