Reconstruct five unique actor profile pairs - #2135
Conversation
✅ PR validation — PassedCommitted merge passes; 3 contributor credit reassignment(s) noted, not a blocker. Full merge validation
Contributor credit moved (3)
Byte-verified means the range carries Warnings: contributor attribution changed, not a blocker (3 changed, 0 lost -- src/dScMgCurling_c_classInit.c: tangosdev -> andrewboudreau; src/dScMgCurling2_c_classInit.c: tangosdev -> andrewboudreau; src/daObj_Mip_Key_c_classInit.c: tangosdev -> andrewboudreau). Per-file link-check detailAll 6 changed file(s) compile to the ROM byte-for-byte with correct relocation targets.
The private worker commits a test merge, builds the stock ROM profile, compares every executable module, measures matched and source-built code, checks contributor lineage, and verifies affected relocations. The mod profile is opt-in and is not part of this merge gate. |
…' into cpp/profile-reconstruction-wave5
…' into cpp/profile-reconstruction-wave5 # Conflicts: # attribution.json
…ction-wave5 # Conflicts: # config/arm9/overlays/ov012/delinks.txt # config/arm9/overlays/ov012/symbols.txt # config/tu_manifest.d/ov012/SwitchPillar.json # include/daObjC0_Switch_c.h # notes/data/c-cpp-classification.tsv # notes/data/tu-merge-candidates.json # src/actors/d_a_obj_c0_switch.cpp # symbols/actor_renames.tsv
…-merge conflict resolution
Stacked on #2133.
Reconstructs five additional unique profile/class-initializer pairs:
The spellings are explicitly lineage-supported reconstructions. ROM evidence independently proves each literal profile ID, RTTI class, unique factory relationship, allocation size, and vtable identity. Historical aliases remain in the rename ledger.
Overlay-multiplexed candidates such as C1_TRAP and KM3_KAITENDAI were intentionally excluded because the same numeric registry pointer has different overlay-local meanings.
Verification: