Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

tooling: gate scripts grew 59x in 7 weeks (592 → 34,804 lines; half the runtime) — freeze, consolidate, budget

Chiusa
#1,275 24 commenti 0 reazioni 0 assegnatari Vedi su GitHub

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
Tipo di issue
Refactoring
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
c, python, shell

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

area:gates kind:decision

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.

  1. 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.
  2. 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.
  3. Counterweight in the method. The mechanical-gates skill 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.
  4. 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

Apri in Codespaces

Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di InauguralSystems/EigenScript

Tutte le issue di InauguralSystems/EigenScript

Issue simili

Altre issue su C

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.