5.3 KiB
actors.obj Codex exact-setter checkpoint
Scope and result
- Integration base:
cc7b74b732369c5d3ddd659bd03855c10a912aae. That base already contains the correctedactors.hABI from81e69388. - Historical commit
35aa1c363117bbe907cd1bfffc36a76f48729fc9was used only as a source lead. Its four readable typed setters were rebuilt independently against the current January target; no other donor source, header, configuration, or documentation change was imported. - The untouched base was 17/76 strict-exact functions, 1,016 meaningful code bytes, 1,152 padded bytes, and 72 relocations. The final forced XDK 3911 build is 21/76, 1,274 meaningful bytes, 1,440 padded bytes, and 80 relocations.
- The strict gain is four functions and 258 meaningful bytes. The object stays
honestly
NonMatching; no whole-object admission or parked credit is claimed.
Strict function evidence
The hardened comparator agrees on padded bytes, relocation count and identity, and normalized bytes for each added function. Their target and rebuilt public owners also agree at COFF storage class 2 and function type 32.
| Function | Meaningful bytes | Padded bytes | Relocations | Normalized SHA-256 |
|---|---|---|---|---|
_actor_unit_control_crouch |
57 | 64 | 2 | 8ee39009874b2d5e8cbb3db2aca3eefb42d0f6e56ca8f3a7aa2f261ecbb5f850 |
_actor_unit_control_primary_trigger |
81 | 96 | 2 | 7d2c0bc6e6a8b49a39f01d9a0cce6827439c176302aa472c9c6b4b272bcc0250 |
_actor_unit_control_secondary_trigger |
63 | 64 | 2 | c32dd71b0f2b8e605dc0446fc6ebebbe31299c7478716adf68156b6bdfde1ff8 |
_actor_unit_control_exact_facing |
57 | 64 | 2 | 223360249e08e2749dab433a0fd0757f33a58f7f19efb039a2ebc4cd1dd7dd50 |
Each body obtains the typed actor_datum through actor_get, updates the
named control flag or analog-trigger field, and ends with an explicit
return;. There is no assembly, volatile scheduling device, force-inline
annotation, optimizer pragma or barrier, undefined behavior, byte forcing,
or raw-offset datum access.
Whole-TU, data, and symbol audit
The pre-edit regression manifest freezes all 17 accepted functions and every rebuilt non-code and symbol-ownership record. All 17 baseline functions remain strict exact after the additions. The candidate's 15 non-code sections (412 logical bytes) are fingerprint-identical to the baseline, so this checkpoint changes no data and claims no data credit.
The fail-closed pre-edit check reports the four functions as NEWLY_EXACT, as
expected. It also reports three accepted-function fingerprint changes and a
symbol-set change. Those findings were inspected rather than waived:
_actor_unit_control_jump,_actor_unit_control_throw_grenade, and_actor_unit_control_stop_animation_impulseretain identical padded size, normalized bytes, relocation addresses and destinations, section flags, COMDAT selection, and public owner. Only their numeric COFF section indices move as the four naturally ordered function sections are inserted.- The symbol inventory grows from 75 to 84 records: four public function
owners, four corresponding
.textsection symbols, and the ordinary__fltusedundefined symbol required by the real-valued primary-trigger parameter. Apart from the same numeric section-index shifts for the three existing setters, no ownership record changes. - No
DATA_CHANGED, lost exact function, compiler/configuration drift, or changed nonexact-function finding is present.
A clean post-commit snapshot followed by deletion and forced rebuilding of
actors.obj is the stable same-path proof for the reviewed new symbol shape.
Corrected-header and frozen-object boundary
The integration base already includes the 81e69388 correction and its
same-path old/new declaration A/B: 26 direct actors.h consumers plus two
additional frozen units were byte-identical after normalizing only the COFF
timestamp. That recorded proof includes vehicles, ai_debug, ai_script,
actions, and units.
This checkpoint changes only actors.c and this new Codex ledger. It does not
modify actors.h, any frozen source, configuration, semantic/park ledger, or
pre-existing Markdown, so that consumer proof remains applicable.
Reproducibility and gates
- Source SHA-256:
8e6c2cf4acf64143d1a81a2ce239bfee6abb82d28db48b0b5d7049adf3ceb98c. - Corrected header SHA-256:
7d5fd4146ab86f65eae81608ecb6c3f43fcecb7095a01aab6f0ff8fea94485c6. - January target object SHA-256:
632a2b344e779e5d58e4d9e8e881700d8d106d51fdc3b74cc731aff9e7c3d9b9. - Forced rebuilt object SHA-256:
2b87719a6a19c4d280fca49e3a8997c58e8b1c16df47722394bde36445ddbfc8. - Full
halobetacache_buildandlibcmt_buildpass. - Semantic audit: 470 units, 3,845 functions evaluated, 3,704 semantic exact, 3,768 accepted exact, and zero unit errors.
- Campaign progress: 375/833 complete objects, 3,757/11,060 exact functions, 459,500/2,198,102 exact code bytes, and 1,803,160/4,176,062 matched data bytes.
- Admission: zero candidates and zero revocations; only the inherited
source/shell/shell_xboxcontradiction remains. - Parked audit: three active, zero stale, and zero invalid.
- Tool suite: 179/179 tests pass.
No tracked file is deleted, no user-frozen object is edited, no existing or Claude-authored Markdown is changed, and nothing is pushed.