DOOM-rosetta check 7: get the 17 call-graph-failing ports to pass
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 20/100
調査の方向性
Start by reading tests/tools/doom_speedrun/doom_scorer.py and the callgraph oracle paths named in the issue, then run the per-port shape breakdown for the licensed ports. Use the listed source examples to decide whether each shape needs an engine or oracle fix, and add a test for each shape class. Done means all 17 ports reach zero misses and scored engine-only edges, their manifest entries are updated, and the nightly run and PERFECT count are reported.
索引モデルが issue の本文から書いたものです。
説明
Goal (owner 2026-10-23)
Finish the DOOM call-graph work: every port that fails DOOM-rosetta check 7 (callgraph) passes it, so callgraph leaves expected_fails in tests/doom_rosetta/manifest.csv port by port and the seven-check PERFECT count goes from 27/44 to 44/44.
A port passes check 7 when callgraph_misses = 0 and callgraph_engine_only (scored kinds only) = 0 (tests/tools/doom_speedrun/doom_scorer.py callgraph_check). Unscored engine-only kinds (type, function-pointer; the #5874 open question) do not fail the check and are out of scope here.
The 17 failing ports (golden on main, 2026-10-23)
| Port | Oracle | Recall | Precision | Misses | Scored engine-only |
|---|---|---|---|---|---|
| srb2 | C body | 0.9318 | 0.9636 | 1358 | 646 |
| doomsday | C/C++ body | 0.9750 | 0.9314 | 1741 | 3223 |
| gzdoom | C/C++ body | 0.9953 | 0.9483 | 201 | 810 |
| odamex | C/C++ body | 0.9981 | 0.9673 | 38 | 311 |
| doom3-bfg | C++ body | 0.9996 | 0.9772 | 19 | 340 |
| eternity | C/C++ body | 0.9982 | 0.9769 | 28 | 175 |
| edge-classic | C++ body | 0.9963 | 0.9741 | 39 | 150 |
| dsda-doom | C body | 0.9978 | 0.9992 | 24 | 2 |
| doomretro | C body | 0.9996 | 1.0 | 3 | 0 |
| prboom-plus | C body | 1.0 | 0.9993 | 0 | 2 |
| fastdoom | C body | 0.9997 | 0.9997 | 1 | 0 |
| sqldoom | tree-sitter | 0.8987 | 1.0 | 68 | 0 |
| helion | tree-sitter (C#) | 0.9971 | 0.9579 | 59 | 9 |
| mood | tree-sitter | 0.9598 | 1.0 | 9 | 0 |
| managed-doom | tree-sitter (C#) | 1.0 | 0.8234 | 0 | 3 |
| cssdoom | tree-sitter (JS) | 0.9939 | 1.0 | 2 | 0 |
| mochadoom | tree-sitter (Java) | 0.9998 | 0.9586 | 1 | 0 |
Method
- Shape first. Run
callgraph_oracle.py --only <ports>(C/C++) / thets_callgraph_oraclepath (others) on current main and post the per-port, per-shape breakdown (misses by shape, scored engine-only by kind, 2-3 examples each) here as checklist lines: one line per shape class, not per port. Scans of gzdoom/doomsday/srb2 are long: run them in the background and log progress. - Engine or oracle? For each shape, read the source at the examples. A real call the engine misses / a false edge the engine records -> engine fix with a test per shape and a golden re-bless of the affected ports. An oracle mistake (macro expansion, preprocessor branches, a call the oracle misreads) -> oracle fix with a test. Say which in the PR.
- Largest shape first, one PR per shape class (<= 5 hand-written files). Each PR updates the goldens it moves; when a port reaches 0/0, drop
callgraphfrom itsexpected_fails. - Shapes already filed elsewhere: #5640 (shell, Scheme lambda, Lua
.., Tcl after}) — tick them there.
Acceptance
- Per-shape breakdown posted for all 17 ports on current main.
- Every scored shape class fixed (engine or oracle), each with a test.
-
callgraphgone fromexpected_failsfor all 17 ports; the DOOM-rosetta nightly green with the new golden. - Seven-check PERFECT count posted here.
Licensed ports only (callgraph_oracle.LICENSED, manifest licence column). Part of #5457. Related: #5874, #5630, #5640.
🤖 Generated with Claude Code
- 主要言語
- Python
- スター
- 57
- フォーク
- 11
- 平均マージ
- 1時間 5分
- マージ済み PR(30日)
- 976
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
squid-protocol/gitgalaxy のほかの issue
-
claim:melek priority: high
squid-protocol/gitgalaxy#6534 · コメント 2 件 ·
メンテナーはふだん 1 日以内に返信
-
claim:melek priority: high
squid-protocol/gitgalaxy#6501 · コメント 2 件 ·
メンテナーはふだん 1 日以内に返信
-
claim:nyx enhancement legacy-modernization scope:core status: blocked testing
squid-protocol/gitgalaxy#6492 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
bug claim:nyx scope:sweep
squid-protocol/gitgalaxy#6454 · コメント 8 件 ·
メンテナーはふだん 1 日以内に返信
-
bug claim:melek scope:frontier
squid-protocol/gitgalaxy#6433 · コメント 2 件 ·
メンテナーはふだん 1 日以内に返信
squid-protocol/gitgalaxy の issue をすべて見る
似ている issue
-
Project submission:オープン
難易度 1/5 1時間未満 初心者へのやさしさ 72/100
slavakurilyak/awesome-ai-agents#845 ·
メンテナーはふだん 1 日以内に返信
-
tests: pin that the atomic writers in utils/paths.py stage the temporary file in the target's directory対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープンdifficulty:2 enhancement good first issue
難易度 1/5 1〜3時間 初心者へのやさしさ 92/100
MakazhanAlpamys/Soup#2178 ·
メンテナーはふだん 1 日以内に返信
-
[BUG] dcg.waggr permutation p-values are folded twice, so near-zero scores get the smallest p-valuesオープン
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
scverse/rapids-singlecell#854 ·
メンテナーはふだん 1 日以内に返信
-
Slang input: int8_t4_packed and uint8_t4_packed are copied into CrossGL対応中かも @ninglinLiu が今日担当しました。 オープンarea:frontend backend:slang bug direction:input
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
メンテナーはふだん 1 日以内に返信
-
random_elements(unique=True) on an OrderedDict: ZeroDivisionError once only zero weights remain, AssertionError with use_weighting=False対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
メンテナーはふだん 13 日以内に返信