Promote daObjKm3_Kuruma_c intact translation unit - #2119
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/actors/daObjKm3_Kuruma_c.cpp: lunavyqo -> github-actions[bot]; src/actors/daObjKm3_Kuruma_c.cpp: lunavyqo -> github-actions[bot]; src/actors/daObjKm3_Kuruma_c.cpp: tangosdev -> github-actions[bot]); 5 address range(s) left the byte-verified set while enrolled totals held steady: ov047:0x021113f8-0x02111448, ov047:0x02111448-0x021114ac, ov047:0x021114ac-0x021114c0, ov047:0x021114c0-0x021114d4, ov047:0x021114d4-0x02111510; 4 more function(s) now claim a match that nothing compiles; enroll them in a delinks.txt to have the ROM build check them. Per-file link-check detailAll 1 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. |
0390b24 to
7194700
Compare
2007ccd to
7e87179
Compare
7194700 to
254fe53
Compare
|
Temporarily draft after repairing the #2117 root. I replayed only the Kuruma commit onto current main plus clean #2117 and ran the full ROM gate. The strict control passed 106/106 with the stock SHA, but the candidate was correctly rejected: current main lacks the #2103 nontextSectionOrder implementation, so Kuruma RTTI and resource sections reorder and produce wrong-symbol and wrong-destination relocation failures. I did not push that invalid candidate; it is preserved locally as wip/kuruma-main-root-needs-section-order-20260901. Once the #2103 section-order tooling lands, I will re-cut Kuruma on the clean root and rerun the complete ROM proof. |
7e87179 to
0804918
Compare
|
The former draft blocker is cleared: #2103 and #2117 are now in main. I replayed only the Kuruma promotion onto current main, resolved attribution semantically, regenerated the TU state note, and reran the complete proof on head 0804918. Fresh results: canonical ROM SHA, 11,088/11,088 functions, 7/7 source-data claims, 106/106 modules, zero mismatches, 98/98 TUs, 405/405 port refs, and 8/8 merge-result static gates. The PR is ready for fresh independent validation. |
0804918 to
6b9a8bf
Compare
|
The prior private validation passed, but #2129 merged while it was running and made that head conflict with main. I did not merge the stale head. I rebased the single Kuruma commit onto post-Waterfall main c9453b4, retained Waterfall ledger state, regenerated the TU state note, and reran the complete proof. New head 6b9a8bf passes the canonical ROM build: 11,088/11,088 functions, 7/7 source-data claims, 106/106 modules, zero mismatches, 570 verified ROM-data symbols, 98/98 TUs, 405/405 port refs, and 8/8 merge-result static gates. Awaiting fresh private validation on this exact head. |
Promotes the five-function daObjKm3_Kuruma_c unit from per-symbol sources into one production intact C++ translation unit. The compiler now owns D1/D0, InitResources, CleanupResources, RTTI, type name, resource descriptor, SpawnInfo, and vtable; no D2 is emitted. RickshawPlatformBs_Spawn remains an explicit C-linkage ABI seam because the ROM proves the factory boundary but not a natural-new spelling.
Restacked directly onto current main after #2103, #2117, #2104, and #2129 landed. The branch contains only the Kuruma promotion commit.
Fresh exact proof on head 6b9a8bf: 11,088/11,088 source-built functions, 7/7 source-owned data claims, 106/106 modules, zero mismatches, intact-TU storage aliases exact, 570 ROM-data symbols verified, and stock ROM SHA-256 D1506E90EFAE5E2D2CF119926A4AC2A291BD5CA78349D09D5024E1A918C478E8. The generated TU state note is current; 98/98 shadow TUs compile; port references are 405/405; all eight merge-result static gates stay green; attribution reports three consolidations intact with zero changed or lost credit.
No CLAIMS.md, match_attempts.jsonl, or bot dashboard artifacts are included.