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.
The 128-bit team mask is indexed by team; a player whose team is not
set (NONE) would read and write outside it, where the 32-bit mask only
shifted. Such a player now counts on its own.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Native builds (HALO_LINUX) size the multiplayer game engine for
HALO_PORT_MAXIMUM_NETWORK_PLAYERS; the matching build keeps the January
text in #else branches and stays byte-identical.
- game_engine.c: MULTIPLAYER_MAXIMUM_PLAYERS follows the port limit; the
postgame statistic buffers hold an entry per player; global_goal has a
slot per player (slayer kill-in-order uses the absolute player index)
and the goal loops are bounded by the array instead of the address of
global_variant; game_engine_get_place uses a 128-bit team mask;
places past the 16th get code-generated English ordinals in the HUD
score messages, scoreboard and postgame instead of asserting or
clamping to "16th"; a free-for-all team is the player's absolute index.
- slayer, oddball, king, race: per-team and per-player score arrays follow
the port limit (oddball's ball arrays stay at 16); January size asserts
are kept for the matching build. Race reads the lap flags of the player
rather than of the player's team index.
- game_allegiance.c: a team past the 10-team table is not its own enemy,
like teams 0..9, so a free-for-all suicide no longer scores as a kill.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Reviewed source reconstructions, each strict exact in its whole-TU gate
with zero inherited losses, guard passing and no new owners:
- players: single-case powerup switches with the default camo-regrowth
cause, a short-index powerup loop, set_action_result single-exit flag,
the byte-proven vehicle re-fetch in examine_nearby_vehicle (cascades
examine_nearby_objects through the private register convention)
- game_engine: generate_title_string per-arm usnprintf calls (two
physical calls in January, matching the sibling team arms);
should_spawn_player applies the respawn-slot gate once after the
decision chain (reopens its park)
- aim_assist: compute_attenuation is an external inline COMDAT in
January (storage class 2); compute_target reads the forwarded
target->distance and binds the unit definition
Rejected in review: _eat_my_shorts (identical-outcome branch).
Stable diff: 0 regressions; parks 263 -> 262.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
_game_engine_generate_title_string was structurally incomplete (1088/70 against
January's 1152/73) and skipped January's common null-termination tail on an
unrecognised win result. The rewritten single-exit body reaches January's size,
relocation count and frame layout with two team-name wchar_t[8] buffers instead
of the union spelling, and 391/391 instructions with one transposed push. It is
still [sha] residual, so it carries ZERO byte credit; the reopen criterion is in
the ledger.
Wave w3c batch 1 (8 groups, 36,384 spendable padded bytes) landed no strict exact
function. The per-object ledgers record the measured blockers, the rejected
_bitmap_2d_smooth reopen (it loses the exact _bitmap_2d_uncompress_from_mipmap
row) and the proposals raised. Full ninja, parks 280/0/0, stable diff vs
scratch/claude250k-start.json: gained 0, regressions 0; fake scan 0 leads.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Wave w1 landing, adversarially verified. exact: _multiplayer_message; park reopens: _game_engine_get_place, _find_closest_player_index. Full build of the combined batch: 54 strict gains / 29,440 padded, 0 regressions, parks 355/0/0. 2 park(s) removed.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Criterion met: the game_engine same-TU call graph is complete (180/180 written). netgame_flag_verify_team_exists uses the single-flag lookup January calls. 1 park removed; +1 exact (640 padded). Full build of the combined reopen set: 0 regressions, parks 451/0/0.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
+1 strict exact function, 496 padded / 494 meaningful bytes. The hand-lowered
do/while-plus-goto body is replaced by the natural bounded insertion
algorithm (as in HCEA): no long-lived product temporary (January's 0x244
frame), the outer player_count > maximum_count test keeps the gather loop's
own guard, and the move/append happen inside the search loop before break.
Adversarial review accepted; the four game_engine parks are unchanged.
game_engine: 170 exact / 10 residual.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Retain 18 strict exact-function gains across Actions, Actor Combat, Decals, Game Engine, Object Lights, and Bipeds after removing donor bodies that regressed exact objects, emitted unowned code, or violated source-credibility rules. Name authenticated private symbols, move declarations to owner headers, record honest residual parks, and preserve units.obj at 189/189.
Authorized three-correction interface package: private
unit_ready_desired_weapon, long animation-impulse formals with the natural
tester scratch, boolean game-engine damaged-player damage type. Six January
owners strict exact on the sole 33-TU emission; Units 174/189 code and
128/129 data; zero inherited losses across the closure.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>