Commit Graph
19 Commits
Author SHA1 Message Date
Jonas Volman 709bfc3a3c Reconcile approved frontier ownership and admission packets
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.
2026-09-27 17:12:48 -07:00
Jonas VolmanandClaude Opus 5.5 b807f9f61d Header prerequisites: objects.h __FILE__ provider packet and path.h HCEX field
objects.h: both bounding-sphere inline assertions report OBJECTS_H_FILE, which
defaults to January's relative "..\objects\objects.h". object_lights defines the
absolute spelling first, as January's string census shows. action_vehicle loses
its NODUP hand copy of object_get_bounding_sphere, so the header inline is the only
definition. render_objects' lighting_storage becomes the static local of
object_get_cached_render_lighting (symbols.json).

path.h: the opaque __unknown140A0[0x5C] span is HCEX's `struct path_result
result`, and path.c stores through the field instead of a punning cast.

Consumer sweep (full ninja, objdiff 3.3.1): stable diff shows 0 regressions and no
moved rows beyond the batch-1/Layer-2 gains. Parks 93/0/0, admission 15/0/7/0,
pytest 1157 passed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-23 23:42:16 -07:00
Jonas VolmanandClaude Fable 5.1 ccf3b4125d Lane B wave 3: path.c complete - three strict-exact functions (+2,783 meaningful / +2,800 padded)
New strict exact (function board for ai/path is now 32/32):
  ai/path :: _path_state_traverse             2096
  ai/path :: _path_state_estimated_distance    496
  ai/path :: _closest_point_to_attractor       208

This is the owner's all-inlined COMDAT admission (2026-09-21: "admit the class
... genuine shared-header __inline, byte-identical COMDAT, strict-exact caller,
full ownership/build sweep, zero regressions. No hand expansions.") doing what
it was for: path.c HAND-EXPANDED point_from_line3d at three sites because the
old emission guard forbade the real helper, and those sites were the whole
residue. The three hand expansions are replaced by the REAL
point_from_line3d(...) call. path.obj therefore newly emits _point_from_line3d
(48 B, math/real_math.h, byte-identical to January's single folded copy credited
to ai/action_charge); all three callers are strict exact. admit_check.py: PASS.

Other source changes, each read from the first-party /Od build first and then
confirmed in January's bytes:
- _path_state_estimated_distance: a genuine reconstruction BUG. After the first
  walk /Od does `current_node_index = child_node_index;` (0x4c657e) and the
  second walk tests and advances current_node_index, as does the `?:`. We
  iterated child_node_index. With the copy, January's spilled result byte web and
  its EDI/ESI/EBX assignment appear - every row of the previous ledger. Exact on
  the first compile.
- _path_state_traverse: `closest_distance < 4.0f` (was distance_to_destination;
  /Od 0x4c76ee compares closest_distance); the second collision_bsp pointer is a
  block-scoped local; and the local below.

DISCLOSURE for owner awareness - a local that is written once and never read:
    struct path_node previous_node_values;  ...  previous_node_values = *new_node;
It is a first-party debugging snapshot, NOT an invention: the /Od RTC descriptor
NAMES it (`previous_node_values`, size 68 = sizeof(struct path_node), [ebp-0x8ec])
and /Od does the `rep movsd` right after path_get_node. VC7 deletes the copy in
the optimised build (no rep movs, frame 0x85c unchanged), but the extra IL local
is what yields January's x87 ordering at 0x2cc-0x2d8; January also shows a
constant +1 assert-line drift across this span, consistent with extra source
lines here. Strip test on the final file: without it the function is [sha].
Same class as `jet_marker_count` in 01e16607. Revert on request.

No new representation-punning casts (castcheck real=1 landing=1). Byte-inert
/Od restructurings the worker found were deliberately NOT applied (not
confirmable in January's bytes).

Config: config/parked.json - the three path entries removed (now exact).
Parks 168 / 0 / 0.

Verification: full ninja all_source progress semantic_progress pass (Code
1456768 -> 1459551, 7312 -> 7315). stable_verdicts vs the FROZEN baseline:
gained 24 / 15744 bytes, regressions 0. All 11,060 function and 1,706 section
report rows: 0 lost 100%, 0 missing. Fake scan 0 leads, line endings preserved,
git diff --check clean.
Reviewer: the wave was stopped on the owner's token budget before a reviewer
agent ran, so the ORCHESTRATOR reviewed this packet itself: re-gated from
scratch, read the full 22-line diff, re-derived the RTC attestation from its own
/Od dump, and ran admit_check / castcheck / fake scan / unitcheck.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-21 12:17:02 -07:00
Jonas VolmanandClaude Fable 5.1 74c9cb2a02 Lane B wave 2: zero-credit fuzzy source corrections (path, collisions, action_charge)
ZERO exact credit. Better-evidenced bodies retained per house rule 11. No new
representation-punning casts (screened), no ownership change, no new
fake_match_scan lead, line endings preserved.

- physics/collisions.c _collision_move_point (4,752 B, not parked): reviewer byte
  compare with relocation sites zeroed - differing bytes 3,847 -> 6. Size
  4752 == 4752 and relocations 226 == 226. The remaining six bytes (0x595-0x597,
  0x59b-0x59d) are ONE transposition of two independent instructions, so the body
  is semantically January on every path. Each hunk was strip-tested alone and is
  byte-bearing (position block scope, post-increment placement, ...). The owner's
  collisions[-1] ban is respected; line 1572 is untouched.
- ai/path.c (both PARKED, entries refreshed in this commit):
  _path_state_traverse (2,096 B): rewritten statement-for-statement from the /Od
  build (fn 0x4c6a70) with each fact confirmed in January's bytes. Frame and
  return count are now January's; differing regions 132 -> 61; objdiff
  64.6% -> 98.6%. Padded size is now 2112 vs 2096. Residue is confined to
  0x10b-0x4cc, at the hand-expanded point_from_line3d sites forced by the
  emission guard (path.obj is in the owner's still-guarded all-inlined class).
  _path_state_estimated_distance (496 B): size now equal (was 528), 191 == 191
  instructions, objdiff 77.5% -> 95.5%; residue is a three-register cycle.
- ai/action_charge.c _action_charge_perform (3,248 B, not parked): three hunks
  accepted - melee arm first, the `!ranged || underwater` arm, and the two-store
  unreachable test - each a pure block move or an equivalent rewrite with the
  same evaluation order. NOT landed: the worker's `__inline` added to eleven
  baseline-exact local math helpers (flips their COMDAT selection for zero
  credit; two earlier lanes declined the same lever; needs a helper-linkage
  ruling). action_charge still emits the January-owned _point_from_line3d.

Config: config/parked.json - the two path entries re-measured in place by line
surgery (base size / sha / objdiff percent) with a dated evidence note each.
Parks 174 active / 0 stale / 0 invalid.

Verification: see the preceding strict commit (same build): 0 exact regressions,
0 report rows lost. Reviewer: independent adversarial agent per unit,
ACCEPT_FUZZY_ZERO_CREDIT; partial files built by the reviewers and re-gated by
the orchestrator.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-21 11:10:49 -07:00
Jonas VolmanandClaude Opus 5 cf097d7f70 Wave 7: four functions strict exact (hud_unit, flags, path, motion_sensor)
- _hud_render_unit_interface (3,504 B): January's local-player re-read for
  the HUD state, flag-macro draw flags, advancing shield color pointer,
  named auxiliary panel, direct flash-time indexing (park reopen)
- _flag_render_proper: loop counters reset in the for-initializers
- _path_state_begin: single exit, distance_squared3d + square_root, a
  destination pointer shared by the helper and the error text (park reopen)
- _blip_begin: January's caller pushes a zero second argument the callee
  never reads; the parameter is added with a provisional name and comment
  (park reopen). The caller park _render_motion_sensor is re-measured
  (non-exact before and after).

Rejected: _render_debug_trigger_volumes (duplicated arm stores), leaf_map
rows (owner-declined P7 projection_from_vector3d body),
_closest_point_to_attractor (point_from_line3d COMDAT).
Stable diff vs 9062b1e96: 0 regressions; parks 230 -> 226.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-16 15:55:20 -07:00
Jonas VolmanandClaude Opus 5 8015c91127 path: 1 function(s) strict exact
Wave w1 Batch B (adversarially verified, held for config): the address-named 16-byte stub _code_0004c7b0 is January's private path_heap_verify (Bungie's 2001-09-25 Xbox linker map, same link slot between path_state_reset and path_heap_bubble_up; not a January PDB public, so static). Its TRUE body is inlined at the heap insert/pop entry and exit checks, following path_obstacle_avoidance.c's heap_verify. symbols.json line renamed in place with "static": true. Full ninja build and stable sweep: 0 regressions.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-14 07:52:54 -07:00
Jonas VolmanandClaude Opus 5 d2d8b580b6 path: reopen heap_bubble_down, attractor_weight, state_approach_point and build_path_edges_for_surface exact
Declaration/assignment order from January store order, chain-walk index idiom and surface edge selection by right_surface. 4 park(s) removed. Adversarially verified (wave D park re-investigation); full build of the combined wave D set: 0 regressions, parks 402/0/0.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 23:09:04 -07:00
Jonas VolmanandClaude Opus 5 cdfdc432d9 Match path_state_build_path
+1 strict exact function, 1,184 padded bytes. The obstacle-avoidance
failure record moves inside the avoidance arm directly after the failing
_path_avoid_obstacles call ('if (state->debug && !path_build_success)'),
matching January's store placement. Behaviour is unchanged. path: 23 exact.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 11:03:12 -07:00
Jonas Volman 5d3444f799 Reconcile eighth 10K exact source batch 2026-09-13 02:47:59 -07:00
Jonas Volman a565219da1 Reconcile fifth 10K exact source batch 2026-09-09 22:29:33 -07:00
Jonas Volman 902d808478 Park natural Path attractor pair with runtime proof and link veto 2026-09-06 07:12:45 -07:00
Jonas Volman b4b5a7400c Reconcile exact Path 3D pair and reverify header collateral 2026-09-06 06:47:26 -07:00
Jonas Volman 531c6b5176 Match three path API leaves 2026-09-04 00:00:55 -07:00
Jonas Volman 1612ef9b6b Admit Path and Decals updates; correct Object Lights linkage 2026-08-31 10:50:21 -07:00
Jonas Volman e1adae7722 Match path hash-table lookup 2026-08-30 03:59:56 -07:00
Jonas Volman 9b116251ee Match path state destination setter 2026-08-29 01:23:21 -07:00
Jonas Volman 8de9760a24 Recover exact path input leaves 2026-08-21 02:12:14 -07:00
Jonas Volman 2ce5851dce Match AI path lifecycle 2026-07-15 08:03:06 -07:00
punpckhdq e830efbd7c Initial commit 2025-11-27 02:27:27 +00:00