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

Epic: DOOM Port Speedrun — scan ~40 DOOM ports across languages cleanly, for system validation

Aperta
#5,457 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
25/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Attiva

Direzione di ricerca

Start with the referenced findings and artifacts under /srv/storage_16tb/projects/gitgalaxy/doom-study/, especially round2_findings.md, clean_check.csv, and scripts/, then read the linked issues in their stated run order. The epic calls for a reproducible harness and coordinated fixes across coverage, extraction, signal quality, and language support. Done means the 39-port scans and cross-port comparisons can be reproduced for the write-up, with measurements published under the stated third-party material policy.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

core-engine epic needs:doom-corpus priority: high scope:frontier

Goal (re-aimed 2026-10-19)

DOOM is a validation corpus for the engine, not a completion target: one program written over 30 years in many languages exposes engine gaps fast (rounds 2 -> 5 found and fixed ~10 general bug classes: directory blocking, single-file engines, payload guards, vendoring, macro functions, C++ templates, require( false RCE, new languages). Three outputs:

  1. DOOM-rosetta (#5619): one program written many ways (the real-world sibling of keyword-rosetta), as a golden-gated CI test as stringent as the Golden Crucible, so those wins can't regress.
  2. Language breadth: add licensed ports in languages the engine handles worst or that matter most to the business (COBOL, SQL, assembly, F#, Fortran, Kotlin, Dart, Scheme...); every one so far found a gap within minutes.
  3. The study (#5620): lineage survival vs linuxdoom and cross-language comparison, doubling as an engine metric calibration check.
    Not a goal: a perfect score on every port. On the licensed corpus at 29349f079, 29/31 pass; the other 2 are the documented .h-beside-.m caveat.
    Licensing (owner is an LLC): ports are tiered from their license files (ci / review / local); only ci enters CI, the golden and publications (#5619).

Where we are (2026-10-19, engine 29349f079, licensed corpus)

Public numbers cover licensed ports only (owner ruling: anything with an unclear license or provenance is internal only and never named here). 31 licensed ports of the original 39, all rc=0: 29/31 pass all six checks; the other 2 (doom-ios, doomsday) fail only the documented .h-beside-.m Objective-C caveat. Function counts: within 3% of tree-sitter on 29/31 ports and of ctags on 27/31 (median |Δ| 0.7% / 0.8%); corpus totals engine 156,334, tree-sitter 156,922 (−0.4%), ctags 151,527 (ctags misses macro-defined and some Go functions). libclang on macro-defined C/C++ functions (#5461/#5563): 98% found by both, body end lines identical. Round 2 (585c243e9, 2026-10-18) for comparison: 8/39 passed. 13 licensed ports in new languages (SQL, F#, Crystal, Fortran, Scheme, Dart, Kotlin, JS/CSS, SNES assembly, COBOL) are being added via #5619.

Work

Gate and study

  • #5619 DOOM-rosetta: measurements-only golden, zero-drift CI gate, nightly oracles, license tiers
  • #5620 Study: lineage survival + cross-language comparison (metric calibration)

Engine gaps from new languages (found 2026-10-19 by scanning licensed non-C ports)

  • #5618 COBOL: quoted copybook literals (COPY "x.cpy".) record no COPY statements (cobol_doom ~40, agentic-cobol-doom-cc 7) — high
  • #5622 SQL: no PostgreSQL dialect (sqldoom: 17 of 110 functions lost, dialect wrong on 65 files) — high
  • #5623 F# and Crystal not mapped at all
  • #5624 Assembly: .a/.i sources unmapped, column-0 labels not functions, .rev read as LiveCode (DOOM-FX)
  • #5625 BMS false positive on plain .map files (FPS.cob) — low

Remaining general engine items from the C/C++ corpus

  • #5462 C++ out-of-line definition shapes still undercounted (found internally; fixed with our own fixtures) + sibling shapes
  • #4548 Risk/security signal noise on C/C++ (next: threat inflation from data arrays and macro-only headers; then mtime stability, saturation, memory family)

Done

  • #5458 Gate 4.2 directory blocking
  • #5459 Gate 3.2 single-file engines
  • #5460 payload guards
  • #5461 macro-defined functions
  • #5563 macro names from #define, class qualifier
  • #5463 require( language gating
  • #5464 vendored code under any name
  • #5465 DOOM-ecosystem languages
  • #5466 README.asm prose
  • #5467 log noise
  • #5468 harness (remaining acceptance moved to #5619)

Known caveats (by design, state them in the write-up)

  • C struct/union/enum count as classes (docs/language_status/c.md, class_start).
  • docs/ trees are ignored (room4doom docs/cool_things_tried/*.rs).
  • The ML threat model is not shipped (docs/zero_dependency_mode.md); repo archetype withheld until retrain (#4111).
  • .h beside a .m is Objective-C by sibling anchor even without ObjC syntax (doom-ios IBGlue.h) — defensible.
  • ctags parity is a floor, not ground truth: ctags misses macro-defined functions too (#5461).

Rules

Clone ports at pinned SHAs outside the repo; never commit third-party code; publish measurements, not reconstructions (docs/research/third-party-material-policy.md).

Evidence: /srv/storage_16tb/projects/gitgalaxy/doom-study/ (round2_findings.md, clean_check.csv, clean_check_details.json, scans_r2/, variants_r2.csv, scripts/).

🤖 Generated with Claude Code

Lingua principale
Python
Stelle
57
Fork
11
Merge medio
1h 43m
PR unite (30g)
985

Preparare l'ambiente

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 squid-protocol/gitgalaxy

Tutte le issue di squid-protocol/gitgalaxy

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.