Import only independently reviewed production changes. Preserve canonical physics and virtual-keyboard repairs; keep B3 and all unresolved holds out.
Record exactly four approved canary debits (6987 meaningful bytes), six Halo admissions and two revocations. Keep vendor ioinit/storage work separate. Full build, 8252-row sweep, 1318 tests, park/admission/fake audits and 621-object binding pass within approved debit bounds.
Do not publish donor research dumps or private assets. README and unrelated user research remain untouched. See frontier_publication_reconciliation_20260927.md for complete evidence limits and accounting.
Independently gate storage + K, OQ-4 P-a/P-b1, four static-local packets and comment-only disclosures. Preserve all 7641 exact owner rows, 71 valid parks and 1161 passing tests; code/data credit unchanged. G and game_engine admission remain held because current canonical loses populate_statistic_buffer. Existing collision static-local repair is not duplicated. No donor tree, held candidate, scorer or private asset imported.
Integrate verified source and data progress; exclude unproven COMMON ownership, held UB/asm forms, and address-named data credit. Stable sweep: 23 exact functions gained, zero lost.
New strict exact (unit :: function, padded bytes):
game/player_control :: _player_control_modify_desired_angles 1584
ai/actor_combat :: _actor_aim_projectile 720
memory/stack_memory_pool:: _stack_memory_pool_allocate 640
memory/stack_memory_pool:: _stack_memory_pool_resize_block 192
ai/action_vehicle :: _action_vehicle_setup_impromptu 464
scenario/wind :: _wind_variance_initialize 384
ai/actions :: _actors_searching_same_position 320
ai/action_converse :: _action_converse_perform 256
game/game_engine_race :: _race_engine_get_score 224
Function boards now complete: action_converse 9/9, wind 9/9, stack_memory_pool
33/33, game_engine_race 36/36, player_control 49/49 (objects NOT marked Matching:
whole-object data/ownership audit not done; player_control .rdata is owner-held).
Method. Every closure started from the SOURCE SHAPE read out of the first-party
unoptimised /Od + /RTC build (halo_cache_symbols.exe, scratch/orch/odbuild.py)
and was then confirmed against January's own bytes before it was relied on
(double attestation); none is a spelling search.
- _player_control_modify_desired_angles: both autolevel products are
`error * K * magnitude3d(v)`; three lines, no local, cast or parenthesis.
- _actor_aim_projectile: weapon_vector is scoped to its own inner block, the dot
product is tested directly (no `alignment` local), and the three debug-info
stores follow January's order (flag first). Reviewer strip tests: block alone,
order alone and alignment-drop alone are each residual; only the combination
is exact.
- _stack_memory_pool_allocate: result zeroed before the 0x342 assert, ONE return,
positive guard with the assert in the else, in-place size arithmetic. The
worker's unattested `last_block` pointer local was REMOVED by the reviewer; the
/Od arm spelling lands instead.
- _stack_memory_pool_resize_block: body untouched. The static helper
stack_memory_pool_dispose_block takes (pool, reference), as /Od pushes them and
as the callee forwards them to valid_block(pool, reference).
- _action_vehicle_setup_impromptu: passes state_data->attempt_distance /
->continue_distance (the fields just stored) instead of the parameters.
- _wind_variance_initialize: block-local `word control_point_indices[4]` assigned
inside the innermost axis loop; name and size from the /Od RTC descriptor.
- _actors_searching_same_position: four pointer locals, result = FALSE after the
four calls, if / else-if arms assigning result, one return. Requires
actor_get_pursuit_location (baseline exact, STILL exact 64) to read
uncover.pursuit_location through its own union member in a second arm, as /Od
has it. The evade-direction enum gains its two real middle constants; values
are unchanged (_actor_evade_random is still 4).
- _action_converse_perform: REMOVES a pre-existing `true_value` dummy local from
production. `in_range = TRUE` is assigned in two arms (if / else-if): /Od has two
distinct stores, impossible from one `||` statement, and January has
`mov ebx,1` with two bl stores each with two in-edges. One return.
- _race_engine_get_score: a `score` accumulator assigned on both arms with ONE
return (single-exit law); team_index/laps/flags_touched are block locals of
the non-team arm.
Orchestrator overrides of reviewer-approved text (not landed, zero credit lost
beyond what is listed under HELD):
- action_vehicle: the reviewer's landing.c also rewrote _find_destination with 16
NEW 3D->2D view casts. Owner ruling 2026-09-21 keeps rule 24 strict for new
representation-punning casts, so only the two-line exact closure lands.
- actions: _actor_action_try_to_dive (720, exact in scratch) needs ONE new view
cast -> HELD. _actor_action_handle_vehicle_entry's fuzzy rewrite introduced an
empty `if` arm holding only a `//` comment (new fake_match_scan lead the
reviewer missed) -> reverted to production.
Config: config/parked.json - six entries REMOVED (now exact):
_action_converse_perform, _wind_variance_initialize, _actor_aim_projectile,
_actors_searching_same_position, _player_control_modify_desired_angles,
_race_engine_get_score. No header, symbols.json, flag or tool change.
Verification (tip of the following fuzzy commit): full ninja all_source progress
semantic_progress pass, Code 1446706 -> 1451421, 7297 -> 7306 functions.
stable_verdicts vs the FROZEN baseline: gained 15 / 7568 bytes, regressions 0.
All 11,060 function and 1,706 section report rows: 0 lost 100%, 0 missing.
Parks 174 active / 0 stale / 0 invalid. Admission audit 23 / 0 / 8 / 0.
Guard, ownership, fake scan, line endings, new-punning-cast screen: clean on
every landed file. git diff --check clean.
Reviewer: independent adversarial agent per unit, ACCEPT_EXACT for all nine;
orchestrator re-gated every file through scratch/orch/land.py.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
- _shader_transparent_chicago_create: per-map shader_map_verify(map,
map_index) call as in the exact generic sibling (January's inlined
TRUE-returning verify leaves its store in the loop tail) (park reopen)
- _complete_key_exchange: plain short packet locals replace a long/short
union type-pun (park reopen)
- _debug_realloc: parameter-home reuse and a block-local old_header,
both proven by January's frame (park reopen)
- _lra_allocate: single-exit size check and a conditional round-up
`size = (size & 3) ? (size | 3) + 1 : size` (disclosed) (park reopen)
- _game_state_open_persistent_storage: single-exit success flag (park reopen)
- _progress_bar_create_noise_texture: symbols.json renames _code_000d16d0
in place (static) to the name the 2001-09-25 Xbox linker maps give; an
empty static step called from progress_bar_setup (call position
inferred from map order; the call is required for emission)
Stable diff: 0 regressions; active parks 206 -> 201.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
- _game_load: drops the carrier locals from the Stian lift and reads the
module-state game_globals directly (HCEA body minus its later precache
call); game_globals is file-static, as only game.obj references it in
January, with the matching in-place "static": true in symbols.json
(same form as _game_allegiance_globals)
- _circle_tangents: ratio computed then clamped in place with MIN (HCEA
form)
- _circular_queue_dequeue_data: contiguous size before the read-offset
working copy inside the success block; the worker's hand-expanded
circular_queue_size copy was removed in review and is not needed
Stable diff: 0 regressions; admission 23 candidates / 0 contradicted;
active parks 209 -> 206.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
- _hs_compile_and_evaluate: calls the real static hs_compile_source_error
helper with no source file instead of a hand-written copy (January
inlines the helper here, leaving its dead loop's alignment pad), reuses
the expression parameter; formerly recorded as unreachable
- _inverse_kinematics_adjust_matrices: named squared upper-arm length and
consistent basis-row locals (park reopen)
- _actor_stimulus_prop_acknowledged: MAX clamps, DATUM_INDEX_TO_ABSOLUTE_INDEX,
January's ternary polarity (park reopen)
- _lrar_allocate: found-flag loop allocating inside the fitting arm, as the
sibling _lra_allocate (park reopen)
- _prop_add: reads the dead field back and binds the actor lookup
- _director_script_camera: real director_set_camera helper call and the
admitted bare director_get validation (park reopen)
Stable diff: 0 regressions; active parks 213 -> 209.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
- _render_debug_add_cache_entry: success-first single exit, string case
if/else, one case body per debug type as January emits them
- _ctf_engine_weapon_update: long return-team locals from the owner team
field (January's 32-bit movsx locals)
- _action_uncover_perform: timeslice-block locals, one evaluation-mode
store (removes HEAD's duplicated arm stores), field-order target stores
- _row_dither: indexed channel loops with PIN clamps replace pointer
cursors and a hand-written ternary clamp
- _lruv_debug_to_file: removes a goto web; MIN(9999, age) and the
NULL-name fallback in the fprintf arguments (integer compare order
disclosed; constant-first MIN is attested in Bungie source)
- _action_guard_perform: short firing-position index matching the
actor_select_firing_position return type
render_debug, game_engine_ctf, action_uncover, bitmaps_quantitize,
lruv_cache and action_guard are now all-function exact.
Stable diff: 0 regressions; active parks 219 -> 213.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Port the reviewed initializer-order closure from af728895 onto campaign base a0bad121. Promote only source/memory/hashtable after strict 10/10 code, target-owned data/ownership, full Halo+libcmt build, semantic, regression, test, and policy gates.