DOOM-rosetta check 7: get the 17 call-graph-failing ports to pass
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 20/100
Hướng nghiên cứu
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.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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
- Ngôn ngữ chính
- Python
- Star
- 57
- Fork
- 11
- Merge trung bình
- 1 giờ 5 phút
- Pull request đã merge (30 ngày)
- 976
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của squid-protocol/gitgalaxy
-
claim:melek priority: high
squid-protocol/gitgalaxy#6534 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
claim:melek priority: high
squid-protocol/gitgalaxy#6501 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
claim:nyx enhancement legacy-modernization scope:core status: blocked testing
squid-protocol/gitgalaxy#6492 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug claim:nyx scope:sweep
squid-protocol/gitgalaxy#6454 · 8 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug claim:melek scope:frontier
squid-protocol/gitgalaxy#6433 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của squid-protocol/gitgalaxy
Issue tương tự
-
Project submission:Đang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 72/100
slavakurilyak/awesome-ai-agents#845 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
tests: pin that the atomic writers in utils/paths.py stage the temporary file in the target's directoryCó thể đã có người làm Có pull request liên kết đang mở hoặc đã được merge. Đang mởdifficulty:2 enhancement good first issue
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 92/100
MakazhanAlpamys/Soup#2178 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[BUG] dcg.waggr permutation p-values are folded twice, so near-zero scores get the smallest p-valuesĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
scverse/rapids-singlecell#854 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Slang input: int8_t4_packed and uint8_t4_packed are copied into CrossGLCó thể đã có người làm @ninglinLiu đã nhận hôm nay. Đang mởarea:frontend backend:slang bug direction:input
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
Maintainer thường phản hồi trong vòng 1 ngày
-
random_elements(unique=True) on an OrderedDict: ZeroDivisionError once only zero weights remain, AssertionError with use_weighting=FalseCó thể đã có người làm Có pull request liên kết đang mở hoặc đã được merge. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100
Maintainer thường phản hồi trong vòng 13 ngày