Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 24 additions & 0 deletions .github/workflows/converted-ratchet.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,19 @@
# pass, so the file is not in every PR's diff and does not conflict. Re-bank it
# occasionally, on its own, to bank recent gains.
#
# ONE-WAY STALENESS HAS AN EXCEPTION, AND IT COST A DAY. A TU promotion REMOVES banked
# paths: `tubuild.py` consolidates N per-symbol files into one, and the absorbing file
# structurally cannot pass `no_mangled_refs`. So a promotion leaves the baseline stale in
# the FAILING direction. Measured: PR #1996 promoted `ov002/daObjAbuku_c` while its own
# checks were green -- they had run against a base predating the re-bank that first
# banked the two files it deletes. Main went out of sync the moment it merged, and the
# next unrelated PR to touch `src/**` (#1978) is the one that turned red for it.
#
# Hence the `push:` trigger below. It does not gate anything -- there is no branch
# protection here and a red main is advisory -- but it attributes the breakage to the
# merge that caused it instead of to whoever opens the next PR. Re-bank with
# `--update --reason` naming the promotion; that is the designed path, not a workaround.
#
# Hence: no second checkout, and no root-file override the way langmode has one. The
# escape hatch is a flag on the tool, used LOCALLY before you push.
#
Expand Down Expand Up @@ -61,6 +74,17 @@ on:
- "config/tu_manifest.d/**"
- "config/converted-baseline.json"
- ".github/workflows/converted-ratchet.yml"
push:
branches: [main]
paths:
- "src/**"
- "tools/tiers.py"
- "tools/tiers_ratchet.py"
- "tools/delaunder.py"
- "tools/tu_manifest.py"
- "config/tu_manifest.d/**"
- "config/converted-baseline.json"
- ".github/workflows/converted-ratchet.yml"
workflow_dispatch:

permissions:
Expand Down
2 changes: 2 additions & 0 deletions config/converted-backslide-exceptions.jsonl
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,5 @@
{"path": "src/_ZN6BobOmb13OnYoshiTryEatEv.cpp", "reason": "Both files traded a raw (unsigned char*)this cast at [263] for dEnemyBase_c's actual field at 0x107, which is still honestly named unk_107 because nobody has recovered what the byte means. The old spelling only scored because a raw index through a re-cast this pointer slips past the RAW_OFFSET criterion -- it was never more readable, only less legible to the gate. Reverting it to score would be exactly the regression the tier exists to prevent; naming the field properly is a dEnemyBase_c-wide rename touching 13 files and belongs in its own PR."}
{"path": "src/_ZN6Rabbit13OnYoshiTryEatEv.cpp", "reason": "Both files traded a raw (unsigned char*)this cast at [263] for dEnemyBase_c's actual field at 0x107, which is still honestly named unk_107 because nobody has recovered what the byte means. The old spelling only scored because a raw index through a re-cast this pointer slips past the RAW_OFFSET criterion -- it was never more readable, only less legible to the gate. Reverting it to score would be exactly the regression the tier exists to prevent; naming the field properly is a dEnemyBase_c-wide rename touching 13 files and belongs in its own PR."}
{"path": "src/__sinit_ov075_0211bb00.c", "reason": "dScEntry_c::graphCallback_c's constructor is now a real compiler-owned C++ symbol. The static initializer remains a generated C reconstruction and cannot spell a constructor call in C++ source form, so its relocation must use _ZN10dScEntry_c15graphCallback_cC1Ev until the initializer's globals are reconstructed as typed C++ definitions."}
{"path": "src/_ZN12daObjAbuku_cD0Ev.cpp", "reason": "TU promotion ov002/daObjAbuku_c (PR #1996) consolidated these two per-symbol files into src/actors/daObjAbuku_c.cpp. A reconstructed TU must spell vague-linkage symbols directly (_ZN7fBase_cnwEj, _ZN8dActor_cC2Ev, _ZN8dActor_cD2Ev) or its range will not link, so no_mangled_refs cannot pass for the absorbing file. Byte-match outranks readability; the code was not reverted and no byte changed."}
{"path": "src/_ZN12daObjAbuku_cD1Ev.cpp", "reason": "TU promotion ov002/daObjAbuku_c (PR #1996) consolidated these two per-symbol files into src/actors/daObjAbuku_c.cpp. A reconstructed TU must spell vague-linkage symbols directly (_ZN7fBase_cnwEj, _ZN8dActor_cC2Ev, _ZN8dActor_cD2Ev) or its range will not link, so no_mangled_refs cannot pass for the absorbing file. Byte-match outranks readability; the code was not reverted and no byte changed."}
4 changes: 1 addition & 3 deletions config/converted-baseline.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"no_codegen_trick",
"no_mangled_refs"
],
"count": 2567,
"count": 2565,
"converted": [
"src/ARMMathLoadState.c",
"src/ARMMathSaveState.c",
Expand Down Expand Up @@ -660,8 +660,6 @@
"src/_ZN12daDossyCap_c6RenderEv.cpp",
"src/_ZN12daDossyCap_cD0Ev.cpp",
"src/_ZN12daDossyCap_cD1Ev.cpp",
"src/_ZN12daObjAbuku_cD0Ev.cpp",
"src/_ZN12daObjAbuku_cD1Ev.cpp",
"src/_ZN13BasementWater16CleanupResourcesEv.cpp",
"src/_ZN13BasementWaterD0Ev.cpp",
"src/_ZN13BasementWaterD1Ev.cpp",
Expand Down
Loading