DOOM study write-up: lineage survival vs linuxdoom across all ports + cross-language subsystem comparison (engine metric calibration)
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 24/100
調査の方向性
Start with tests/tools/doom_speedrun/manifest.csv, the existing round-1 survival.py and canonical.py, and the harness scan outputs. Port the scripts into the suggested tests/tools/doom_speedrun/lineage.py or tests/doom_crucible/ location, then define the documented lineage and cross-language metrics. Done means one pinned-corpus command regenerates every requested table, docs/research/doom-port-study.md reports only reproducible measurements, and each calibration finding is filed with evidence.
索引モデルが issue の本文から書いたものです。
説明
Goal
Produce the analysis the DOOM study was for: how much of id Software's 1997 linuxdoom survives in each port, how ports diverge, and how the same subsystems look across languages. It doubles as an engine check: are GitGalaxy's metrics comparable across languages? (If a Go or COBOL renderer scores wildly differently from the C original for the same algorithm, that is an engine calibration finding.)
Inputs
- Corpus:
tests/tools/doom_speedrun/manifest.csv(39 ports; moving totests/doom_crucible/with #5619) plus the ports added by the manifest-expansion issue (COBOL, Python, SQL, web...). - Round-1 method (16 ports, C-family only, engine
a8510fc07), local on nyx at/srv/storage_16tb/projects/gitgalaxy/doom-study/scripts/survival.py+canonical.py: function bodies sliced by engine boundaries, normalised, sha1 + difflib similarity vs linuxdoom's 659 functions, per subsystem (renderer, playsim, menus, netcode, ...). Example result: chocolate-doom keeps 86.6% of linuxdoom function names, 35.1% exact bodies; doomretro 68.9% names, 0.2% exact.
Work
- Port the round-1 scripts into the repo as our own tool (
tests/tools/doom_speedrun/lineage.pyor undertests/doom_crucible/), reading the harness scans; rerun on all ports at current main. - Lineage table: per port, survival of linuxdoom names / exact bodies / near (>=0.9) / derived (>=0.6), per subsystem; checked against each port's stated lineage in the manifest (does Chocolate -> Crispy -> inter-doom show monotone drift? do rewrites show ~0 exact bodies but high name survival?).
- Cross-language: map subsystems by file/function-name families (r_* renderer, p_* playsim, m_* menu...), then compare per subsystem across C / C++ / C# / Java / Go / Rust / COBOL / Python: function count, LOC, cyclomatic complexity, call fan-out. Report where the engine's metrics are comparable and where they are not, with the language-specific reason; file an engine issue for each calibration defect found.
- Write-up:
docs/research/doom-port-study.md, measurements only (third-party policy: no code, no reconstructions, brief quotes with attribution), every number reproducible by one command; per-port clean-scan table before/after the fixes (round 2585c243e9-> current).
Acceptance
- One command regenerates every table from the pinned corpus.
- Lineage for all C-family ports + name-level lineage for the rewrites; cross-language subsystem table including at least C, C++, C#, Java, Go, Rust, and COBOL/Python once added.
- Calibration findings filed as issues (or "none found", with the evidence).
Part of #5457.
🤖 Generated with Claude Code
- 主要言語
- Python
- スター
- 57
- フォーク
- 11
- 平均マージ
- 1時間 41分
- マージ済み PR(30日)
- 978
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
squid-protocol/gitgalaxy のほかの issue
-
lane:nyx needs:corpus priority: medium testing
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
squid-protocol/gitgalaxy#5784 ·
メンテナーはふだん 1 日以内に返信
-
lane:nyx needs:corpus priority: medium testing
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
squid-protocol/gitgalaxy#5783 ·
メンテナーはふだん 1 日以内に返信
-
keyword-rosetta: ACS (acs) has no control folder; author data/acs/ and backfill its cost recordオープンlane:nyx needs:corpus priority: medium testing
難易度 5/5 1週間以上 初心者へのやさしさ 20/100
squid-protocol/gitgalaxy#5782 ·
メンテナーはふだん 1 日以内に返信
-
lane:nyx needs:corpus priority: medium testing
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
squid-protocol/gitgalaxy#5781 ·
メンテナーはふだん 1 日以内に返信
-
keyword-rosetta: F# (fsharp) has no control folder; author data/fsharp/ and backfill its cost recordオープンlane:nyx needs:corpus priority: medium testing
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
squid-protocol/gitgalaxy#5780 ·
メンテナーはふだん 1 日以内に返信
squid-protocol/gitgalaxy の issue をすべて見る
似ている issue
-
[Bug] Unit tests reach real Bedrock call paths without patching the model対応中かも @proton0210 が今日担当しました。 オープンbug
難易度 2/5 1〜3時間 初心者へのやさしさ 67/100
aws-samples/sample-aws-genai-db-modernizer#1318 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
pyarrow-25.0.1-cp310-cp310-manylinux_2_28_x86_64.whl: 1 vulnerabilities (highest severity is: 5.3)オープンMend: dependency security vulnerability
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
capitalone/locopy#394 ·
-
[Bug] Unhandled ValueError terminates watchdog thread when GISRC value contains multiple colonsオープンbug
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
メンテナーはふだん 1 日以内に返信
-
sdk-typescript: unquoted COPY globs in shell form are silently dropped from the image build contextオープンbug javascript
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
ietf-tools/datatracker#11922 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信