Merge verified source, data and owner corrections from 4e84c212. Resolve overlapping HS/path symbols against canonical, retain the dynavobgeom ownership rejection, document Layer 2/P7 source-shape decisions, and preserve held research. Verified 14 exact functions, 17 new Halo objects, zero regressions under objdiff 3.3.1.
- docs/object_matching_logs/claude_fifty_objects_20260925_owner_queue.md: 14
held items, each apply-ready on cdc8ebd3 with measured unlocks (18 objects on
an all-yes; models and hs_scenario_definitions since superseded by canonical).
- Ledger final handoff: commit order, changed paths, target vs result (18 of
50), tallies, house-rule review, held items, process incidents, and the
trial merge against canonical dbcea3d6 (5 conflicting files, resolution
guidance, and the dynavobgeom / SDK-table policy conflict with its census).
- research/fifty_objects_20260925: waves 4-5 worker/reviewer ledgers, owner
queue packets with APPLY_ORDER, and the integrator kit.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Zero strict-exact functions and zero credited bytes; no production source change.
Documents the /Od-, HCEX- and law-attested source facts measured for
_decal_clip_to_surface (frame closed, one two-load swap left),
_decal_new_from_collision and _physics_update_old, the rejected probes,
and precise reopen criteria. Best candidates stay local in scratch/ledger.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Ledger for the revoked-data object closeout:
- 10 whole objects verified complete (459/833 under the canonical
objdiff 3.3.1 scorer, from 449/833);
- +9,910 data bytes, zero code bytes;
- three objects still revoked, with evidence and reopen criteria.
It also records three owner notes: canonical's stale objdiff 3.3.1
binary despite the v3.6.0 pin, the grouped-entry hazard under 3.6.0,
and the SDK-table precedent question.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Documentation only: no source, config, symbol or park change; 0 exact
functions gained or lost, 0 meaningful / 0 padded code bytes, 0 objects
admitted. path_smoothing stays blocked on actor_combat's NODUP
_cross_product2d.
The residual is decoded to one source fact.
- The /Od build initialises horizontal_aim_vector with an aggregate
copy: integer moves at 0x44ecc7, while float field stores in the same
function use movss. Spelling that view copy restores January's
register choices and slot ranking.
- The last 4 frame bytes come from C2 keeping an address-taken local
live until the end of its declaration scope. January's fild temp
overlays horizontal_aim_vector.j, so January declared it in a block
that closes before the rotation.
- A goto diagnostic proves the function then goes strict exact, but
that structure contradicts the /Od declaration order and would be
invented control flow. It is not landed.
The owner packet, reopen criterion and every measured shape are in
docs/object_matching_logs/claude_actor_aim_grenade_20260924.md.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Wave 2 of the limited object-closure lane. New code: 1 function,
1,232 padded / 1,225 meaningful bytes; action_vehicle closes at 17/17.
find_destination now uses the genuine real_math.h helpers the /Od build
(halo_cache_symbols.exe 0x4422a0) calls: distance3d, MAX, a pointer-
selected target copy, vector_from_points2d x4, dot_product2d,
point_from_line2d x2, magnitude_squared2d/3d, perpendicular2d,
negate_vector2d, normalize2d, vector_from_points3d, square_root,
point_from_line3d x3, scale_vector3d, and a single success flag. Local
names come from the /Od RTC descriptor. The statement list is Lane B's
diag_inline.c donor.
- Drop the REAL_MATH_EXTERNAL_POINT_FROM_LINE3D guard for this TU.
January's action_vehicle holds an UNDEF reference to
_point_from_line3d, so this is within owner ruling 1. The emitted
COMDAT is section-identical to January's action_charge copy.
- _scale_vector3d is a new all-inlined COMDAT (ruling 5). Its caller is
strict exact and the section is identical to January's copy.
- Drop the hand-written NODUP point_from_line2d and its rename. The
header inline now supplies the exact, January-owned _point_from_line2d,
and no object on the board defines it NODUP.
- 18 view casts, admitted under ruling 6. Each is attested at its own
/Od call site (quoted in the ledger). The strip test is byte-inert:
with all 18 removed the function is still EXACT and section-identical.
Verification: full ninja; stable diff gained 1 / 1,232 bytes,
regressions 0; parks 103/0/0; admission audit 39 candidates,
0 contradicted, 0 revoked; object audit PASS; selected-provider link
PASS (both orders, 21 surplus symbols); pytest 1154 passed;
halobetacache linked files 335 -> 336. Ledger:
docs/object_matching_logs/claude_object_closure_20260924.md.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>