Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

DOOM-rosetta check 7: get the 17 call-graph-failing ports to pass

オープン
#6,266 コメント 13 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
20/100
issue の種類
機能追加
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
c, cpp, csharp, java, javascript, python
領域
testing, tooling

調査の方向性

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 の本文から書いたものです。

説明

core-engine lane:nyx needs:doom-corpus priority: high scope:frontier

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

  1. Shape first. Run callgraph_oracle.py --only <ports> (C/C++) / the ts_callgraph_oracle path (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.
  2. 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.
  3. 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 callgraph from its expected_fails.
  4. 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.
  • callgraph gone from expected_fails for 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

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

squid-protocol/gitgalaxy のほかの issue

squid-protocol/gitgalaxy の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。