mirror of
https://github.com/Cesarus85/ringfall-mjolnir-vr.git
synced 2026-10-17 13:00:25 +02:00
Preserve three data ownership holds after Claude reconciliation
This commit is contained in:
1 parent
b22eddc0cc
commit
188d6c1bc0
3 files changed
+91
-3
No files matched your search
+3
-3
@@ -521,7 +521,7 @@
|
||||
{ "name": "source/objects/scenery_group.c", "index": 146, "status": "Matching" },
|
||||
{ "name": "source/objects/scenery.c", "index": 147, "status": "Matching" },
|
||||
{ "name": "source/objects/placeholder_definitions.c", "index": 148, "status": "Matching" },
|
||||
{ "name": "source/objects/objects.c", "index": 149, "status": "Matching" },
|
||||
{ "name": "source/objects/objects.c", "index": 149, "status": "NonMatching" },
|
||||
{ "name": "source/objects/object_types.c", "index": 150, "status": "Matching" },
|
||||
{ "name": "source/objects/object_shadows.c", "index": 151, "status": "Matching" },
|
||||
{ "name": "source/objects/object_lights.c", "index": 152, "status": "NonMatching" },
|
||||
@@ -654,10 +654,10 @@
|
||||
{ "name": "source/input/input_abstraction.c", "index": 279, "status": "Matching" },
|
||||
{ "name": "source/input/HaloAutoTest.c", "index": 280, "status": "Matching" },
|
||||
{ "name": "source/hs/object_lists.c", "index": 281, "status": "Matching" },
|
||||
{ "name": "source/hs/hs_scenario_definitions.c", "index": 282, "status": "Matching" },
|
||||
{ "name": "source/hs/hs_scenario_definitions.c", "index": 282, "status": "NonMatching" },
|
||||
{ "name": "source/hs/hs_runtime.c", "index": 283, "status": "NonMatching" },
|
||||
{ "name": "source/hs/hs_library_external.c", "index": 284, "status": "Matching" },
|
||||
{ "name": "source/hs/hs_globals_external.c", "index": 285, "status": "Matching" },
|
||||
{ "name": "source/hs/hs_globals_external.c", "index": 285, "status": "NonMatching" },
|
||||
{ "name": "source/hs/hs_compile.c", "index": 286, "status": "NonMatching" },
|
||||
{ "name": "source/hs/hs.c", "index": 287, "status": "NonMatching" },
|
||||
{ "name": "source/game/players.c", "index": 288, "status": "NonMatching" },
|
||||
|
||||
@@ -1,6 +1,30 @@
|
||||
{
|
||||
"version": 1,
|
||||
"entries": [
|
||||
{
|
||||
"unit": "source/objects/objects",
|
||||
"class": "candidate-only-comdat-owner",
|
||||
"symbol": "_point_in_sphere, _real_random, _signed_angular_difference, _valid_real_vector3d, _valid_real_vector3d_axes2",
|
||||
"reason": "All January target functions and owned data now match, but five candidate-only shared helpers conflict with hand-written no-duplicates providers in path_obstacles, action_charge, player_control and bored_camera. Exact target bytes and the corrected private symbols do not establish safe whole-object linkage.",
|
||||
"evidence": "docs/object_matching_logs/claude_data_ownership_closeout_20260924.md",
|
||||
"reopen": "Replace the conflicting hand-written providers with genuine shared-header uses, retain every exact caller, and prove compatible ordinary provider links in both orders before admitting the object. Do not credit the candidate-only copies."
|
||||
},
|
||||
{
|
||||
"unit": "source/hs/hs_scenario_definitions",
|
||||
"class": "source-layout-incomplete",
|
||||
"symbol": ".data",
|
||||
"reason": "January's data section has 8-byte alignment while the rebuilt section has 4-byte alignment. The current definitions force their layout with invented aggregates, pack/align directives and a padding member; identical payload alone does not authenticate the object.",
|
||||
"evidence": "docs/object_matching_logs/claude_data_ownership_closeout_20260924.md",
|
||||
"reopen": "Recover the genuine separate January data definitions and their natural alignment, including the static byte-swap owner, without fabricated aggregates or padding; preserve target code and data bytes across a full sweep."
|
||||
},
|
||||
{
|
||||
"unit": "source/hs/hs_globals_external",
|
||||
"class": "source-layout-incomplete",
|
||||
"symbol": "_hs_external_global_definitions",
|
||||
"reason": "The rebuilt data is byte-identical, but it is one invented 442-element array where January had 442 separately named file-static global definitions. The later build does not independently authenticate all January names or this aggregate source shape.",
|
||||
"evidence": "docs/object_matching_logs/claude_data_ownership_closeout_20260924.md",
|
||||
"reopen": "Recover and verify the January per-global names and ownership from first-party evidence, replace the aggregate with authentic separate definitions, and preserve every exact function and data relocation before whole-object admission."
|
||||
},
|
||||
{
|
||||
"unit": "source/structures/leaf_map",
|
||||
"class": "candidate-only-comdat-owner",
|
||||
|
||||
@@ -0,0 +1,64 @@
|
||||
# Claude data/ownership closeout: canonical reconciliation (2026-09-24)
|
||||
|
||||
Claude's clean `claude/data-closeout-20260924` lane at `b3e9f9af` was
|
||||
reconciled onto local canonical `jonas/exact-pilots` at `c661a334`, after the
|
||||
separate ten-Halo-object batch. Its five commits were cherry-picked in order.
|
||||
The only content merge was the append to `config/semantic_data_matches.json`:
|
||||
the existing and donor entries are disjoint and both are retained. The donor's
|
||||
`items.c` helper repair was already byte-identical to canonical's, so it was
|
||||
not applied twice. Neither lane's credited data was counted twice.
|
||||
|
||||
## Accepted result under canonical's installed objdiff 3.3.1
|
||||
|
||||
| Measure | Before donor | After donor | Delta |
|
||||
| --- | ---: | ---: | ---: |
|
||||
| Complete objects, all | 469/833 | 479/833 | +10 |
|
||||
| Complete Halo objects | 351/468 | 361/468 | +10 |
|
||||
| Credited data, all | 2,568,800 | 2,578,710 | +9,910 |
|
||||
| Credited Halo data | 2,562,486 | 2,572,396 | +9,910 |
|
||||
| Credited Halo meaningful code | 1,549,953/1,770,166 | 1,549,953/1,770,166 | 0 |
|
||||
| Stable strict exact functions | 7,585/8,245 | 7,585/8,245 | 0, no regression |
|
||||
|
||||
The ten objects and each section's source evidence are in
|
||||
`claude_data_ownership_closeout_20260924.md`. Their whole-object admissions
|
||||
include private-symbol ownership and selected-provider checks, not data-byte
|
||||
equality alone. The lane's `items.c` repair was already present in the earlier
|
||||
canonical object-closure batch.
|
||||
|
||||
## Three retained holds
|
||||
|
||||
`objects`, `hs_scenario_definitions`, and `hs_globals_external` remain
|
||||
`NonMatching`. The first has five helper-provider link conflicts; the second
|
||||
has a genuine 8-versus-4-byte data-alignment difference and fabricated source
|
||||
aggregates; the third represents 442 separately named January statics with an
|
||||
invented array. Their exact functions and data evidence remain available,
|
||||
without whole-object credit. Explicit entries in
|
||||
`config/object_admission_rejections.json` record each reopen criterion.
|
||||
Correcting the three premature `Matching` labels removes all inherited
|
||||
admission contradictions; it does not change the credited code or data totals.
|
||||
|
||||
## Scorer version boundary
|
||||
|
||||
The installed canonical `build/tools/objdiff-cli.exe` is 3.3.1, despite
|
||||
`configure.py` naming 3.6.0. This work does **not** silently replace that
|
||||
binary. `build.ninja` passes the existing binary via `--objdiff`, so merely
|
||||
rerunning Ninja does not download the pinned version. Independent read-only
|
||||
side-by-side reports on the same canonical COFFs show that 3.6.0 changes raw
|
||||
data results for 47 Halo objects and one libcmt object, and raw code/fuzzy
|
||||
results for eight D3D8 objects. The strict accepted function identities are
|
||||
unchanged, but dashboard totals are not directly comparable. A future scorer
|
||||
rollout must regenerate `objdiff.json` and reports together and repeat the
|
||||
stable, park, admission and progress gates. The three held objects stay
|
||||
`NonMatching` under either scorer; a fresh 3.6.0 probe confirmed this.
|
||||
|
||||
## Verification
|
||||
|
||||
After integration, full Ninja builds all 833 units. The 8,245-function stable
|
||||
sweep reports zero gains and zero regressions. Parks: 103 active, zero stale or
|
||||
invalid. The admission audit reports zero contradictions and zero revoked
|
||||
rows. The modified source files have zero fake-match review leads.
|
||||
`python -m pytest -q tools` passes 1,154 tests, five skips and 26 subtests.
|
||||
The ten accepted objects are to be checked in the refreshed local treemap;
|
||||
the three holds must remain uncredited there. No GitHub push is made by this
|
||||
integration: the standing push threshold is 10,000 newly exact code bytes,
|
||||
and this lane adds zero.
|
||||
Reference in new issue
Block a user