|
Download docs/RESEARCH_LEDGER.md from nmarshall/urt-rs: direct link, hf CLI and curl.
- Browser
- Download file 497 kB
-
https://huggingface.co/nmarshall/urt-rs/resolve/main/docs/RESEARCH_LEDGER.md
- Command line
-
hf download hf://nmarshall/urt-rs/docs/RESEARCH_LEDGER.md
-
curl -L -o RESEARCH_LEDGER.md https://huggingface.co/nmarshall/urt-rs/resolve/main/docs/RESEARCH_LEDGER.md
497 kB
| # Research ledger and documentation conventions | |
| ## Evidence levels | |
| | Status | Meaning | | |
| | --- | --- | | |
| | Observed | Directly established from identified local files, structural inspection, or a recorded experiment. | | |
| | Upstream reference | Established for a cited source version; not automatically established for the supplied executable. | | |
| | Inferred | Consistent with observations but not yet tested against competing explanations. | | |
| | Hypothesis | A proposed behavior or mapping awaiting evidence. | | |
| | Unknown | Explicit unanswered question; linked to a TODO or investigation. | | |
| Initial static findings are in [FINDINGS.md](FINDINGS.md). Inventory files preserve the evidence identifiers needed to reproduce them. No original executable was launched in this planning pass; there are no runtime measurements, packet captures, recovered gameplay functions, or completed behavioral specifications yet. | |
| ## Finding record template | |
| ```text | |
| Finding ID: F-XXX or subsystem-specific prefix | |
| Title: | |
| Status and confidence: | |
| Reference version and input SHA-256: | |
| File/archive/member, offset, instruction address, or captured event: | |
| Question and competing hypotheses: | |
| Method, tool version, and exact reproducible command: | |
| Environment: OS, architecture, GPU, driver, cvars, map, gametype: | |
| Observations: raw values, units, timestamps, screenshots/traces: | |
| Conclusion and limitations: | |
| Dependencies and related findings: | |
| Specification/rule updated: | |
| Implementation task IDs: | |
| Validation fixture IDs and expected result/tolerance: | |
| Remaining questions and next experiment: | |
| ``` | |
| Keep raw evidence distinct from interpretation. A QVM address is module hash plus instruction index and byte offset, not a native executable address. A native address needs the binary hash, architecture, image-relative address, and any relocation/load base. Cross-reference both when a syscall connects them. | |
| ## Specification template | |
| ```text | |
| Subsystem and reference version: | |
| Inputs/outputs and units: | |
| State and invariants: | |
| Initialization and shutdown: | |
| Update order, timing, ownership, and authority: | |
| Algorithms, formulas, constants, and rounding: | |
| Events and transitions: | |
| Configuration/commands and permissions: | |
| Asset/API/protocol dependencies: | |
| Boundary cases, errors, original quirks: | |
| Observed vs inferred statements and evidence IDs: | |
| Conformance fixtures, acceptance tolerances, and platform matrix: | |
| Approved intentional differences: | |
| ``` | |
| ## Registers to grow during implementation | |
| These are proposed future paths, not claims that the files already exist: | |
| - `docs/research/architecture.md`, `engine-services.md`, `qvm-abi.md`, `movement.md`, `collision.md`, `weapons.md`, `damage.md`, `gametypes.md`, `entities.md`, `bots.md`, `network-protocol.md`, `demos.md`, `rendering.md`, `audio.md`, `ui.md`, `commands-and-cvars.md`, `platforms.md`, `services.md`. | |
| - `docs/research/findings/` for individual evidence-backed findings and unresolved questions. | |
| - `docs/decisions/` for architecture decisions: Bevy/Solari versions, unit transforms, asset schemas, animation strategy, physics, networking, rendering tiers, interoperability, services, rights/distribution, and supported hardware. | |
| - `docs/coverage/` for subsystem, command/cvar, opcode/syscall, entity, material-directive, asset, weapon, gametype, map, and compatibility matrices. | |
| - `docs/coverage/file-analysis.tsv` for every standalone file and every archive-member variant, including obsolete/overridden/auxiliary content; key by archive identity, original member path, occurrence index, and content hash. | |
| - `docs/validation/` for reference traces, differential outcomes, reproduction instructions, platform results, and benchmarks. Store bulky captures outside Git and reference them by hash and retrieval location. | |
| ## Task completion record | |
| For each checked task, record task ID, produced file/tool/specification, associated finding IDs, verification command or experiment, result, and remaining limitations. Do not check a behavior task because a guessed constant was implemented. Do not check a conversion task while required assets have unreported fallbacks. New evidence that contradicts an existing finding reopens affected tasks and records the correction. | |
| Document inspection tooling used in this pass: Python standard library (`pathlib`, `zipfile`, `struct`, `hashlib`, `csv`, `collections`, regex), including structural ELF/PE import-table reads, and macOS `file`, `strings`, and `otool -L`. One-off inspection generated the saved inventories; that original planning pass did not yet include reusable scripts. The 2026-10-11 extraction and [binary research pipeline](research/README.md) now implement repeatable tooling and tests. Their reports retain unresolved candidates and do not constitute runtime measurements. | |
| ## 2026-10-11 β VM extension follow-up | |
| Completed RE-211β213: extra entry command evidence, six QVM network/auth call-site cross-references, and selected Linux ELF64 native helpers. Findings F-028/029 and ABI-001β003 are documented in [VM_EXTENSIONS.md](research/VM_EXTENSIONS.md). `analyze_vm_extensions.py` verifies source/disassembly hashes and emits a deterministic focused report; five new fixture/boundary tests pass. Native command scanning includes tail calls and rejects local candidates after intervening control transfers/register writes. Reports retain broader limitations and unresolved routing, error paths, helper semantics and all-platform coverage. Originals remain in ignored cache; no original binary or QVM was run. | |
| ## 2026-10-11 β Native metadata follow-up | |
| Completed static milestones RE-214β216 with `analyze_native_metadata.py`: all 4,753 Mach-O STABS records retained, 1,018 paired function ranges hashed, nine Windows resource leaves preserved by variant, string slots decoded, icon group reconstructed and unexpected image extents recorded. Findings F-030/031 and META-001β003 distinguish structural recovery from source matching or rendering semantics. Seven tests cover malformed structures and real function/resource reconstruction. New derived binary evidence stays under Xet-filtered assets; originals remain in ignored cache. RE-217/218 track icon surplus rendering and uncovered byte regions. | |
| ## 2026-10-11 β Byte reconciliation and authentication drop boundary | |
| Completed RE-218β220 with `analyze_native_coverage.py` and `analyze_auth_drop.py`: bounded byte partitions explain all SDL text gaps and resource-tree bytes; focused native/QVM evidence recovers broadcast/disconnect parameters, invalid-index zero returns and deferred versus immediate caller branches. F-032/033, COV-001/002 and AUTH-001/002 retain source hashes and limitations. Seven new tests verify interval accounting, malformed bounds, guard convergence, result-preserving epilogues, bounded literals and supplied fixtures. Static literal scanning excludes nonallocated ELF sections to avoid interpreting small numeric constants as offsets into compiler-comment sections. No original game code was executed. | |
| ## 2026-10-11 β Deferred authentication drops | |
| Completed static milestones RE-222β224: copy-count/final-NUL behavior, invalid-input error-service chain, eight direct pending-field references and sentinel/timestamp transitions, strict signed elapsed > 100 consumer. `analyze_deferred_auth.py` emits source-hashed functions/native cases and bounded synthetic-memory traces; six tests check branch/copy boundaries and reject unsupported slices. Findings F-034/035 and DEF-001β003 distinguish these checks from runtime fixtures. An initial print-path interpretation of the diagnostic wrapper was corrected after tracing function 2319 through trap 1 to native Com_Error(1, ...). No game process or full QVM runtime was launched; tests only evaluate selected decoded instructions without entering callees. | |
| ## 2026-10-11 β Engine timing, errors and announcements | |
| Completed static milestones RE-227β229. `analyze_engine_control.py` retains ten native instruction graphs, timing/error windows, the full QVM announcement helper and synthetic gate traces. CTL-001β003/F-036β038 establish simulation millisecond units, native time guard, ordinary mode-1 frame abort and escalation/process exit paths, and one-shot authentication status announcements. Six tests verify syntactic CFG edge handling, native service targets, native tick/VM-command connection and synthetic gate behavior. Computed native jumps and call continuations remain explicitly provisional; no full game/VM execution or runtime conformance is claimed. | |
| ## 2026-10-11 β Frame elapsed, event sources and pause gates | |
| Completed bounded static milestones RE-232β234 with `analyze_frame_timing.py`: ten Linux ELF64 graphs, file-backed float constants and event tables, pause-assignment strings, inline frame windows and 64 decoded-native-instruction traces with synthetic cvar inputs. TIME-001β003 and F-039β041 record the clock distinctions, zero-timescale/camera behavior, elapsed caps, journal/event timestamp source and raw pause-count predicates. Seven tests check boundary outputs in both binaries, native table/constant identity, real trace addresses and rejection of unsupported domains. RE-231 stays open; new RE-235/236 retain layout and runtime questions. Original game code was not launched; the evaluator does not enter native callees. | |
| ## 2026-10-11 β Address-type semantics and event queue ownership | |
| Completed static milestones RE-237β239 with `analyze_event_queues.py`: sixteen Linux ELF64 graphs, queue symbol sizes, file-backed address labels, caller chains and 108 direct field references per image. EVT-001β003/F-042/043 resolve the pause field to address type, document bot exclusion and ordinary queue overflow/warning/reset paths, and establish Com_Milliseconds event preservation. Added a bounded raw-journal inspector with eight tests covering provenance/layout evidence, mixed synthetic records, truncation, negative/oversized payloads, limits and ambiguous symbols. RE-235/236 remain open; RE-240 tracks full ownership/wrap/runtime/platform recovery. No original executable or journal capture was run/produced. | |
| ## 2026-10-11 β Authentication role/status and output routing | |
| Completed bounded milestones RE-241β243 with `analyze_auth_announcements.py`: initialized-data jump tables, 18 label paths, nine recipient paths, diagnostic wrapper chain, Linux ELF64 trap-17 NULL broadcast selection/command-size boundary and all direct CONST-3200 references. ANN-001β003/F-044/045 distinguish text labels from permissions and literal scans from complete reset coverage. Extended the bounded QVM evaluator with restricted LSH and signed DIVI; seven tests check tables, recipients, native boundaries and invalid arithmetic/table inputs. Formatting/copy callees remain unexecuted with explicit placeholder return values. RE-230 remains open and RE-244 records remaining caller/layout/global/reset/runtime requirements. | |
| ## 2026-10-11 β Main game cvars and announcement callers | |
| Completed static milestones RE-245β247 with `analyze_game_cvars.py`: 126 main registry rows and registration argument traces, native register/update graphs, auth_verbosity integer mirror identity, three direct announcement callers and 11 verbosity references. CVAR-001β003/F-046/047 preserve empty defaults/raw flags and distinguish registration defaults from effective runtime policy. Six tests check complete row/call agreement, native bounds, verbosity/caller paths and malformed table/string inputs. RE-230/244 remain open; RE-248 records additional registration, policy, gate initialization and selector questions. No original runtime or formatting/registration callee was executed. | |
| ## 2026-10-11 β Cvar changes, corrections and additional registrations | |
| Completed bounded milestones RE-249β251 with `analyze_cvar_changes.py`: cache and row-word branches, notification format/bit-32 paths, the empty entry-2589 helper, 32 numeric setting fixtures, 28 direct registration sites and 23 constant argument traces. CHG-001β003/F-048/049 distinguish direct mirror edits from native set requests and retain exact string capitalization. Eight tests cover numeric boundaries, cached/NULL paths, notification selection, no-op helper evidence, registration coverage/wrapper metadata and 32-bit BAND semantics added to the bounded evaluator. RE-248 remains open; RE-252 records other settings/gear/configstring/runtime work. No original executable/full QVM or callee was executed. | |
| ## 2026-10-11 β Authentication selectors, command policy and internal mode | |
| Completed bounded milestones RE-253β255 with `analyze_auth_queries.py`: numeric/name selector branches, actual cleanup/substring byte loops, role jump table/preconditions, two query dispatch routes, 24 mode references/eight literal writers and disabled/public/private/notoriety/address-failure tails. QUERY-001β003/F-050β052 distinguish substring policy from actual command recognition and internal mode from the auth cvar. Eight tests cover these boundaries plus malformed/missing byte reads and step limits. Extended the bounded evaluator with optional isolated byte memory, LOAD1/SEX8/NEGI and in-place byte writes while preserving existing report schemas when byte memory is absent. RE-248 remains open; RE-256 records parser/copy/match bounds, mode lifetime, trust and end-to-end runtime work. No original game/full QVM or recorded callee was executed. | |
| ## 2026-10-11 β Selector parsing/storage and native entry routes | |
| Completed bounded milestones RE-257β259 with `analyze_selector_bounds.py`: 18 actual integer-helper traces, digit/parser/bounds compositions, name-copy calls and explicitly modeled truncation/cleanup compositions, match-list insertion boundaries, sv_maxclients initialization/109 literal references, QVM entry tables, chat argument/mode slices and ten native graphs. BND-001β003/F-053β055 distinguish evaluator arithmetic from interpreter/JIT conformance and normal count evidence from a complete safety invariant. Eight tests include independent modular arithmetic, byte/step/LEAVE bounds and cross-layer call evidence. The evaluator adds opt-in operand-stack capture and bounded LEAVE stopping without implementing VM frame unwinding. RE-256 remains open; RE-260 records arithmetic, count lifetime, filtering and chat-mode runtime work. No original process/full QVM/native libc call was executed. | |
| ## 2026-10-11 β Native command filters and bounded chat paths | |
| Completed bounded milestones RE-261β263 with `analyze_chat_paths.py`: paired native command tables, admission/sanitizer/limit graphs/constants, token-join boundary slices and recipient front gates. CHAT-001β003/F-056/057 retain supplied token lengths/team-helper results and distinguish static native graphs from runtime execution. Seven tests cover join separators/NUL, recipient predicates, paired metadata and malformed native string bounds. Corrected the preceding selector analyzer/report/fixtures and BND-003/F-055 notes: local 3356 is the third incoming argument, not channel mode at 3352; all observed chat callers pass zero third argument. RE-260 remains open and RE-264 tracks complete native/chat lifecycle/filter/format/runtime behavior. No original process/full QVM/callee executes. | |
| ## 2026-10-11 β Dead-chat policy, formats and delivery calls | |
| Completed bounded milestones RE-265β267 with `analyze_chat_delivery.py`: raw flag predicates, 512 dead-chat decision paths, five-entry mode table, exact formatter arguments/control strings, recipient-slot arithmetic and echo/fanout call traces. DEL-001β003/F-058β060 retain provisional field identities and explicit zero callee-return placeholders. Seven tests check branch destinations, policy distinctions, raw field alternatives, format arguments, control bytes and delivery call topology. RE-264 remains open; RE-268 tracks text expansion, raw-field/global lifetime, client consumption and full runtime/platform output. No original process/full QVM or recorded callee was executed. | |
| ## 2026-10-11 β Chat expansion states and substitution keys | |
| Completed bounded milestones RE-269β271 with `analyze_chat_expansion.py`: parser length/marker/prefix/tail paths, twelve key comparisons and byte-loop fixtures, 36 health/four hp cases and three momo NULL/write/wrap paths. EXP-001β003/F-061β063 distinguish supplied lengths/lookup returns from executed callees, capacity from preservation, and >=3 health death predicates from ==3 delivery predicates. Seven tests cover exact key evidence, comparator bounds, character/return/tail routing, length gates, labels and side-effect writes. RE-268 remains open; RE-272 tracks full buffer/parser/substitution/ownership/runtime/platform composition. No original executable, full QVM or recorded callee executes. | |
| ## 2026-10-11 β Packed chat item fields and countdowns | |
| Completed bounded milestones RE-273β275 with `analyze_chat_items_time.py`: 32 ammo/60 weapon/82 timer slices, thirty file-backed name-word samples and nine game-item mode/bit paths. ITEM-001β003/F-064β066 retain NULL/duplicate samples, explicit table-extent uncertainty, cvar identity and expired-countdown fallback distinctions. Added restricted signed/unsigned right shifts and truncation-based signed remainder to the bounded evaluator. Eight tests check arithmetic failure domains, byte masks, sampled pointers/bounds, death overrides and countdown/type boundaries. RE-272 remains open; RE-276 tracks full producer/table/timer ownership and formatter/runtime/platform behavior. No original process/full QVM or recorded callee executes. | |
| ## 2026-10-11 β Team leader and location lookup paths | |
| Completed RE-277β279 bounded/static milestones with `analyze_chat_locations.py`: six leader scans, three name chains, five cache boundaries, two wrapper returns, four registration paths, literal-reference windows and file-backed box extents. LOC-001β003/F-067β069 separate executed synthetic integer slices from retained floating-point/engine spatial code and distinguish upstream ABI candidates from native proof. Seven tests check first-match/nonzero semantics, strict expiry, failure/success formatting requests, guard/filter/numbering/reverse links and static spatial constants/branches. RE-272 remains open; RE-280 tracks writers/ownership/reset/geometry/client/runtime/platform composition. No original process/full QVM or recorded callee executes. | |
| ## 2026-10-11 β Crosshair geometry and result routing | |
| Completed bounded milestones RE-281β283 with `analyze_chat_crosshair.py`: five dead gates, three origin/height cases, five supplied cardinal basis/endpoint cases, exact trace arguments, three result paths and three isolated comparison-return paths. AIM-001β003/F-070β072 separate finite straight-line binary32 arithmetic from native trig/collision and explicit zero callee-return placeholders. Eight tests check basis/origin/endpoints, seven-word ABI requests, exact-one status and temporary writes, fallback predicates and fail-closed float/memory/opcode/copy bounds. Added a separate restricted arithmetic evaluator without expanding the integer evaluator's domain. RE-272/280 remain open; RE-284 tracks full layout/float/temporary-object/output/runtime/platform contracts. No original process/full QVM or recorded callee executes. | |
| ## 2026-10-11 β Native trig/spatial service and pointer evidence | |
| Completed bounded/static RE-285β287 with `analyze_native_spatial.py`: ten complete case paths, twelve helper graphs, eighteen synthetic VM_ArgPtr instruction traces, explicit zero-fill extent origin, file-backed trace constants and capacity warning strings. NAT-001β003/F-073β075 confirm shipped Linux service destinations while retaining all-platform/runtime uncertainty and the distinction between zero-fill initialization and observed runtime contents. Seven tests check mappings/float transport, conversion counts, pointer branches/failure bounds, case boundaries and spatial static gates/copy/index evidence. RE-284 remains open; RE-288 tracks VM allocation, complete collision/PVS/tree/layout and original-runtime/platform requirements. No original process or native callee executes. | |
| ## 2026-10-11 β Native collision candidate and result decisions | |
| Completed bounded/static RE-289β291 with `analyze_native_collision.py`: ten native graphs, CM_Trace windows, 256 first-lane filter and 64 result-decision instruction probes. HIT-001β003/F-076β078 distinguish content overlap from nonzero contents, status updates from strict hit replacement and static copy/model routes from executed geometry. Seven tests check paired raw predicates, sentinel/contents behavior, finite fraction ties/status effects, retained model/producer/copy evidence and probe failure domains. RE-288 remains open; RE-292 tracks all lanes, copy/status composition, layout/producers/geometry/runtime/platform requirements. No original process or native collision callee executes. | |
| ## 2026-10-11 β Collision copy/status and world-result composition | |
| Completed bounded RE-293β295 with `analyze_collision_composition.py`: paired clip/trace graphs, 216 complete merge/copy slices spanning three lanes and twelve world-result decisions. MIX-001β003/F-079β081 retain supplied geometry results, raw noncanonical prior-bit fixtures and exceptional/runtime limits. Added a separate restricted byte-addressed evaluator for overlapping native 32/64-bit copies, OR/status branches and register alias behavior. Eight tests check final words, lane agreement, tie retention, copy canaries, world sentinels/zero decisions, register/byte aliasing and failure domains. RE-292 remains open; RE-296 tracks full loop scheduling, producer/layout/sentinel/geometry/runtime/platform behavior. No original process or collision callee executes. | |
| ## 2026-10-11 β Entity-clipping loop and sentinel normalization | |
| Completed bounded RE-297β299 with `analyze_collision_loop.py`: paired verified graphs, 72 entry/20 normalization/360 continuation slices and 70 scheduling compositions, including supplied counts 1023/1024. LOOP-001β003/F-082β084 distinguish equality-only count guards from a proven runtime safety invariant and pass lookup requests from executed callees. Added restricted signed TEST/CMP branches, simple LEA/ADDQ/low-byte tests and opt-in register capture to the byte evaluator. Eight tests independently check parity/order/counter/pointer/status/sentinel behavior, paired outputs, flag preservation and ambiguous/unmodeled inputs. The full suite passes 206 tests; old/new collectors regenerate byte-identical reports, documentation links and storage policy checks pass. RE-296 remains open; RE-300 tracks count/order/lookup ownership, candidate/callee state and full collision/runtime/platform coverage. No original process, area query, entity lookup or collision callee executes. | |
| ## 2026-10-11 β Entity addressing and area-query boundaries | |
| Completed bounded/static RE-301β303 with `analyze_area_queries.py`: ten verified native graphs, 64 direct/24 reverse address traces, two registration slices, 432 overlap/48 insertion slices and 48 split compositions. AREA-001β003/F-085β087 distinguish registered game stride from fixed server stride, closed box overlap from strict tree splits, and equality guards from established safety. Eight tests check independent arithmetic/geometry/capacity/order oracles, registration widths, paired results and unknown/exceptional flag/address domains. The byte evaluator adds RIP/scaled addresses, multiply/sign-extension/shift/subtract/qword-test and finite comparison branches, with unmodeled flags rejected. The full suite passes 214 tests; new and prior collision reports regenerate byte-identically, and storage policy/documentation link checks pass. RE-300 remains open; RE-304 tracks complete registration/node/list/callee/count ownership, geometry/runtime and platform behavior. No original process, recursive query or recorded native callee executes. | |
| ## 2026-10-11 β Sector construction and entity link ownership | |
| Completed bounded/static RE-305β307 with `analyze_world_links.py`: eight verified graphs, six explicit constructor compositions, 32 local allocation/depth slices, 128 link and 14 unlink slices. LINK-001β003/F-088β090 distinguish normal depth-zero topology from supplied out-of-range counter aliasing, strict parent placement from inclusive overlap, and stale next links from membership. Eight tests check independent topology/list/order/state oracles, paired outputs, float rounding/flag preservation and bounded cycle failures. The byte evaluator adds CMPQ/CLTQ/SHLQ and finite scalar SSE arithmetic/SETBE/JBE. The full suite passes 222 tests; new and prior collision/area reports regenerate byte-identically, and storage/documentation links pass validation. RE-304 remains open; RE-308 tracks bounds/BSP metadata, reset/lifetime/relink ownership, full queries/collision order and original-runtime/platform behavior. No original process or native callee executes. | |
| ## 2026-10-11 β Entity bounds, leaf-return gates and inline removal | |
| Completed bounded RE-309β311 with `analyze_link_bounds.py`: six verified graphs, file-backed margin/mask constants, 180 finite bounds/radius compositions, twelve supplied leaf-return slices and fourteen inline removals. BOUNDS-001β003/F-091β093 distinguish scalar radius composition from geometry execution, capacity requests from actual return bounds, and owned-removal agreement from the NULL-owner precheck difference. Eight tests check independent rounded bounds, model/angle gates, metadata/request/gate evidence, paired outcomes, removal state and scalar vector/float failure domains. The evaluator adds lower-lane ANDPS/MAXSS/SQRTSS/register MOVAPS and selected 32-bit logical/subtraction operations. The full suite passes 230 tests; new and prior collision/area/tree reports regenerate byte-identically, and storage/documentation link checks pass. RE-308 remains open; RE-312 tracks full metadata/BSP/packed fields, producers/lifetime/relink/float environment and whole runtime/platform behavior. No original process or recorded native callee executes. | |
| ## 2026-10-11 β Leaf metadata loops and output contracts | |
| Completed bounded/static RE-313β315 with `analyze_leaf_metadata.py`: ten verified graphs, 208 complete area/cluster compositions, sixty guarded accessors and 72 callback probes. META-001β003/F-094β096 distinguish first/second replacement from a set, cluster duplicates from unique IDs, and stored count/overflow/last-leaf outputs. All observed unrolled service sites are exercised; diagnostic/callee returns are supplied and accessor PUSH/POP omission is explicit. Eight tests verify independent loop/guard/store/order oracles, paired results, signed comparison/sign/NOT/NOP semantics and fail-closed operations. The full suite passes 238 tests; new and prior reports regenerate byte-identically, and storage/documentation link checks pass. RE-312 remains open; RE-316 tracks full traversal/plane/layout/loading/output ownership, consumers and runtime/platform behavior. No original process or native callee executes. | |
| ## 2026-10-11 β Native BSP plane boundaries and root traversal | |
| Completed bounded RE-317β319 with `analyze_bsp_planes.py`: four hash-verified native graphs, two verified eight-entry jump tables, 124 plane classifications, ten node-entry and eight single-node traversal slices. PLANE-001β003/F-097β099 distinguish axial/general maximum-face equality, finite corner classification from arbitrary rounding, and local node order from complete recursion. Eight independent tests check geometry/table/order/paired outcomes and evaluator carry/byte/address semantics. The full suite passes 246 tests; new and preceding reports regenerate byte-identically, storage and documentation checks pass. RE-316 remains open; RE-320 tracks loading/ownership, complete unrolled/recursive/callback composition, actual maps, float environment and runtime/platform conformance. No original process or native callee executes. | |
| ## 2026-10-11 β Native BSP payload loading | |
| Completed bounded RE-321β323 with `analyze_bsp_loading.py`: eight verified graphs, six header descriptor-routing slices, 72 supplied-allocation plane/node/leaf payload conversions and corresponding allocation-size slices. LOAD-001β003/F-100β102 distinguish disk/native records, +1 type priority from unit-normal validation, signed plane-pointer construction from valid indices, and projected leaf words/maxima from complete ownership. Eight independent tests cover field copies/type/sign/padding, signed pointers/children, leaf projection/maxima, allocation/routing arithmetic, exact byte writes, paired outputs and restricted byte/conditional/signed-branch evaluator semantics. The full suite passes 254 tests; current and preceding reports regenerate byte-identically, storage and documentation checks pass. RE-320 remains open; RE-324 tracks complete validation/reset/allocator/spare-record/reference/portal contracts, actual BSP variants, full traversal and runtime/platform behavior. No original process, allocator or native callee executes. | |
| ## 2026-10-11 β Leaf reference arrays and area portal state | |
| Completed bounded RE-325β327 with `analyze_bsp_references.py`: sixteen verified native graphs, 48 reference-copy and 48 consumer-address slices, 450 connectivity and 800 portal probes. REF-001β003/F-103β105 distinguish standalone copying from inline map loading, native signed address calculations from valid indices, supplied label equality from flood generation, and directed reference counters from Boolean portal state. Portal frame omission and all stopped callee boundaries are explicit. Eight independent tests verify copies/allocation/canaries, signed addressing, connectivity guard priority, full sampled matrix/write/error/epoch/request outcomes, self-pairs, prior-loader slots, paired outputs and low-byte aliases. The full suite passes 262 tests; new and preceding reports regenerate byte-identically, storage and documentation checks pass. RE-324 remains open; RE-328 tracks inline/range/layout/geometry/flood/lifecycle/snapshot and runtime/platform coverage. No original process, allocator or native callee executes. | |
| ## 2026-10-11 β Area flood composition and visibility bits | |
| Completed bounded RE-329β331 with `analyze_area_flooding.py`: eight verified graphs, 108 flood compositions, eighteen mutable portal-update steps, 48 entry revisit/24 epoch probes and 168 area-bit outputs. FLOOD-001β003/F-106β108 distinguish evaluated synthetic recursion from original ABI/callee execution, generated sampled labels from all-graph conformance, epoch arithmetic from legal lifecycle reachability and byte OR from buffer initialization. PUSH omission, caller-register restoration and supplied memset effects are explicit. Eight independent tests verify component/sequence/revisit/epoch/bit/canary/paired/slot oracles and restricted signed-branch/shift/byte operations. The full suite passes 270 tests; new and preceding reports regenerate byte-identically, storage and documentation checks pass. RE-328 remains open; RE-332 tracks complete error/lifecycle/asymmetric/portal-writer/area-bit/snapshot/real-map and runtime/platform coverage. No original process or native callee executes. | |
| ## 2026-10-11 β Snapshot area-mask lifecycle | |
| Completed bounded RE-333β335 with `analyze_snapshot_areas.py`: ten verified graphs, sixteen ring/reset probes, 180 native area-union/complement compositions, twelve serialization and two recursive-argument probes. SNAP-001β003/F-109β111 distinguish mask reset from complete frame initialization, supplied viewpoint union from real portal/PVS/entity selection, full-buffer complement from transmitted span, and writer requests from actual encoded packets. Helper caller-register restoration, supplied labels/cluster returns/memset effects and every stopped CALL boundary are explicit. Eight independent tests verify ring/reset/retained-length, union/complement/tail/canary, caller/recursive/serialization arguments, paired outcomes and trace boundaries. The full suite passes 278 tests; new and preceding reports regenerate byte-identically, storage and documentation checks pass. RE-332 remains open; RE-336 tracks complete snapshot/lifecycle/capacity/viewpoint/codec/client/renderer/protocol and real-map/runtime/platform coverage. No original process or native callee executes. | |
| ## 2026-10-11 β Client snapshot mask parsing and reader boundaries | |
| Completed bounded RE-337β339 with `analyze_client_masks.py`: three verified Linux client graphs, one reset-argument slice, 22 unsigned guard probes, 210 signed byte-reader probes and 53 unrolled data-reader compositions. CLIENT-001β003/F-112β114 distinguish reset requests from supplied memset effects, EOF return words from low-byte 0xff, signed cursor comparison from actual bit/Huffman cursor updates, and exact destination copying from full snapshot publication. PUSH/POP omission and stopped helper boundaries are explicit; no original process or native callee executes. Eight independent tests check reset/guard/error arguments, signed returns, copy/EOF continuation/tail/canaries/loop coverage, trace boundaries and evaluator CMOVLEL/BL/unknown-flag behavior. The full suite passes 286 tests. New and preceding spatial reports regenerate byte-identically; storage, links and whitespace checks pass. RE-336 remains open; RE-340 tracks actual codecs/cursors, bad-message checks, full validation/publication, renderer semantics and real-packet/map/original-runtime/all-platform coverage. | |
| ## 2026-10-11 β Message read modes and bit assembly | |
| Completed bounded RE-341β343 with `analyze_message_bits.py`: eight verified graphs across both Linux ELF64 engines, eight exact reset probes, 600 OOB and 688 compressed reader compositions. BITS-001β003/F-115β117 distinguish padded backing storage from cursize, direct OOB loads from compressed cursors, composed raw-bit instructions from supplied Huffman symbols/code lengths, and requested signed width from the mutated width used by the tail. Nonbyte and 32-bit signed-tail effects are recorded without assuming legal packet reachability or cross-platform equivalence. Prologue/frame omission and explicit caller-register restoration are documented; original processes and every native callee remain unexecuted. Eight independent tests verify reset fields/canaries, dispatch/errors, little-endian/sign/cursor results, raw/symbol assembly, helper arguments/global writes, cursor formula, signed edge examples, paired outputs and restricted MOVZWL/NEGL/SHRL evaluator behavior. All 294 tests pass; new and preceding reports regenerate byte-identically, and storage/link/whitespace checks pass. RE-340 remains open; RE-344 tracks Huffman initialization/tree/codebooks/receive/transmit/put-bit, actual writer/reader packets, legal width/mode/cursor callers and full runtime/platform/snapshot/renderer conformance. | |
| ## 2026-10-11 β Raw-bit helpers and supplied Huffman trees | |
| Completed bounded RE-345β347 with `analyze_huffman_helpers.py`: ten verified graphs across the Linux ELF64 engines, 288 bit-write probes, 64 raw bit-stream round trips, 352 supplied-tree receive and 72 transmit-boundary probes. HUFF-001β003/F-118β120 distinguish byte-start clear from partial-byte OR, raw round trips from real Huffman encoding, supplied-tree traversal from initialized codebooks, null-path global advances from caller cursor publication, and transmit lookup/arguments from execution of send. Virtual backing storage, arbitrary/non-Boolean/signed inputs and leaf symbols remain explicit local probes. Transmit PUSH omission and stopped CALL boundaries are documented; no original process or native callee executes. Eight independent tests verify mutation/canaries/wrap/global writes, independent bit packing, node-table walks and null cursors, leaf words, signed lookup/request arguments, paired outputs and call boundaries. All 302 tests pass; new and preceding reports regenerate byte-identically, and storage/link/whitespace checks pass. RE-344 remains open; RE-348 tracks full recursive/unrolled send, adaptive initialization/frequencies/tree/codebooks, message/packet compositions and legal input/cursor/tree/runtime/all-platform invariants. | |
| ## 2026-10-11 β Bounded Huffman send and symbol streams | |
| Completed bounded RE-349β351 with `analyze_huffman_encoding.py`: six verified graphs across the Linux ELF64 engines, 720 supplied-path send compositions, 192 symbol round trips and thirty shared-tree streams. ENC-001β003/F-121β123 distinguish root-order code bits from LSB byte packing, dirty partial-byte retention from byte-start clearing, nine-edge unrolling from explicit recursive virtual frames, supplied codebooks from actual initialized game trees, and symbol round trips from full message/packet conformance. Frame prologues/epilogues and wrapper PUSH/POP are excluded explicitly; full caller-register restoration and disjoint virtual stacks preserve child memory effects across stopped CALL boundaries. No original process or native callee executes. Eight independent tests verify packing/canaries/cursors, recursion thresholds, parent-child tree consistency, transmit/receive symbols, repeated streams, zero-depth/empty cases, recomposed call-free traces and paired results. All 310 tests pass; new and preceding reports regenerate byte-identically, and storage/link/whitespace checks pass. RE-348 remains open; RE-352 tracks adaptive initialization/node allocation/rank/swaps/frequencies/codebooks, actual message/packet composition, legal inputs/capacity/truncation and ABI/runtime/all-platform/snapshot/renderer coverage. | |
| ## 2026-10-11 β Native Huffman frequencies and initialization | |
| Completed bounded RE-353β355 with `analyze_huffman_initialization.py`: eight verified graphs across the Linux ELF64 engines, two identical file-backed 256-count frequency tables, four empty-tree initialization probes and eight seed-loop compositions. INIT-001β003/F-124β126 distinguish actual table extraction from generated conceptual schedule digests, supplied memset effects from native clear execution, exact sparse initial/NYT layouts from trained trees, pointer-slot asymmetry from inferred list semantics, and bounded paired addRef requests from adaptive updates. The tables total 1,053,340 repetitions per tree; their implied 2,106,680-request schedule is not evaluated as a full native training trace. The bounded schedules retain 1,068 stopped requests with explicit caller-register retention. PUSH omission and POP/RET/callee boundaries are documented; no original process or native callee executes. Eight independent tests verify frequencies/hash/summary, separately generated conceptual request digest, entry flag/init arguments, ascending paired schedules, clear spans/canaries, full sparse layouts, trace boundaries and paired results. All 318 tests pass; new and preceding reports regenerate byte-identically, and storage/link/whitespace checks pass. RE-352 remains open; RE-356 tracks addRef/increment/swaps/block/freelist effects, actual trained trees/codewords, full packet/message codecs and legal/runtime/all-platform invariants. | |
| ## 2026-10-11 β Adaptive Huffman insertion and recursive updates | |
| Completed bounded RE-357β359 with `analyze_huffman_updates.py`: four verified graphs across the Linux ELF64 engines, 22 adaptive sequences, twelve low-byte existing-entry dispatch probes and two null-increment probes. UPDATE-001β003/F-127β129 distinguish byte normalization from transmit's signed lookup, new leaf/internal insertion from reuse, sampled Counter/subtree/rank/head/freelist invariants from exhaustive tie/swap coverage, and actual source-matched initial bytes from full game-seed training. Composed sequences include every byte once, yielding 513 reachable nodes and fifteen allocated pointer cells; recursion reaches depth eight. Prefix states are retained for sequences up to 24 steps, with complete final states for longer cases. increment PUSH omission, stopped POP/RET/CALL boundaries and explicit recursive caller-register restoration are documented; no original process or native callee executes. Eight independent tests verify allocation/lookup/counts, tree/parent/subtree invariants, rank/reverse links, shared leaders, live/free cell partition/reuse, aliases/dispatch, null/recursive traces and paired results. All 326 tests pass; new and preceding reports regenerate byte-identically, and storage/link/whitespace checks pass. RE-356 remains open; RE-360 tracks branch-complete tie/swaps, second-object equivalence, malformed/alias/capacity/wrap states, efficient exact seed-trained codebook reconstruction and actual message/packet/runtime/all-platform contracts. | |
| ## 2026-10-11 β Differential Huffman recoding and provisional seeded codebook | |
| Completed bounded RE-361β363 with `huffman_model.py` and `analyze_huffman_codebook.py`: compact observed update recoding, complete prior-state comparisons (152 retained prefixes plus 22 final cases), sixteen fresh first/second-object cases (288 native-prefix comparisons), exact native-frequency model training and eight native-helper symbol round trips against the modeled tree. CODE-001β003/F-130β132 distinguish sampled state equivalence from branch-complete/runtime equivalence, retained second-object slot asymmetry from normalization, and MODEL-DERIVED seeded trees/codewords from full native training or runtime captures. The 1,053,340-operation model schedule yields 513 nodes, 493 allocated cells (489 live/four free), 257 prefix-free leaf codes with lengths 2β11, and explicit state/codebook/source/report hashes. All 256 model symbol checkpoints validate tree/count/rank/leader/pool invariants. Native transmit/send/receive instruction compositions agree with independent modeled-codeword packing, including every byte value; no original process or native callee executes. Eight tests verify prior/fresh differentials, sampled event classes, modeled training counts/checkpoints, independent tree/codeword/Kraft checks and native-helper bytes/symbol/cursor/canary/paired results. All 334 tests pass; new and preceding reports regenerate byte-identically, and storage/link/whitespace checks pass. RE-360 remains open; RE-364 tracks full native-seed/codeword validation, authoritative/runtime comparison, complete tie/swap/alias/capacity/wrap/platform coverage and actual message/packet/snapshot/renderer contracts. | |
| ## 2026-10-11 β Message writer guards and modeled-tree byte codec | |
| Completed bounded RE-365β367 with `analyze_message_byte_codec.py`: ten verified graphs across the Linux ELF64 engines, 576 writer guard/range probes and 36 compressed byte streams. BYTE-001β003/F-133β135 distinguish requested-width oldsize accounting from compressed bit lengths, the early signed space guard from later width errors, the global range diagnostic from message overflow, and pre-normalization negative-width shifts from ordinary signed-range expectations. Byte streams compose writer/transmit/send and reader/receive against relocated MODEL-DERIVED seed trees; independent codeword packing verifies payloads, decoded low bytes and every per-byte cursor. Exact byte boundaries retain an extra size/readcount byte, zero only because these supplied buffers are initialized to zero. Save/restore omission, stopped CALL boundaries and explicit caller-register restoration remain documented; no original process or native callee executes. Eight tests verify guard priority/accounting, width normalization, signed range diagnostics, independent payload/cursor packing, low-byte conversion/canaries, extra-byte boundaries, helper arguments and paired results. All 342 tests pass. New and preceding reports regenerate byte-identically; storage, links and whitespace checks pass. RE-364 remains open; RE-368 tracks general raw/signed/multi-byte/OOB and wrapper/snapshot codecs, capacity/overflow/reset/truncation/EOF/padding invariants, real native full-training codewords and actual packet/original-runtime/all-platform/snapshot/renderer contracts. | |
| ## 2026-10-11 β Message initialization, OOB and mixed-width codecs | |
| Completed bounded RE-369β371 with `analyze_message_widths.py`: twenty verified graphs across the Linux ELF64 engines, 24 initialization probes, four clear probes, 78 OOB probes and 328 compressed writer/reader compositions. WIDTH-001β003/F-136β138 distinguish warm 40-byte record reset from the cold first Huff_Init boundary, clear's overflow/size/bit reset from retained readcount/mode/data/maxsize, and direct OOB byte accounting from compressed size/readcount. Accepted OOB widths emit low bytes little-endian; all positive compressed widths 1β32 and selected negative widths compose raw-bit remainder followed by modeled-tree Huffman bytes. Independent packing verifies exact payloads and cursors; generated writer bytes confirm the reader's mutated-width signed tail. The seeded tree remains MODEL-DERIVED. Prologue/epilogue omissions, stopped CALL boundaries and explicit caller-register restoration are documented; no original process or native callee executes. Eight tests verify initialization/cold boundary/canaries, clear retention, OOB errors/endian/sign/cursors, raw/symbol requests, independent packing, signed tails/diagnostics/accounting, paired outcomes and narrow MOVW/BX/implicit-one shift evaluator support. All 350 tests pass; new and preceding reports regenerate byte-identically, with storage/link/whitespace checks passing. RE-368 remains open; RE-372 tracks wrappers/string/float/angle/delta/entity/player/snapshot codecs, capacity/overflow/allowoverflow/reset/truncation/EOF/prefix/padding/legal-width invariants, native seeded codewords and actual packet/runtime/all-platform/renderer contracts. | |
| ## 2026-10-11 β Scalar message wrappers and data overflow | |
| Completed bounded RE-373β375 with `analyze_message_wrappers.py`: 22 verified graphs across the Linux ELF64 engines, 64 scalar OOB compositions, 1,280 supplied reader-tail probes and 300 data OOB compositions. WRAP-001β003/F-139β141 distinguish fixed positive wrapper widths from result signedness, post-read signed cursor/size comparisons from pre-read safety, and valid signed -1 words from EOF sentinels. Scalar compositions evaluate actual OOB writer/reader instructions against ample or guarded capacities; separate reader-tail probes supply return/count effects explicitly. WriteData composes each child OOB byte write, continuing all requests after space failure, retaining sticky flags even when ample writes proceed and counting every request in oldsize. Source/buffer bytes and canaries verify exact prefixes and unchanged tails; disjoint supplied wrapper/child frames and explicit caller-register retention preserve loop state. PUSH/POP and save/restore frames remain excluded/stopped; no original process or native callee executes. Eight independent tests verify forwarding/diagnostics, OOB bytes/cursors/post-read EOF, signed conversion/count comparisons, every data request, stored prefixes/cursors, overflow continuation/flag retention/canaries, paired outcomes and restricted AX/MOVSBL/MOVSWL evaluator support. All 358 tests pass; new and preceding reports regenerate byte-identically and storage/link/whitespace checks pass. RE-372 remains open; RE-376 tracks ReadData/compressed/string/float/angle/delta/entity/player/snapshot compositions, caller sentinel/alias/capacity/allowoverflow/reset/truncation/EOF/padding/legal cursor/length invariants, native seeded codewords and actual packet/runtime/all-platform/renderer contracts. | |
| ## 2026-10-11 β OOB data reads and message strings | |
| Completed bounded RE-377β379 with `analyze_message_strings.py`: sixteen verified graphs across the Linux ELF64 engines, 106 actual OOB data-read compositions, ninety string-read compositions, 120 string-write compositions and 24 supplied writer length-guard probes. TEXT-001β003/F-142β144 distinguish continued EOF data requests and 0xff stores from read safety, consumed NUL/newline/EOF termination from capacity termination, static output addresses from caller lifetime, and reader percent/high-byte replacement from writer high-byte-only replacement. Complete OOB capacity fixtures recover 1023/1023/8191-byte ordinary/line/big outputs, terminators, unread following bytes and canaries. Writer strlen returns and Q_strncpyz copy/NUL effects are supplied explicitly; native sanitation and byte requests compose OOB child stores, including overflow continuation. File-backed empty-byte offsets are retained; over-limit and signed low-word guard probes do not claim legal huge strings or library conformance. Save/restore/PUSH/POP omissions, disjoint virtual frames and explicit caller-register retention are documented; no original process or native callee executes. Eight independent tests verify data requests/cursors/EOF prefixes and tails, string termination/sanitation/capacity/pointers/control bytes, writer copy/NUL/capacity effects, signed length/empty-byte boundaries and paired outcomes. All 366 tests pass; new and preceding reports regenerate byte-identically, with storage/link/whitespace checks passing. RE-376 remains open; RE-380 tracks compressed/library/caller lifetime/alias/nonterminated/overflow/reset/truncation/cursor contracts, float/angle/delta/entity/player/snapshot codecs, native seeded codewords and actual packet/runtime/all-platform/renderer validation. | |
| ## 2026-10-11 β Float word transport and finite angle codecs | |
| Completed bounded RE-381β383 with `analyze_message_numeric.py`: fourteen verified graphs across the Linux ELF64 engines, 48 raw float OOB compositions, 360 supplied float-reader tails, sixty finite angle-writer compositions and 210 supplied angle16-reader tails. Thirty angle16 compositions also decode exact writer bytes through OOB ReadBits and angle16 instructions. NUM-001β003/F-145β147 distinguish raw float bit transport (including supplied nonfinite payload words, without arithmetic) from numerical conversion, the float EOF word -1.0 from angle16's -360/65536 fallback, and finite scaled/truncated/masked angle output from unrestricted numeric/runtime behavior. Four file-backed constants per engine retain exact bytes/offsets; signed low-word angle decoding uses binary64 scaling before binary32 return, yielding a signed quantized domain. Scalar evaluator extensions are restricted to DX and finite/int32 conversion and low-double operations; exceptional/unsupported conversions fail closed. Frame-save/restore/PUSH/POP omissions, stopped helper/tail boundaries and explicit caller retention are documented; no original process or native callee executes. Eight independent tests verify raw payload/EOF transport, signed cursor guards, constants, struct-rounded finite encoding, signed decoding/fallback, exact angle16 OOB compositions, paired outcomes and restricted conversion/fail-closed behavior. All 374 tests pass; new and preceding reports regenerate byte-identically, and storage/link/whitespace checks pass. RE-380 remains open; RE-384 tracks delta/key/float/usercmd/entity/player/snapshot codecs, angle callers/inlined byte decoding, compressed/nonfinite/out-of-range/MXCSR/FTZ/DAZ/caller/lifecycle/truncation/cursor contracts, native seeded codewords and actual packet/runtime/all-platform/renderer conformance. | |
| ## 2026-10-11 β Scalar deltas and modeled-tree compressed composition | |
| Completed bounded RE-385β387 with `analyze_message_delta.py`: 22 verified graphs across the Linux ELF64 engines, 296 compressed scalar delta streams and 48 supplied-reader control probes. DELTA-001β003/F-148β150 distinguish full-word integer equality/baseline retention from changed-width masking, finite float equality (including opposite signed zeros) from raw word equality, and local nonzero flag dispatch from legal one-bit decoder output. Changed float payloads retain raw words; unchanged reads retain baseline bits. Native delta/bit/raw/Huffman instruction slices compose exact bytes against MODEL-DERIVED seeded trees, with independent flag/remainder/codeword packing, decoded value, cursor, oldsize/range diagnostic and canary oracles. Source/disassembly identities and codebook/initialization report hashes are retained and verified. Frame saves/restores/PUSH/POP are omitted; stopped helper/tail boundaries, disjoint virtual frames and caller-register restoration are explicit. No original process or native callee executes, and finite comparison rejection does not specify native nonfinite behavior. Eight tests verify integer/float requests and equality, independent packing, changed signed tails, cursor/accounting/diagnostics/canaries, supplied nonzero flags, dependency hashes/paired outcomes and finite comparison model boundaries. All 382 tests pass; new and preceding reports regenerate byte-identically, with storage/link/whitespace checks passing. RE-384 remains open; RE-388 tracks keyed masks/XOR/table bounds, usercmd/entity/player/snapshot/caller contracts, remaining widths/aliases, compressed capacity/overflow/reset/truncation/EOF/padding/nonfinite control behavior, native seeded codewords and actual packet/runtime/all-platform/renderer conformance. | |
| ## 2026-10-11 β Keyed deltas, direct mask indexing and adjacent data | |
| Completed bounded RE-389β391 with `analyze_message_delta_key.py`: 22 verified graphs across the Linux ELF64 engines, two symbol/file-backed 32-word mask tables plus adjacent entityStateFields words, 288 compressed keyed streams and 48 supplied-reader control probes. KEY-001β003/F-151β153 distinguish comparison before XOR from keyed payload encoding, direct width indexing from an inferred width-minus-one mask, extra returned key bits from caller-visible effects, and width-32 adjacent file reads from a valid mask entry. Identical encoded width-32 integer streams can return different words between images because the adjacent low words differ; legal caller/index/narrowing/runtime reachability remains unverified. Finite keyed float payloads XOR the complete word and recover changed values; numeric equality/signed zeros retain baseline bits without using the integer mask table. Independent flag/remainder/modeled-codeword packing, exact decode formula, cursor/accounting/XOR-range diagnostic and canary oracles validate the sampled instruction compositions. Source/disassembly and dependency identities/hashes are retained; compressed trees remain MODEL-DERIVED. Frame saves/restores/PUSH/POP are omitted, stopped helper/tail boundaries and caller-register restoration are explicit, and no original process or native callee executes. Eight tests verify table/symbol/adjacent file bytes, keyed decisions/requests, float behavior, independent packing/cursors, integer decode masks, supplied flags, accounting/diagnostics/dependencies and paired payloads with source-specific width-32 results. All 390 tests pass; new and preceding reports regenerate byte-identically, with storage/link/whitespace checks passing. RE-388 remains open; RE-392 tracks caller widths/keys/narrowing/index reachability/runtime adjacent effects, usercmd/entity/player/snapshot codecs, remaining scalar/overflow/EOF/nonfinite controls, native seeded codewords and actual packet/runtime/all-platform/renderer contracts before Rust mask compatibility decisions. | |
| ## 2026-10-11 β Keyed usercmd timestamp, fields and compressed composition | |
| Completed bounded RE-393β395 with `analyze_message_usercmd.py`: 18 verified graphs across the Linux ELF64 engines and 204 compressed usercmd streams. CMD-001β003/F-154β156 recover signed timestamp short/full dispatch, timestamp-derived keys, aggregate and eight per-field gates, the observed 24-byte layout, signed movement XOR and byte-versus-word narrowing. Synthetic negative deltas can separate decoded/new timestamps and therefore reader/writer keys; legal caller time/key behavior and field semantic confirmation remain open. Actual mask8/mask16 bytes and native/disassembly/dependency hashes are retained. Byte stores discard the extra key bit while full-word stores retain it. Unchanged commands add seven directly to oldsize beyond requested widths. Compositions stop at child boundaries, omit PUSH/POP/save/restores and explicitly preserve caller registers across disjoint synthetic frames; trees remain MODEL-DERIVED and no original process/native callee executes. Eight independent tests verify timestamp boundaries/wrap, aggregate/per-field requests, complete decoded records, raw/codeword packing/cursors, accounting/diagnostics/canaries/source retention, file/dependency identities, paired outcomes and low-byte XOR support. All 398 tests pass. RE-392 remains open; RE-396 tracks caller keys/timestamps/legal domains, packet bundling/baselines, semantic confirmation, entity/player/snapshot tables/codecs, alias/truncation/EOF/overflow/reset behavior, native training and actual packet/runtime/all-platform/renderer contracts before Rust compatibility decisions. | |
| Validation: all preceding composition reports regenerated byte-identically; the new usercmd report reproduced twice byte-identically. Storage policy (including normal-Git size/filter setup), documentation links and whitespace checks pass. | |
| ## 2026-10-11 β Usercmd hash, caller keys and command bundles | |
| Completed bounded RE-397β399 with `analyze_usercmd_callers.py`: five verified graphs across both Linux ELF64 engines, 120 evaluated hash probes, 156 server count/key/chain probes, 128 client loop probes, 100 client count/opcode selection probes and six client key derivation probes. CALL-001β003/F-157β159 recover signed-byte weighted hashing and signed shift mixing, 32-byte hash-prefix requests in 128-slot reliable-string rings, full-word XOR keys, client command-count cap/opcode gates, 64-record command ring and server signed 1β32 gate. Client loops generate 2,112 stopped codec requests; server loops generate 1,308. Zero/previous-command baselines are verified by independent address formulas and supplied server child-output byte patterns. Semantic state names and actual producer/time/key domains remain provisional. Hash instructions evaluate supplied memory; caller hash returns and codec child outputs remain explicitly supplied, and client codecs stop at requests. No packet bytes, original process/native callee, netchan/VM/purity or runtime traffic executes. Nine independent tests verify hash arithmetic, server gates/keys/string rings/baseline bytes, every client count and wrapping, count/opcode selection, paired client/server keys and engine outcomes, and verified identities/boundaries. All 407 tests pass; storage, links and whitespace checks pass. RE-396 remains open; RE-400 tracks checksum-feed/acknowledgement/reliable-string producer semantics/sanitation, command generation/server timestamp acceptance/VM dispatch, complete codec/bundle/header/reliability/netchan compositions, real traffic/all-platform validation, entity/player/snapshot and Rust/Bevy/Solari goals. | |
| Validation: all preceding composition reports regenerated byte-identically; the new caller report reproduced twice byte-identically. Storage policy/filter setup, documentation links and whitespace checks pass. | |
| ## 2026-10-11 β Server usercmd gates, timestamp acceptance and game-VM requests | |
| Completed bounded RE-401β403 with `analyze_usercmd_acceptance.py`: four verified graphs across both Linux ELF64 engines, 48 post-decode state/purity gate probes, 184 timestamp-loop probes and 32 standalone SV_ClientThink probes. ACCEPT-001β003/F-160β162 distinguish external game-state/drop/enter-world requests from completed lifecycle effects, final-bundle signed timestamp caps from a computed maximum/server clock, sequential strict-newer filtering from decoder legality, and unconditional standalone 24-byte copies from state4-only VM dispatch. Every ordered command count1β32 and sampled duplicate/descending/unordered/stale/negative/sign-boundary cases match independent accepted-record/final-state oracles. Inlined loops produce 1,370 stopped VM_Call(gvm,7,index) requests; copied records are observed before the boundary. Native reciprocal arithmetic supports candidate stride0x2df40 only on aligned supplied addresses, pending allocation evidence. State/flags/decoded records are supplied; gate helpers stop and VM calls supply return0/retained caller registers with no VM side effects. No original executable/native callee/game VM, packet decode or runtime traffic executes. Eight tests verify gates/sentinel mutation, signed timestamps/all ordered counts, inlined VM arguments/copy order, standalone state behavior, reciprocal/stride arithmetic, canaries/command memory retention, paired outcomes and verified identities. All 415 tests pass; storage, links and whitespace checks pass. RE-400 remains open; RE-404 tracks purity/state producers/client allocation stride, command generation and server/game-side time clamping, selector7 QVM callback/command retrieval/VM mutation effects, complete decoded-bundle acceptance, real packet/runtime/all-platform conformance, higher-level codecs and Rust/Bevy/Solari goals. | |
| Validation: all preceding composition reports regenerated byte-identically; the new acceptance report reproduced twice byte-identically. Final suite: 415 passing tests. Storage policy/filter setup, documentation links and whitespace checks pass. | |
| ## 2026-10-11 β Native retrieval, selector7 QVM bridge and game-side command time | |
| Completed bounded RE-405β407 with `analyze_qvm_usercmd.py`: two verified native retrieval graphs, two file-backed trap36 cases, shipped qagame selector/table/case/helper evidence, 112 native guard/copy probes, 108 native-to-QVM wrapper compositions and 147 game-side time-prefix probes. QCMD-001β003/F-163β165 confirm explicit retrieval stride0x2df40, destination conversion before signed index errors, full 24-byte valid copies and zero EAX at the dispatch return jump; connect selector7/case65/helper155718/trap36 to client+472; recover metadata time and wrapper flag/global gates; and recover helper154089 state/raw-time/observed-time/clamp/elapsed/mode/alignment sequence. Native copy bytes map into synthetic QVM word memory under supplied pointer/address-space translation. Calls and Com_Error boundaries stop; no original executable/native callee/full QVM executes. The time prefix ends before remaining simulation, and signed-boundary arithmetic is modeled rather than runtime/legality evidence. Eight independent tests verify native signed guards/conversion ordering/copies/canaries/retention, switch slot/file identities and stride, selector/argument mapping, wrapper words/metadata/gates, signed time clamps/raw-time/elapsed/cap/rounding, paired outcomes, provenance and restricted optional slice-stop behavior. All 423 tests pass; storage/links/whitespace checks pass. RE-404 remains open; RE-408 tracks flag/global/state producers, allocation/translation, command generation and elapsed consumers, remaining movement/simulation and VM mutation effects, other trap36 callers, full packet-to-game/runtime/all-platform behavior and Rust/Bevy/Solari goals. | |
| Validation: all preceding composition reports regenerated byte-identically; final QVM usercmd report reproduced twice byte-identically, including explicit negative-time rounding fixtures. Deferred-auth and engine-control reports also remain byte-identical after the optional slice-stop extension. Final suite: 423 passing tests. Storage policy/filter setup, documentation links and whitespace checks pass. | |
| ## 2026-10-11 β Game-QVM think routes, inactivity and mode-word selection | |
| Completed bounded RE-409β411 with `analyze_qvm_think_gates.py`: verified shipped qagame think slices/helper150382, five file-backed literal addresses, 40 special-route/command-suppression probes, 94 inactivity decision probes and twelve helper-to-caller mode compositions. THINK-001β003/F-166β168 distinguish special helper requests/early returns from normal input mutations, bit0 angle-lock behavior from nonzero special-time handling, signed movement/attack-bit activity from other buttons, strict expiry/warning comparisons from equality, and recorded action requests from actual drop/spectator effects. Matching supplied health/command state composes evaluated helper returns into caller exit/mode precedence. Entity/client/global/flag meanings and mode physics remain candidates where not supported by literals. External helper/trap calls use recorded requests/default return0 with omitted effects; no complete QVM/original executable/native callee executes. The shared evaluator adds explicit per-instruction result overrides, keeping its original default/output unchanged for existing callers. Eight independent tests verify routing/arguments/early retention, angle-copy directions/input suppression/canaries, all inactivity timer/warning/return/action outputs, strict boundaries, mode precedence, file/source identities, activity distinctions and override/default behavior. All 431 tests pass; storage/links/whitespace checks pass. RE-408 remains open; RE-412 tracks global/record/bit semantics and inactivity registrations, special/expiry helpers/native action effects, gravity/speed/full movement-frame inputs, remaining simulation/callback effects, full-command composition and real gameplay/traffic/all-platform conformance before Rust/Bevy/Solari claims. | |
| Validation: all preceding composition reports regenerated byte-identically, including reports using the shared QVM slice evaluator. The new think-gate report reproduced twice byte-identically. Final suite: 431 passing tests. Storage policy/filter setup, documentation links and whitespace checks pass. | |
| ## 2026-10-11 β Game-QVM gravity, command suppression and movement-frame assembly | |
| Completed bounded RE-413β415 with `analyze_qvm_movement_frame.py`: verified shipped qagame setup/assembly slices, 72 finite gravity/speed probes, four raw packed-word probes and 160 complete supplied-zero frame probes. FRAME-001β003/F-169β171 recover bit0-controlled gravity/speed writes, finite binary32 multiply/truncate and one-use pointer consumption, unmasked shift/OR packing, signed-positive-up versus forward/right suppression, four observed mask words/precedence and linked-helper failure cleanup, and every byte of the 268-byte frame passed to helper54475. Two bit-preserving vector copies and raw-versus-Boolean flags/callback values are independently verified. Trap100 frame-zeroing and helper151954 results are supplied with omitted effects; helper54475 requests stop and no movement physics/full QVM/native callee/original runtime executes. Semantic names/mask bits/configuration/layout consumers and callback contracts remain candidates. Shared evaluator extensions are restricted aligned word-backed BLOCK_COPY with byte overlay, BOR and finite in-range binary32 MULF/CVFI; unknown/unaligned copy and exceptional float cases fail closed. Eight independent tests verify arithmetic/pointer behavior, raw packing, command bytes/canaries, full frame/vector output, mask/link/request precedence, source identities, copy overlay/failure domains and finite conversion/OR boundaries. All 439 tests pass; storage/links/whitespace checks pass. RE-412 remains open; RE-416 tracks helper54475 consumers/physics, callback/native collision ABI, helper151954/link/configuration/packed-word producers/legal ranges, copy/float/alias/runtime edge cases, post-movement mutation and full command-to-simulation/gameplay/macOS/Linux conformance before Rust/Bevy/Solari claims. | |
| Validation: all preceding composition reports regenerated byte-identically, including shared-QVM-evaluator users. The new movement-frame report reproduced twice byte-identically. Final suite: 439 passing tests. Storage policy/filter setup, documentation links and whitespace checks pass. | |
| ## 2026-10-12 β Game-QVM movement scheduler, step prefix and post-loop outputs | |
| Completed bounded RE-417β419 with `analyze_qvm_movement_loop.py`: verified shipped qagame helper54475 partition and child53418 prefix, 96 scheduler probes, 324 single-prefix probes and 334 separate suffix probes. LOOP-001β003/F-172β174 recover signed backward/equal/capped time behavior, masked outer counter/output resets, step caps8/66 and post-step bit8192 up-byte edits under a supplied child clock-update model; signed movement magnitude threshold64/button bit16 removal and bit2 flag/input precedence; and post-loop direction/button bits, button cache, ordered event93/21/31 helper requests and sampled packed-byte lookup. Equal timestamps reset/increment without a child request; backward time exits before those mutations. Each requested substep is followed by explicit supplied PS.time advancement only, not actual physics. Single-prefix/suffix evaluations are independent and external helper/event effects omitted; no full QVM/native callee/original runtime/collision/physics executes. Shared evaluator adds an optional in-bounds resume address to retain supplied locals across stopped continuations, preserving existing default behavior. Eight independent tests verify schedules/requests/caps/counters/resets/up edits, signed-byte thresholds/button precedence, output flags/cache/events/packed lookup, provenance, resume/failure domains and supplied-child scope. All 447 tests pass; storage/links/whitespace checks pass. RE-416 remains open; RE-420 tracks real child clock/state/weapon/physics/callback effects, nonprogressing/overflow scheduling domains, flag/event/packed-selector semantics/bounds and helper29913 mutations, real movement-step composition/gameplay/macOS/Linux and Rust/Bevy/Solari compatibility; packet/entity/player/snapshot/rendering milestones remain open. | |
| Validation: all preceding composition reports regenerated byte-identically, including shared-QVM-evaluator users. The new movement-loop report reproduced twice byte-identically. Final suite: 447 passing tests. Storage policy/filter setup, documentation links and whitespace checks pass. | |
| ## 2026-10-15 β Game-QVM child flag gates, clock prefix and early dispatch | |
| Completed bounded RE-421β423 with `analyze_qvm_step_state.py`: verified shipped qagame child53418 slices, 240 packed-byte/flag-order probes, eight clock-prefix probes, twenty evaluated-clock scheduler compositions and 105 early-mode dispatch probes. STEP-001β003/F-175β177 recover initial-bit256/packed-byte/button/type gating of bit512 and later independent bit256 release; requested-time copy distinct from clamped1β200 elapsed, vector snapshots and binary32 fractional time; and signed direction-bit/input suppression plus exact early-mode call ordering/main-path continuation. Selected schedulers now evaluate the child clock prefix instead of directly assigning time; all other child work/physics/native reset/callee effects remain omitted, with vector source words seeded explicitly. Shared evaluator adds signed-int32 CVIF; scheduler's optional child-effect interface preserves its old default/report. Eight independent tests verify bit-order and packed-byte conditions, actual clock/clamp/fraction/vector outputs, each composed scheduler prefix, directional flags and suppression, exact call sequences, verified source/scratch request, CVIF boundaries and explicit omitted-effect scope. No original executable/native callee/full QVM/physics executes. All 455 tests pass; storage/links/whitespace checks pass. RE-420 remains open; RE-424 tracks scratch/native trap effects, omitted angle/trigonometric/early-mode callees, real clock/vector mutations and remaining weapon/action/physics/collision, semantic selector/flag/type bounds, complete movement composition/gameplay/macOS/Linux and Rust/Bevy/Solari compatibility; packet/entity/player/snapshot/rendering milestones remain open. | |
| Validation: all preceding composition reports regenerated byte-identically, including shared-QVM-evaluator and scheduler-default users. The new step-state report reproduced twice byte-identically. Final suite: 455 passing tests. Storage policy/filter setup, documentation links and whitespace checks pass. | |
| ## 2026-10-15 β Game-QVM view conversion, basis algebra and mode position tails | |
| Completed bounded RE-425β427 with `analyze_qvm_view_motion.py`: verified shipped qagame helper53186/basis/tail slices, 42 view probes, twelve supplied-trig basis probes and 48 mode-tail probes. VIEW-001β003/F-178β180 recover view state gates, signed16 command+delta conversion, pitch clamp/bias/delta rewrites and bit16 truncation in this consumer; conditional view-helper/trig requests and rounded nine-word rotation basis; and per-component velocity threshold versus unconditional rounded position integration. Independent formulas verify exact view/delta/basis/position words, orthogonality, requests and velocity retention. Trig returns/source angles and post-acceleration velocity/timestep are supplied; view conversion is evaluated separately and helper53186/50525 effects in the basis slice remain omitted. No full QVM/original executable/native callee/collision/physics executes. Shared evaluator adds explicit byte-backed halfwords/sign-extension and finite add/subtract/negate/comparison operations, retaining prior MULF behavior and rejecting unknown halfwords/nonfinite cases. General alias/coherence/control-state/runtime semantics remain open. Eight independent tests cover gates/clamps/bias/deltas/high-word truncation, trig/skip/argument behavior, exact rotation and orthogonality, threshold/tail integration/retention, source boundaries, halfword failure domains and finite operations. All 463 tests pass; storage/links/whitespace checks pass. RE-424 remains open; RE-428 tracks native trig ABI/services/helper50525, real view-to-child vector composition, complete mode friction/acceleration/collision, semantic type/coordinate/producer/key domains, exceptional/alias/control-state cases, main movement and full gameplay/macOS/Linux/Rust/Bevy/Solari compatibility; packet/entity/player/snapshot/rendering milestones remain open. | |
| Validation: all preceding composition reports regenerated byte-identically, including shared-QVM-evaluator users. The new view-motion report reproduced twice byte-identically. Final suite: 463 passing tests. Storage policy/filter setup, documentation links and whitespace checks pass. | |
| ## 2026-10-15 β Game-QVM command scale, acceleration and partial mode composition | |
| Completed bounded RE-429β431 with `analyze_qvm_acceleration.py`: verified shipped qagame helpers40397/40275 and selected helper45461 caller, 256 command-scale probes, 324 acceleration probes and 48 partial caller compositions. ACCEL-001β003/F-181β183 recover literal220/340 speed gating, signed-byte maximum/norm scale and zero bypass; rounded projection/gap/capped-amount velocity updates without total-speed clamping; and evaluated scale/normalization/acceleration/position data flow with supplied identity basis/post-friction velocity. Square-root returns are supplied from ordinary finite math rather than native trap106; prior mode/friction/collision/callback effects remain omitted and no full QVM/original executable/native callee/physics system executes. Explicit disjoint synthetic caller/scale/acceleration frames prevent local-word overwrites. Shared evaluator adds finite DIVF with zero/nonfinite rejection and configurable local base with unchanged default. Eight independent tests verify exact scale/sqrt requests/strict thresholds, full projection/gap/amount/velocity, above-target retention, partial caller direction/speed/velocity/position/requests, source partitions, frame isolation and division failure domains. All 471 tests pass; storage/links/whitespace checks pass. RE-428 remains open; RE-432 tracks friction/surrounding velocity policy, native sqrt ABI, input/button/meter/coefficient/timestep producers/legal ranges, real basis/frame/callee/collision effects and complete mode/step gameplay/macOS/Linux/Rust/Bevy/Solari compatibility; packet/entity/player/snapshot/rendering milestones remain open. | |
| Validation: all preceding composition reports regenerated byte-identically, including shared-QVM-evaluator users. The new acceleration report reproduced twice byte-identically. Final suite: 471 passing tests. Storage policy/filter setup, documentation links and whitespace checks pass. | |
| ## 2026-10-15 β Game-QVM shared/mode friction and velocity bridge | |
| Completed bounded RE-433β435 with `analyze_qvm_friction.py`: verified shipped qagame helper39988/helper45461 prefix, nine file-backed initialized words, 342 shared-friction probes, 24 mode-prefix probes and eighteen velocity-bridge compositions. FRIC-001β003/F-184β186 recover optional planar norm, low-speed X/Y clear with Z retention, gated additive drop terms followed by conditional replacement, all-component ratio scaling, and the separate mode's full norm/whole-vector clear/effective1.5 coefficient/field38 write. Source-image coefficients100/8/4/1/5/3000 and zero-vector words retain exact offsets/bytes; live writers/configuration remain open. Evaluated mode-friction velocity is transferred into partial scale/acceleration/position slices with source-image coefficient8 and matching supplied timestep, while other state/basis/callee/collision effects remain omitted. Sqrt returns come from a supplied finite math model; no full QVM/original executable/native callee/collision/physics system executes. Eight independent tests verify source words/provenance, every shared drop/ratio/vector/gate, low-speed vertical retention, replacement precedence, separate full-norm mode outputs, sqrt requests, pipeline velocity/coefficient/timestep/acceleration/position propagation and scope/boundaries. All 479 tests pass; storage/links/whitespace checks pass. RE-432 remains open; RE-436 tracks live coefficients and flag/level/surface/type producers/legal ranges, native sqrt, other caller policies and full basis/frame/state/callee/collision/mode/step gameplay/macOS/Linux/Rust/Bevy/Solari compatibility; packet/entity/player/snapshot/rendering milestones remain open. | |
| Validation: all preceding composition reports regenerated byte-identically, including the partial-caller default report. The new friction report reproduced twice byte-identically. Final suite: 479 passing tests. Storage policy/filter setup, documentation links and whitespace checks pass. | |
| ## 2026-10-15 β Game-QVM content levels, ground trace and friction-input producers | |
| Completed bounded RE-437β439 with `analyze_qvm_ground.py`: verified shipped qagame helpers47217/46773, 28 point-content probes, 168 trace/classification probes and sixteen scalar friction bridges. GROUND-001β003/F-187β189 recover content-mask56 short-circuit/sample coordinates/raw-first contents/level producer, trace callback shape/downward endpoint/full56-byte copy and ordered recovery/fraction/kick/slope/level/landing caller stores/requests. Trace offset44 supplies surface word35023988, and level/walk/surface/PS flags feed the earlier friction arithmetic in scalar bridges. Supplied callback/trace records, recovery returns and omitted landing/touch/ground-lost effects remain explicit; normals/contact legality and native collision/runtime are unverified. Source coefficient bytes are checked. No full QVM/original executable/native callback/collision executes. Eight independent tests verify points/masks/short circuits/arguments, full trace copy/classification/thresholds/helper ordering, scalar propagation/friction results, provenance and scope. All 487 tests pass; the direct friction dependency regenerates unchanged and the new ground report reproduces twice byte-identically. Storage/filter setup, documentation links and whitespace checks pass. No existing analyzer/evaluator code changes. RE-436 remains open; RE-440 tracks native point/trace ABI/collision outputs, content/surface/bounds/height producers, recovery/ground-lost/landing/touch effects, scratch/prior state/full frame/PS/collision-to-friction composition, coefficient writers and gameplay/macOS/Linux/Rust/Bevy/Solari compatibility; packet/entity/player/snapshot/rendering milestones remain open. | |
| ## 2026-10-15 β Game-QVM posture bounds, transitions and consumer inputs | |
| Completed bounded RE-441β443 with `analyze_qvm_posture.py`: verified shipped qagame helper47422, 420 posture probes and48 scalar/bounds bridges. POSTURE-001β003/F-190β192 recover initialized bounds, early-mode height, final flag/animation-dependent height; entry/exit guards, converted resource deduction/clamp, timer stores, tentative standing overlap query and recorded animation requests; and horizontal speed/up-byte entity-bit policy. Evaluated bounds/height/flags/resource transfer into earlier supplied-content/ground-trace/command-scale fixtures. Native trace and sqrt returns are supplied, helper39525 effects omitted, and no complete QVM/original executable/native collision/physics executes. Semantic names, legal domains, resource producers and full state composition remain open. Ground analyzer adds optional explicit bounds with unchanged default report. Eight independent tests verify all transitions, query bounds/arguments, early exclusions, resource/animation policy, equality boundaries, consumer handoffs with prior ground/scale oracles, provenance and scope. All495 tests pass. The direct ground report regenerates byte-identically; the posture report reproduces twice byte-identically (749071 bytes). Storage/filter setup, documentation links and whitespace checks pass. RE-440 remains open; RE-444 tracks overlap-trace ABI/results, animation-helper effects, resource/semantic producers and complete frame/PS/content/ground/friction/gameplay/macOS/Linux/Rust/Bevy/Solari validation; packet/entity/player/snapshot/rendering milestones remain open. | |
| ## 2026-10-15 β Game-QVM animation helper effects and contact registration | |
| Completed bounded RE-445β447 with `analyze_qvm_animation_contacts.py`: verified seven shipped qagame helper partitions,576 animation probes,30 contact-list probes and ten posture request bridges. ANIM-001β002/CONTACT-001/F-193β195 recover direct leg/torso type/timer guards, raw equality asymmetry, bit128 toggle/OR and continuation masks; forced timer-reset-before-child ordering, timed torso table address arithmetic/final store; and contact sentinel1022, count==32 capacity, signed duplicate scan and append/count effects. Known animation children39338/39383 execute as bounded synthetic instruction slices with separate local frames; selected posture bridges evaluate39525 requests and caller timer200 stores. Actual animation table words are supplied, with selectors/duration/request legality and live table producers unresolved. Contact fixtures cover counts0β32 only; invalid counts, native contact generation and entity/list-consumer effects remain open. No complete QVM/original executable/native collision/rendering executes. The shared evaluator adds signed32 BXOR without changing existing opcode paths. Eight independent tests check all policies/mutations/nested calls, equality/toggle/reset asymmetries, timed address/unconditional store, contacts/canaries, selected posture compositions, signed/high-bit XOR/local isolation, provenance/complete partitions and scope. All503 tests pass. Direct acceleration/ground/posture reports regenerate byte-identically; the new report reproduces twice byte-identically (606122 bytes). Storage/filter setup, documentation links and whitespace checks pass. RE-444 remains open; RE-448 tracks live animation tables/durations/selector-request domains, semantic/type/timer producers, contact reset/consumers/entity/invalid-count/alias behavior, full movement state composition and gameplay/macOS/Linux/Rust/Bevy/Solari compatibility; packet/entity/player/snapshot/rendering milestones remain open. | |
| ## 2026-10-15 β Verified player animation assets, loader records and timed consumers | |
| Completed bounded RE-449β451 with `analyze_qvm_animation_tables.py`: verifies all observed player animation config/header payloads against extraction manifests, retains both identical4131-byte config variants, recovers literal registration of Athena selector0/Orion selector1 and source-level animation IDs, and evaluates loader20297 using supplied token integer values from a strict observed-format parser. TABLE-001β003/F-196β198 identify76 distinct rows per model and missing1/77/78/79; recover32-byte record stores, integer1000/FPS intervals, duration intervalΓ(count+1), ignored upper/lower/hit tokens and untouched+24; and connect152 source-derived duration words at actual registered table selectors into the previously recovered timed-animation helper/child. Eleven prefix/failed-open probes recover partial writes, close/return1 on opened-source EOF and return0 on failed open; two synthetic FPS probes cover negative truncation and above1000 yielding zero interval. Zero FPS is an evaluator rejection, not a runtime crash claim. Native preprocessing/token ABI, original executable/full QVM/playback/rendering do not execute. Strict parser is not a general preprocessor; header ambiguity, missing-slot initialization/live table writers, selectors/request legality and malformed/runtime/platform behavior remain open. Eight independent tests verify source identities/variant retention, literal registration, symbols/missing indices, every loaded record and token request/canary, partial/EOF/failed-open effects, signed/zero-FPS boundary,152 timed-consumer bridges, parser failure domains/partitions/scope. All511 tests pass. Direct animation-contact/posture reports regenerate byte-identically; new report reproduces twice byte-identically (622268 bytes). Storage/filter setup, documentation links and whitespace checks pass. No original assets or existing analyzer/evaluator code changed. RE-448 remains open; RE-452 tracks native preprocessing/search/includes/error semantics, missing-index/+24 initialization/live writers, selectors, playback/interpolation/loop/flip/model/skeleton/Bevy conversion and full state/gameplay/macOS/Linux/Solari validation. Resource producers, contact consumers and packet/entity/player/snapshot/rendering milestones remain open. | |
| ## 2026-10-15 β Game-QVM resource update, argument tails and scalar consumers | |
| Completed bounded RE-453β455 with `analyze_qvm_resource.py`: verifies complete shipped qagame helper39595,856 resource probes,14 selected caller probes and16 consumer bridges. RESOURCE-001β003/F-199β201 recover configuration>=2 resource reset, initial negative clamp before frame+244 bypass, signed button/forward/right and mask/speed drain guards, capped local argument and16-word low-byte17 scan with0.9/0.5 factors; exact rounded recovery/replacement change, drain zero floor versus recovery health-derived upper cap, potential negative recovery stores/oversized drain stores and zero/nonzero counter reset/add/cap1700. Helper has no calls. Selected helper55465 tail records full3D-norm/supplied-sqrt-to-resource argument; helper43626 tail rescales supplied velocity using a retained scalar and passes that scalar. Evaluated resource transfers into earlier scale/posture/scale fixtures without claiming complete frame/state or real ordering. Native sqrt and previous caller/collision/normalization effects remain supplied/omitted; no original executable/full QVM/native collision/physics/rendering executes. Semantic meanings, live configuration/resource/health/item/counter/time producers and legal/exceptional/overflow/alias domains remain open. Eight independent tests verify all resource path/arithmetic outputs and immutable words, reset/bypass precedence, drain thresholds/cap/scan bounds, recovery cap/negative asymmetry/counter,14 caller arguments/velocity results,16 scalar handoffs with prior posture/scale oracles, source/constants/partitions and scope. All519 tests pass. Direct posture/acceleration reports regenerate byte-identically; new resource report reproduces twice byte-identically (1223307 bytes). Storage/filter setup, documentation links and whitespace checks pass. No assets or existing analyzer/evaluator code changed. RE-444/448/452 remain open; RE-456 tracks producer/semantic/legal domains, retained scalar/native sqrt/complete callers, consecutive-frame resource behavior/exceptional arithmetic and full movement state/ordering/gameplay/macOS/Linux/Rust/Bevy/Solari validation; packet/entity/player/snapshot/rendering milestones remain open. | |
| ## 2026-10-15 β Game-QVM timer aging, main movement routing and consumer bridges | |
| Completed bounded RE-457β459 with `analyze_qvm_timers_dispatch.py`: verifies complete helper53048 and child53418 main body54244β54474,600 timer probes,250 main routing probes and36 selected producer/consumer bridges. TIMER-001/ROUTE-001/TIMER-002/F-202β204 recover nonzero movement-timer equality expiry/mask192 clear versus already-zero preservation; positive-only leg/torso timer aging and negative-timer asymmetry; main content/saved-level/posture/ground/type3/timer/action ordering, saved/current state220 query/event23 policy, six-mode priority and exact common suffix/native-43 pointer request. Timer53048 effects are applied at its actual caller boundary; other main callees are recorded with omitted effects, supplied level/walk/PS words and explicit hypothetical state220 edits after54981/56639. Query return is supplied; no helper mutation is inferred from the edits. Bridges transfer actual clock elapsed, selected evaluated posture animation children/caller timer stores, timer results and direct animation-setter guards; intervening ground/type3/action/physics/native effects and complete shared-state composition remain omitted. Separate clock synthetic addresses are explicitly respected during scalar transfer. No original executable/full QVM/native collision/physics/rendering executes. Eight independent tests verify all timer results/immutable canaries, negative-zero-equality differences,250 exact request/argument sequences and routes, expiry priority, saved/current bit distinctions,36 clock/posture/timer/animation handoffs, provenance/partitions and scope. All527 tests pass. Direct step-state/animation-contact reports regenerate byte-identically; new report reproduces twice byte-identically (1241534 bytes). Storage/filter setup, documentation links and whitespace checks pass. No assets or existing analyzer/evaluator code changed. RE-456 and earlier broad tasks remain open; RE-460 tracks actual action/query/mode/suffix/native effects, timer/flag producers/legal domains, intervening ground/type3 mutations,47884 request policy and full environment/posture/timer/mode/state/gameplay/macOS/Linux/Rust/Bevy/Solari validation. Contact/resource/playback/packet/entity/player/snapshot/rendering milestones remain open. | |
| ## 2026-10-15 β Game-QVM direction and traversal-query transitions | |
| Completed bounded RE-461β463 with `analyze_qvm_traversal_query.py`: verifies complete shipped qagame helpers56214/56639, five direction probes,348 query probes and16 evaluated return/state-to-main bridges. QUERY-001β003/F-205β207 recover XY projection/Z0/finite normalization, query activation/forward/ground/anchor-height guards, release impulse using inverted XY/fixed Z=-0.2 and25 scale, anchor/bit1024 cleanup/field44 minimum/return distinctions; two hull queries with min/max Z-4/+4, direction multipliers4/8, raised second start and literal mask65537; supplied-fraction/clearance-dependent acquisition, truncated origin-Z anchor, vertical velocity zero and actual torso54/55 child effects. Known direction and torso children execute as bounded instruction slices with separate synthetic local frames; native sqrt returns come from supplied finite math. Trace fractions and56335 returns are supplied with other clearance effects omitted; no trace hit/native geometry/ABI/gameplay legality is established. Sixteen main bridges transfer actual evaluated query return/state220 under matching initial caller gates, explaining acquisition/return0 event23 and cleared-state/return1 flag2 from the saved old bit. Query velocity/anchor/field44/animation and other caller/environment/mode/native/suffix state are not fully composed. No original executable/full QVM/native collision/physics/rendering executes. Eight independent tests verify direction/root requests, all query outputs/calls, trace coordinates/pointers/bounds/mask, height/equality/field44 boundaries, entry/fraction/clearance/anchor cases, actual torso timer guards,16 main handoffs, provenance/complete partitions and explicit scope. All535 tests pass. Direct animation-contact/timer-dispatch reports regenerate byte-identically; new report reproduces twice byte-identically (986717 bytes). Storage/filter setup, documentation links and whitespace checks pass. No assets or existing analyzer/evaluator code changed. RE-460 remains open; RE-464 tracks56335/native trace/sqrt/ABI and basis/semantic/legal producers, cooldown/contact/resource interactions, actual54981/mode/suffix effects, complete query/movement shared state and runtime/macOS/Linux/Rust/Bevy/Solari compatibility. Playback/packet/entity/player/snapshot/rendering milestones remain open. | |
| ## 2026-10-16 β Game-QVM side-hull acceptance, derived query chain and conditional gravity mode | |
| Completed bounded RE-465β467 with `analyze_qvm_clearance_mode.py`: verifies complete helpers56335/41768,150 side-hull probes,20 side/query/main chains,364 conditional mode probes and18 main-to-mode bridges. SIDE-001β002/MODE-001/F-208β210 recover planar right normalization/scale12, raised origin+28, two opposite-offset hullΒ±4 traces with forward multiplier20/literal mask65537 and both-fractions-not1 acceptance/short-circuit; unchanged seeded1024-byte PS snapshots under supplied native effects; and actual derived56335 Boolean through selected56639 acquisition/main event/mode logic. Only attach the side-helper producer when the query records its request; unreached prepared results do not become child calls. Mode41768 clears flag32 before recording60091(1), then applies rounded gravity to supplied post-callback Z and clears mask192/movement timer only for strictly negative results. Zero retains supplied flags/timer. Explicit hypothetical callback flag edits verify prefix/tail ordering without claiming60091 performs them. Main mode bridges transfer evaluated flags/aged timers only when41768 is selected, retaining timer-equality suppression cases. Native sqrt/trace fractions are supplied;60091 collision/state effects and query/main shared-state composition remain omitted. No original executable/full QVM/native collision/physics/rendering executes. Eight independent tests verify geometry/root/vector/snapshot words, callback bounds/pointers/masks/short circuits,20 derived chains,364 exact mode outputs, zero/restored-flag boundaries,18 main-mode connections, provenance/complete partitions and scope. All543 tests pass. Direct traversal-query/timer-dispatch reports regenerate byte-identically; new report reproduces twice byte-identically (1145058 bytes). Storage/filter setup, documentation links and whitespace checks pass. No assets or existing analyzer/evaluator code changed. RE-464 remains open; RE-468 tracks actual60091/native trace/sqrt/ABI, basis/timer/gravity/flag producers/legal domains, complete side/query/main/mode shared state and runtime/macOS/Linux/Rust/Bevy/Solari validation. Other modes/actions/suffix/contact/resource/playback/packet/entity/player/snapshot/rendering milestones remain open. | |
| ## 2026-10-16 β Game-QVM step traces, fallback wrapper and gravity-mode composition | |
| Completed bounded RE-469β471 with `analyze_qvm_step_collision.py`: verifies complete59710/60091 partitions,117 step probes,20 wrapper probes and14 compositions through41768. STEPTRACE-001/STEPWRAP-001/STEPCHAIN-001/F-211β213 recover literal18 origin raise/upper-bound shrink, supplied slide call, down trace/solid-word rejection, sign-biased finite normal clipping, restored-bound overlap request and partial state retained on failure;60091 first-slide zero-return bypass, actual evaluated step/fallback copies/flag32, strict deltaZ>2 then integer truncation/frame+48 store and sampled return1 policy. Disjoint local frames preserve original and first-attempt snapshots. Step child mutations and actual result replace the wrapper call-result local before caller continuation. Composed60091/59710 state now feeds41768 gravity directly for selected fixtures, identifying conditional source stores that restore32 after its prefix clear; later negative Z clears192/timer and preserves32. Native trace records and57714 return/origin/velocity are supplied with other effects omitted; trace consistency/contact legality, full slide/global/entity/collision/runtime behavior remain open. No original executable/full QVM/native collision/physics/rendering executes. Eight independent tests verify117 step outputs/clipping/geometry/bounds/requests, failure-without-rollback/fraction bypass,20 wrapper requests/fallback/height records,14 mode compositions/flag restoration, provenance/complete partitions/literal height and scope. All551 tests pass. Direct clearance-mode report regenerates byte-identically; new report reproduces twice byte-identically (548975 bytes). Storage/filter setup, documentation links and whitespace checks pass. No assets or existing analyzer/evaluator code changed. RE-468 remains open; RE-472 tracks57714's full slide/contact/plane/gravity loop, native collision ABI/legal records, frame+48 consumers, other callers/flag producers and complete environment/mode/shared state/gameplay/macOS/Linux/Rust/Bevy/Solari validation. Other actions/modes/suffix/contact/resource/playback/packet/entity/player/snapshot/rendering milestones remain open. | |
| ## 2026-10-16 β Game-QVM slide preparation, first trace and clear caller chain | |
| Completed bounded RE-473β475 with `analyze_qvm_slide_prefix.py`: verifies complete57714 instruction partition,384 complete first-trace exit probes,122 explicitly partial contact probes and20 evaluated clear slide/wrapper/mode chains. SLIDE-001β002/SLIDECHAIN-001/F-214β216 recover gravity end/saved-Z and working midpoint, optional ground clip, norm/current-direction/ground plane seeds, float remaining time and initial bump state; first callback endpoint/arguments, allsolid Z-only return1 versus fraction1 common-exit return0, gravity/saved-vector ordering and flag2048 cleanup; strict hit-normal/gravity/surface/contents contact flags/normal XY stores, evaluated39253 entity touch registration and remaining-time reduction. Contacts stop at58312 before plane solving/remaining bumps and have no claimed return. Native sqrt and one trace record/interpolated endpoint remain supplied; contact legality, real normal/configuration/native effects are unverified. Clear57714 origin/velocity/return now compose into actual60091 first-result bypass and41768 gravity tail without supplied slide output, using disjoint live local frames and selected shared PS/frame state. Contact/step/main-loop/global/entity/exceptional/alias/runtime effects remain uncomposed. No original executable/full QVM/native collision/physics/rendering executes. Eight independent tests verify all prefix vectors/planes/root arguments, trace endpoint/bounds/ABI,384 complete exits/suffix distinctions,122 contact-prefix words/touch counts/strict thresholds,20 caller chains, provenance/partition and scope. All559 tests pass. Direct step-collision report regenerates byte-identically; new report reproduces twice byte-identically (2021856 bytes, below normal-Git2MiB limit). Storage/filter setup, documentation links and whitespace checks pass. No assets or existing analyzer/evaluator code changed. RE-472 remains open; RE-476 tracks post58312 dedup/plane cap/clipping/crease/end-vector/repeated-bump behavior and remaining returns, actual native collision/legal records/producers and full contact/step/wrapper/mode/main shared-state/gameplay/macOS/Linux/Rust/Bevy/Solari validation. Other modes/actions/suffix/resource/playback/packet/entity/player/snapshot/rendering milestones remain open. | |
| ## 2026-10-16 β Game-QVM slide plane registration and first candidates | |
| Completed bounded RE-477β479 with `analyze_qvm_slide_planes.py`: verifies plane-gate/candidate/scan-loop slices,61 registration probes,135 candidate probes and40 actual first-contact continuations. PLANE-001β002/PLANECHAIN-001/F-217β219 recover count>=5 velocity-zero early return before dedup; ordered strict dot>binary32 0.99 duplicate nudge without append; raw normal insertion/count; ordered first velocity dot<binary32 0.1 selection, supplied impact maximum update and independent sign-biased working/end vector clip candidates. Candidates remain local and PS velocity is not committed by the evaluated slice. Standalone empty/capacity/non-unit input fixtures do not establish runtime reachability or legal plane domains. Contact chains carry actual prior gravity/plane/touch/time/velocity/normal state beyond58312; duplicate cases stop before bump advance and appended cases stop before secondary-plane/crease acceptance or at scan exhaustion. No complete slide return or repeated-bump/mode/main composition is claimed. Native roots/traces remain supplied in earlier prefix; chain impact initial0 is supplied, not an evaluated scratch reset. No original executable/full QVM/native collision/physics/rendering executes. Eight independent tests verify61 gate outcomes/strict boundaries/order/capacity priority,135 candidate/max/clip outputs and unchanged PS velocity,40 source-state continuations, provenance/slice boundaries and scope. All567 tests pass. Direct slide-prefix report regenerates byte-identically; new report reproduces twice byte-identically (498571 bytes). Storage/filter setup, documentation links and whitespace checks pass. No assets or existing analyzer/evaluator code changed. RE-476 remains open; RE-480 tracks secondary planes/reclip/crease/cross normalization/additional-plane rejection, actual candidate/end-vector commit and repeated bumps/time/returns, impact reset/consumers/legal/native collision and complete contact/step/wrapper/mode/main state/gameplay/macOS/Linux/Rust/Bevy/Solari validation. Other modes/actions/suffix/resource/playback/packet/entity/player/snapshot/rendering milestones remain open. | |
| ## 2026-10-16 β Game-QVM secondary-plane solver, crease projection and contact continuations | |
| Completed bounded RE-481β483 with `analyze_qvm_slide_solver.py`: verifies shipped57714 instructions58476β59636,213 solver probes and40 actual first-contact/plane-gate continuations. SOLVER-001β002/SOLVERCHAIN-001/F-220β222 recover independent working/end secondary-plane reclip, strict primary re-entry test, original-vector projections onto twice-computed/normalized cross products, third-plane strict dot<binary32 0.1 literal-zero return1 and actual working/end commits. Signed-zero projection words remain exact; zero cross skips reciprocal normalization. Standalone outcomes:170 commits,25 third-plane returns,18 exhausted scans. Three contact chains complete57714 via early return;37 remain partial before bump advance. Native roots/trace records and initial impact0 remain supplied, legal/reachable plane/contact domains unverified, repeated bumps/common exit/contact caller/mode/main effects uncomposed. No original executable/full QVM/native collision/physics/rendering executes. Eight independent tests verify all exact result/candidate/impact words against an ordered-float oracle, reclip/commit, both root requests/raw crosses/original projections, degenerate/signed-zero/strict threshold cases,40 source-state chains, source hash/boundaries and scope. All575 tests pass. Direct slide-plane report regenerates byte-identically; new report reproduces twice byte-identically (745379 bytes). Storage/filter setup, documentation links and whitespace checks pass. No assets or existing analyzer/evaluator code changed. RE-480 remains open; RE-484 tracks repeated bumps/time/traces/common exit, impact reset/consumers/legal native collision domains and complete contact/step/wrapper/mode/main shared state/gameplay/macOS/Linux/Rust/Bevy/Solari validation. Other modes/actions/resource/playback/packet/entity/player/snapshot/rendering milestones remain open. | |
| ## 2026-10-16 β Game-QVM bump gate, common exit and second-trace chains | |
| Completed bounded RE-485β487 with `analyze_qvm_slide_loop.py`: verifies57714 counter initialization/59637β59707,12 increment/cap probes,24 common-exit probes and48 actual contact-to-second-trace chains. LOOP-001/EXIT-001/LOOPCHAIN-001/F-223β225 recover literal cap4/counter0, increment and strict signed counter<cap continuation; gravity end-vector copy followed by timer saved-vector override, local248 flag2048 cleanup and counter-based Boolean return; evaluated first-contact/gate/solver state through source-computed reduced-time endpoint/callback and complete supplied second clear/allsolid exits. Clear after one contact returns1; allsolid zeros only Z before endpoint copying/common cleanup. Chains retain actual first touch count without another touch. Both native trace records/roots and impact initial0 remain supplied; allsolid fixtures also supply fraction1 to establish source priority without claiming physical consistency. Repeated contact solving, third/fourth trace/exhaustion composition, native callback/legal records/impact producers-consumers and complete step/wrapper/mode/main state remain unverified. No original executable/full QVM/native collision/physics/rendering executes. Eight independent tests verify counter boundaries/literal initialization, all suffix copy/flag/return combinations, source-state transfers/previous solver oracle, rounded remaining time/endpoints/callback arguments, exact clear/allsolid state/touch retention, provenance/boundaries and supplied-effect scope. All583 tests pass. Direct slide-solver report regenerates byte-identically; new report reproduces twice byte-identically (451908 bytes). Storage/filter setup, documentation links and whitespace checks pass. No assets or existing analyzer/evaluator code changed. RE-484 remains open; RE-488 tracks accumulated repeated contact/time/plane/touch/impact state, native collision/side effects/legal records, complete slide/step/wrapper/mode/main and macOS/Linux Rust/Bevy/Solari gameplay validation. Broad game/assets/rendering/protocol milestones remain open. | |
| ## 2026-10-16 β Game-QVM continuous repeated contacts and four-bump exhaustion | |
| Completed bounded RE-489β491 with `analyze_qvm_slide_repeated.py`: continuous shipped57714 evaluation across76 finite probes, actual third/fourth callbacks and accumulated plane/working/end/saved/time/touch/impact state. REPEAT-001β003/F-226β228 recover repeated normal nudges versus append/capacity, current-time reduction, entity8 dedup/1022 sentinel/entity9 insertion, impact initialized once and retained through multiple source solver passes, and actual exhaustion/common-exit precedence versus early returns. Outcomes:44 common exits,14 third-plane returns,12 allsolid returns,6 capacity returns. Two third-plane probes return at contact1 without consuming later prepared records; remaining74 reach four callbacks. Four-contact exhaustion leaves counter4, fourth-clear leaves3 and both apply gravity/end then timer/saved precedence; early fourth returns leave3 and skip suffix. Two zero-timestep fixtures still issue four traces and exhaust with unchanged origin. Native roots/ordered records/interpolated positions and initial impact remain supplied; trace legality/reachability/native side effects/impact reset-consumers/full callers/runtime remain unverified. Actual39253 touch registration executes within the bounded evaluator; no original executable/full QVM/native collision/physics/rendering executes. Eight tests compare all issued request/state/contact/gate/solver/counter/suffix/final words with an independent ordered-float state machine plus exit-family/capacity/touch/time/impact/timer/zero-time/root/ABI/provenance/scope checks. All591 tests pass. Direct slide-loop report regenerates byte-identically; new report reproduces twice byte-identically (1672861 bytes, below normal-Git2MiB). Storage/filter setup, documentation links and whitespace checks pass. No assets or existing analyzer/evaluator code changed. RE-488 remains open for broader native/caller/runtime scope; RE-492 tracks actual native trace/BSP collision/side effects, legal state/record domains, impact producers/consumers, complete slide-to-step/wrapper/mode/main shared state and macOS/Linux Rust/Bevy/Solari gameplay. Broad game/assets/rendering/protocol milestones remain open. | |
| ## 2026-10-16 β Game-QVM evaluated contact slides through step, wrapper and mode | |
| Completed bounded RE-493β495 with `analyze_qvm_contact_callers.py`:22 mode/wrapper fixtures evaluate38 actual57714 children at60091/59710 call boundaries with shared PS/frame/touch/impact state and disjoint live local frames. CALLSLIDE-001/CALLSTEP-001/CALLMODE-001/F-229β231 replace supplied first/raised slide return/vector effects with evaluated clear/repeated-contact/early-return children, original-snapshot raised/shrunk geometry, actual child-to-down/overlap traces, step clipping/returns, first-attempt fallback/flag32/height recording and actual41768 gravity/flag/timer tail. Six fixtures bypass step, six succeed, ten fail/fall back. Second child retains first-child touches/impact at entry; positional fallback preserves final child touch/impact effects. Initial impact0 is supplied once before mode; native roots and slide/down/overlap records/interpolation remain supplied, legal record/normal/state domains/native side effects/main dispatch/environment/actions/runtime unverified. No original executable/full QVM/native collision/physics/rendering executes. Repeated-slide evaluator accepts optional initial memory/result-memory return with unchanged defaults; independent slide oracle accepts entry snapshots and first-clear return0. Eight tests verify all38 children using independent generalized state-machine formulas, raise/shrink geometry, child/down/overlap/step outputs, wrapper bypass/success/fallback/height, full recorded mode-tail state, retained touch/impact, exact caller arguments/frame isolation, provenance and scope. All599 tests pass. Prior repeated-slide report regenerates byte-identically; new caller report reproduces twice byte-identically (639493 bytes). Storage/filter setup, documentation links and whitespace checks pass. No assets or shared instruction evaluator changed. RE-492 remains open for broader native/legal/main/runtime scope; RE-496 tracks native trace/BSP collision/side effects/legal domains/impact reset-consumers, other callers and real main-dispatch/environment/clock/basis/action composition with full macOS/Linux Rust/Bevy/Solari gameplay. Broad game/assets/rendering/protocol milestones remain open. | |
| ## 2026-10-16 β Game-QVM actual clock, main timer routing and selected contact-mode state | |
| Completed bounded RE-497β499 with `analyze_qvm_main_contact.py`:48 fixtures evaluate clock53723β53788 without reseeding source vectors, main54244β54472, actual53048 timer effects and selected41768/60091/59710/both57714 children in shared memory with disjoint live helper frames. MAINCONTACT-001β003/F-232β234 recover requested-time versus clamped1β200 interval, exact source vector snapshots/fraction, timer-derived equality-expiry routing and actual mode state back into bounded main suffix requests.36 fixtures select/evaluate41768 with54 slide child invocations; six route to43626 and six to55465 without attaching prepared contact-mode effects. Other main/query/alternative-mode/suffix/native requests retain omitted effects, query return0 and supplied environment/type/state inputs. Intervening clock-to-main instructions/earlier dispatch/scheduler/full53418 remain omitted. Initial impact0 and native roots/ordered slide/down/overlap trace records/interpolation remain supplied; native collision/legal domains/runtime unverified. No original executable/full QVM/native collision/physics/rendering executes. Caller composition now accepts optional initial/result memory with unchanged default report. Eight independent tests verify48 clock/timer/route cases and exact expiry,54 slide children and step/wrapper outputs, actual clock-fraction gravity/flag/timer tail, shared-state transfers/main call ordering/saved level, provenance and scope. All607 tests pass. Prior contact-caller report regenerates byte-identically; new report reproduces twice byte-identically (1107356 bytes). Storage/filter setup, documentation links and whitespace checks pass. No assets or shared instruction evaluator changed. RE-496 remains open for its broader scope; RE-500 tracks missing environment/view/basis/action/alternative-mode/suffix/native effects, trace/BSP collision/legal domains/impact reset-consumers, complete main/scheduler state and macOS/Linux Rust/Bevy/Solari gameplay. Broad game/assets/rendering/protocol milestones remain open. | |
| ## 2026-10-16 β Game-QVM actual main content/ground producers and post-movement resampling | |
| Completed bounded RE-501β503 with `analyze_qvm_main_environment.py`:48 main fixtures evaluate96 actual47217 content invocations and96 actual46773 ground classifications at reached pre/post movement boundaries. MAINENV-001β003/F-235β237 recover current-position ordered point coordinates/short-circuit contents/level, full56-byte ground trace copies/normal/surface/plane/walk/ground/flag/timer producers, terminal39253 touch effects, derived main selection and source-order post-ground then content resampling. Modes:18 evaluated41768 fixtures with27 actual slide children,14 recorded41848,8 recorded43626,8 recorded42838. Steep normal now reaches actual ground clipping/plane seeds rather than a seeded Z normal. Final content levels use reversed supplied response patterns while saved first level remains unchanged; post-ground consumes the first level before replacement and its state changes survive mode output. Native point returns/ground-slide-down-overlap records/roots/interpolation remain supplied; posture/bounds/viewheight, other ground recovery/lost/landing/animation/event/logging effects, action/query/alternative-mode/other suffix effects, legal/native collision/full main/scheduler/platform runtime remain unverified or omitted. No original executable/full QVM/native collision/physics/rendering executes. Main bridge accepts optional initial memory/reached environment effects; original no-hook report remains byte-identical. Independent slide oracle accepts entry ground normal with unchanged default. Eight independent tests verify every content/ground state/coordinate/copy/touch result, boundary order/timer handoff/route counts,27 child predictions and step/wrapper/mode outputs, final versus saved level/current positions, source hash and scope. All615 tests pass. Prior main-contact report regenerates byte-identically; new report reproduces twice byte-identically (1212879 bytes). Storage/filter setup, documentation links and whitespace checks pass. No assets or shared instruction evaluator changed. RE-500 remains open for broader scope; RE-504 tracks actual posture producers, remaining ground callees/native trace-content-BSP collision/legal domains/action/alternative-mode/suffix/impact effects and complete main/scheduler composition with macOS/Linux Rust/Bevy/Solari gameplay. Broad game/assets/rendering/protocol milestones remain open. | |
| ## 2026-10-16 β Game-QVM actual main posture and animation-derived bounds | |
| Completed bounded RE-505β507 with `analyze_qvm_main_posture.py`:28 fixtures evaluate47422 at the actual main boundary after first content sampling and before ground/timer/movement, including eight stand queries/eight39525 animation-child invocations and24 reached root requests. MAINPOSTURE-001β003/F-238β240 recover enter/resource clamp, clear/blocked stand, timer-held, unchanged animation25 and special-mode branches; actual39525/39383 effects before parent timer200 and final bounds/viewheight selection; and derived bounds/height/flags/leg timers into both ground invocations, final contents and selected step/wrapper/mode. Successful stand changes animation25 to37 before height selection, yielding38/45 rather than omitted-child model's unchanged-animation25 branch. Main aging yields184 from new200; initial leg timer1 blocks posture query before later aging0. Fourteen selected41768 fixtures evaluate28 actual slide children; seven43626/seven41848 requests retain omitted effects. Reached step restores derived maxZ rather than assumed45. Native stand allsolid/horizontal roots/content/ground/slide/down/overlap responses and initial inputs remain supplied; legal/native/remaining ground-action-other mode-suffix/full main/scheduler/platform effects remain unverified or omitted. No original executable/full QVM/native collision/physics/rendering executes. Main bridge adds optional reached posture effects and preserves explicitly provided leg/torso timer seeds; default reports remain unchanged. Eight tests independently verify every posture output, animation ordering/timer/height, stand bounds/root/special skip, ground/derived hull/content height handoffs, ground and main timer effects,28 slide predictions/step-wrapper-mode outputs, provenance and scope. All623 tests pass. Prior main-contact and main-environment reports regenerate byte-identically; new posture report reproduces twice byte-identically (1140423 bytes). Storage/filter setup, documentation links and whitespace checks pass. No assets or shared instruction evaluator changed. RE-504 remains open for broader scope; RE-508 tracks remaining ground/native/legal/input-resource-animation producer-consumer/action-other mode-suffix effects and complete main/scheduler/macOS/Linux Rust/Bevy/Solari gameplay. Broad game/assets/rendering/protocol milestones remain open. | |
| ## 2026-10-18 β Game-QVM ground-loss caller and landing kinematics prefix | |
| Completed bounded RE-509β511 with `analyze_qvm_ground_callees.py`:32 standalone46527 probes,42 landing45912-prefix probes and16 actual ground-loss/main chains. GROUNDLOST-001/LANDPREFIX-001/GROUNDCHAIN-001/F-241β243 recover initial flags&12/ground1023/deep64-unit query priority, exact fraction1 animation/4096/ground/walk transitions with evaluated39525/39383 children, and actual46773 caller walk/plane clearing after helper short-query retention. Landing prefix zeros PS+440/clears state220 bit4096 before discriminant testing, derives supplied-root time/impact with ordered binary32 arithmetic, and stops before severity/event/damage/suffix. Eight negative-discriminant probes stop46294;34 reach46052, eight request animation27 at strict impact<β200 with flag1 clear. Exactβ200/β199.999 skip whileβ200.001 requests. Parent leg timer130 is reset0 by unequal raw forced animation, retained130 for raw27 equality. Sixteen reached main chains consume actual ground-lost state before timer/selected41768 clear-slide/wrapper/gravity/post environment; post landing request remains omitted, not replaced with a partial prefix. Native deep fraction/root/content/trace responses, initial state and action/logging/other ground/main effects remain supplied or omitted. No original executable/full QVM/native collision/physics/rendering executes. Eight independent tests verify every helper/prefix state/word, geometry/sentinel/call arguments, strict threshold/timer ordering, animation effects, caller override/main/slide state, provenance and scope. All631 tests pass. Prior main-environment report regenerates byte-identically; final new report reproduces twice byte-identically (578318 bytes). Storage/filter setup, documentation links and whitespace checks pass. No assets or existing analyzer/evaluator code changed. RE-508 remains open for broader scope; RE-512 tracks full landing/recovery/action/posture-ground integration/native/legal effects and complete main/scheduler/macOS/Linux Rust/Bevy/Solari gameplay. Broad game/assets/rendering/protocol milestones remain open. | |
| ## 2026-10-18 β Game-QVM full bounded landing, numeric event queue and actual ground caller | |
| Completed bounded RE-513β515 with `analyze_qvm_landing.py`:82 landing-body fixtures,10 supplied-severity suffix boundaries, five three-write queue sequences and six actual ground/main chains. LANDEVENT-001/LAND-001/LANDCHAIN-001/F-244β246 recover29913 two-slot event/parameter writes and int32 sequence wrap,39238 parameter0 forwarding/45887 surface8192 suppression and signed surface>>20 parameters, complete45912 level/severity/health/surface/argument gates with numeric queue/PS216/Z300 outputs, field8 cleanup and strict horizontal norm>300 suffix. Numeric event/PS216 consumers and health/damage meanings remain unverified;29913 is a memory queue writer, not an external damage routine. Strict severity cutoffs1/7/30/45 and speed299/300/301 are checked independently; supplied score probes are not claimed collision-derived. Reached39525/39383,39238,45887 and29913 effects evaluate in disjoint frames. Four accepted-ground chains evaluate landing before caller250 movement timer/touch stores and actual aging234; two level3 controls reach41768 while skipping landing effects. Alternative modes/post-ground animation/other posture-action-query-suffix/native effects remain omitted or unverified. Roots/contents/trace records/interpolation/gravity800/legal initial state remain supplied; no original executable/full QVM/native collision/physics/rendering executes. Eight tests independently verify every body/suffix state, score/event/queue/field/velocity output, signed queue wrap/wrapper suppression/root arguments, ground-caller timer/touch order, queue retention and unreached-child/selected-slide controls, source partitions and scope. All639 tests pass. Prior ground-callee report regenerates byte-identically; final landing report reproduces twice byte-identically (506714 bytes). Storage/filter setup, documentation links and whitespace checks pass. No assets or existing analyzer/evaluator code changed. RE-512 remains open for broader scope; RE-516 tracks event/PS216 consumers,46296 recovery/native/legal effects, other action/posture-ground/animation/mode/suffix work and complete main/scheduler/macOS/Linux Rust/Bevy/Solari gameplay. Broad game/assets/rendering/protocol milestones remain open. | |
| ## 2026-10-19 β Game-QVM allsolid recovery and actual ground/main caller | |
| Completed bounded RE-517β519 with `analyze_qvm_recovery.py`:34 standalone46296 probes cover every first-clear rank0β26, full27-trial exhaustion and rank0/13/26 follow-up-solid/air controls;16 actual ground/main chains connect evaluated recovery state/return/record. RECOVER-001β002/RECOVERCHAIN-001/F-247β249 recover X/Y/Z ordered offsetsβ1/0/+1, first-zero-allsolid short circuit, failure ground1023/plane-walk0 without PS position/velocity changes, and success retrace from original origin to Zβ0.25 rather than committing the free candidate. Source copies56-byte follow-up to globals and returns1 without retesting allsolid; caller classifies updated local record or exits on0, preserving local/global record distinctions on failure. Repeated native-call checkpoints are explicitly re-enabled after evaluating each consumed allsolid branch. Main outcomes:ten evaluated41768 first-clear/wrapper/gravity chains and six omitted43626 requests, then actual post environment. Candidate/follow-up/native responses remain supplied, including deliberately inconsistent follow-up-allsolid controls; logging/other ground-posture-action-query-mode-suffix/native/legal/full runtime effects remain omitted or unverified. No original executable/full QVM/native collision/physics/rendering executes. Eight independent tests verify every search coordinate/order/count/argument, native bounds/mask/pointers, unchanged PS vectors, original-origin retrace/copy/allsolid priority, actual caller classification/touch/return state, derived routing/reached slide/mode/post-environment handoffs, full source partition/hash and scope. All647 tests pass. Prior main-environment report regenerates byte-identically; new recovery report reproduces twice byte-identically (1540584 bytes, below normal-Git2MiB). Storage/filter setup, documentation links and whitespace checks pass. No assets or existing analyzer/evaluator code changed. RE-516 remains open for broader scope; RE-520 tracks native collision/consistent contact-escape/logging/ABI domains, combined posture/recovery/landing/lost/animation/action/alternative-mode/suffix state, event/PS216 consumers and complete main/scheduler/macOS/Linux Rust/Bevy/Solari gameplay. Broad game/assets/rendering/protocol milestones remain open. | |
| ## 2026-10-19 β Game-QVM combined posture and recovered ground callees | |
| Completed bounded RE-521β523 with `analyze_qvm_combined_ground.py`:18 shared-state main fixtures combine actual posture with36 ground invocations, reached46296 recovery(6),46527 ground loss(6),45912 landing(15), direct39525 ground animation(3) and39253 touches(15). COMBGROUND-001β003/F-250β252 recover source-order child/caller interactions at both main ground boundaries, including posture leg timer200 reset by later ground-loss animation before aging versus retained200β184 paths, landing/main250β234 movement timer, event queue/resource retention and later animation without recomputing earlier posture hull/viewheight. Fifteen selected41768 fixtures evaluate30 slide children through actual step/wrapper/mode then post-ground/final contents; three41848 requests retain omitted effects. Independent child formulas and separate parent-store state machine verify full extended ground snapshots and live timer/mode inputs. Native contents/stand/ground/recovery/deep/slide/down/overlap/root responses and initial state remain supplied; action54981/logging/query/alternative-mode/other suffix/native consumers, legal collision domains/full53418/scheduler/platform gameplay remain omitted or unverified. No original executable/full QVM/native collision/physics/rendering executes. Eight tests verify all posture/helper/ground/caller states, exact source child order, temporal timer/hull/resource/event effects,30 independent slide predictions/step-wrapper-mode outputs, final content persistence, source identity and scope. All655 tests pass. Prior main-posture report regenerates byte-identically; new combined report reproduces twice byte-identically (1506360 bytes, below normal-Git2MiB). Storage/filter setup, documentation links and whitespace checks pass. No assets or existing analyzer/evaluator code changed. RE-520 remains open for broader scope; RE-524 tracks remaining action/query/mode/suffix/event consumers/native/legal/real producers and complete main/scheduler/macOS/Linux Rust/Bevy/Solari gameplay. Broad game/assets/rendering/protocol milestones remain open. | |
| ## 2026-10-19 β Game-QVM54981 forward probes, recursive rebase and actual main producer | |
| Completed bounded RE-525β527 with `analyze_qvm_action_probe.py`:42 standalone54981 probes and16 actual main post-timer chains. ACTIONPROBE-001β003/F-253β255 recover existing12/32 entry and16 exit gates, clearing12, planar supplied-basis normalization/root/zero path, viewheight first trace and conditional entity-exclusion retry with mask65537, feet probe mask33619969 and trace-surface8-driven PS8/4 stores. Argument1 uses Zβ24/ten-unit geometry, qualifying supplied endpoint rebase Z+24, actual disjoint-frame argument0 recursion and conditional45912 with parent entity/current snapshot state. Explicit rebase fixtures preserve[101,202,304] whether landing is suppressed or reached; native endpoint validity remains unverified. Actual main54981(0) consumes live aged posture/ground state before query/routing, producing eight evaluated41768, six omitted55465 and two omitted43626 requests. Main bridge adds optional action effect with byte-identical defaults. Ground-loss nested54981(1), query/alternative modes/other suffix effects remain omitted in reused chains. Native roots/records/positions/basis/state remain supplied; no original executable/full QVM/native collision/physics/rendering executes. Eight independent tests verify all guard/normalization/geometry/retry/flag/recursion/landing outputs and entry handoffs, parent entity/rebase persistence, source pointer/mask/root arguments/zero basis,16 posture-ground-timer-action snapshots, query/mode counts and reached slide/mode/post-ground states, provenance and scope. All663 tests pass. Prior main-contact and combined-ground reports regenerate byte-identically; new action report reproduces twice byte-identically (924731 bytes). Storage/filter setup, documentation links and whitespace checks pass. No assets or shared instruction evaluator changed. RE-524 remains open for broader scope; RE-528 tracks nested ground-loss action/query/other modes/native/legal/consumers/real producers and complete main/scheduler/macOS/Linux Rust/Bevy/Solari gameplay. Broad game/assets/rendering/protocol milestones remain open. | |
| ## 2026-10-19 β Game-QVM nested ground-loss action and main re-probe ordering | |
| Completed bounded RE-529β531 with `analyze_qvm_lost_action.py`:48 standalone46527/nested54981 cases and12 actual posture-ground-timer-main-action/movement/post-environment chains. LOSTACTION-001β003/F-256β258 recover actual54981(1) before old-ground sentinel and updated flags rereads, initial flags&12 prepared-child suppression, sentinel-first plane clearing versus new-contact-bit early exit/plane retention, rebased64-unit deep geometry after a clear recursive child and deep-query/animation suppression after flag-producing recursion. Main then executes distinct54981(0), clearing/rebuilding flags/query gating while128 selects41768 in all12 controls; actual first-clear slide/wrapper/gravity/post-ground landing/touch/event/resource states remain shared. Later outer ground landing can store250 after main aging, unlike nested landing's own effects. Optional action callback in lost and optional lost callback in combined ground preserve original defaults/reports. Roots/native records/endpoints/basis/input/state remain supplied; logging/query/alternative modes/other suffix/native consumers/full53418/scheduler/legal collision/platform gameplay remain omitted or unverified. No original executable/full QVM/native collision/physics/rendering executes. Eight independent tests verify all helper/child/caller states, sentinel/flags/rebase/query priority and twelve skipped actions, main entry/two call-site identity/query gates, reached mode/post-ground parent timer states, final queue/resource/animation persistence, source identity and scope. All671 tests pass. Prior ground-callee, combined-ground and action-probe reports regenerate byte-identically; new report reproduces twice byte-identically (1295119 bytes). Storage/filter setup, documentation links and whitespace checks pass. No assets or shared instruction evaluator changed. RE-528 remains open for broader scope; RE-532 tracks actual query/alternative modes/consumers/real producers/native/legal and complete main/scheduler/macOS/Linux Rust/Bevy/Solari gameplay. Broad game/assets/rendering/protocol milestones remain open. | |
| ## 2026-10-19 β Game-QVM shared query, side-clearance child and main acquisition event | |
| Completed bounded RE-533β535 with `analyze_qvm_main_query.py`:30 standalone full-PS query probes and20 actual clock/timer/action/query/main chains. MAINQUERY-001β003/F-259β261 evaluate reached56335 with live memory and disjoint frames, independently verify side roots/geometry/first-clear short circuit and all256 PS words, then carry actual56639 velocity/anchor/field44/torso/state/return into main. Fractional Z300.75 acquires anchor300; release applies the normalized impulse to current velocity and clears anchor/state with field44 floor300. Main old-state snapshot controls flags2 after nonzero return; ten action-produced feet-hit cases suppress query entirely. Ten remaining queries route to ten total evaluated41768 chains; alternative totals are five55465, four43626 and one57312 with omitted effects. Exactly two new-acquisition fixtures execute actual39238(23)/29913 before routing, storing numeric event23/parameter0 and advancing the two-slot queue; event meaning/consumers remain open. Optional shared-memory/query/event/state inputs preserve old defaults. Native roots/fractions/records and initial basis/ground/bounds/state remain supplied; environment/posture/alternative-mode/other suffix/full53418/scheduler/legal collision/platform gameplay remain omitted or unverified in these fixtures. No original executable/full QVM/native collision/physics/rendering executes. Eight independent tests cover transitions/full PS/geometry, skipped children and caller gating, old-state flags2/mode priority, reached event queue and full outputs into movement, independent slide/mode gravity checks, source identity and scope. All679 tests pass. Prior traversal-query, clearance-mode, main-contact and lost-action reports regenerate byte-identically; new report reproduces twice byte-identically (809190 bytes). Storage/filter setup, documentation links and whitespace checks pass. No assets or shared instruction evaluator changed. RE-532 remains open for broader scope; RE-536 tracks other movement bodies/combined producers/native/legal/event-consumer/main/platform work. Broad game/assets/rendering/protocol milestones remain open. | |
| ## 2026-10-19 β Game-QVM57312 active-state movement and full-project progress assessment | |
| Completed bounded RE-537β539 with `analyze_qvm_active_mode.py`:66 standalone57312 fixtures and12 actual main chains. ACTIVEMODE-001β003/F-262β264 evaluate live39988 friction,40397 command scaling, source plane/up wish replacement, forward-sign fixed ZΒ±70 and wish/PS horizontal zeroing, actual40275 acceleration, stationary hull request/logging priority and reached57714(0) clear/contact state. Two additional tilted-basis controls isolate zero-forward basis-Z input and discarded direct-up addition; roots and exact float words retain source rounding/sign behavior. Actual main callback at54424 executes57312 in four chains; six higher-priority41768 controls and two gated55465 requests never receive its effects. Four acquisitions evaluate event23 before movement with persistent queue/anchor/state. Friction shared-memory/return-memory options and main active-mode callback preserve old defaults. Native roots/fractions/ordered records/interpolated positions, finite basis/state/configuration remain supplied; logging/environment/posture/other modes/main prefix-suffix/native/legal/full scheduler/platform gameplay remain omitted or unverified. No original executable/full QVM/native collision/physics/rendering executes. Eight independent tests verify helper arithmetic/whole movement outputs, overwritten wish/up/horizontal state, tilted basis, stationary native pointer/bounds/mask/logging order,12 actual query/event/main handoffs, skipped children, initialized-word provenance and scope. All687 tests pass. Prior friction/main-contact/main-query reports regenerate byte-identically; new report reproduces twice byte-identically (1730167 bytes, below normal-Git2MiB). Storage/filter, documentation links and whitespace checks pass. No assets or shared instruction evaluator changed. RE-536 remains open for broader scope; RE-540 tracks other modes/combined producers/native/reference/main/platform completion. | |
| Also documented the requested provisional completion estimate in `docs/PROGRESS.md`:5β10% of the full requested project under explicit subjective effort weights, and0% playable Rust runtime. Audited evidence includes no Cargo manifests/Rust sources,687 analyzer/tool tests,248 checked/292 open RE items,4 checked/129 open asset-pipeline items and0 checked/173 open rewrite items. Checkbox/test counts do not measure full-game fidelity. No complete M0βM11 exit gate is credited; M0/M2/M3 have partial evidence and the native Bevy/Solari proof/first Rust vertical slice/reference execution harness are concrete next completion milestones. Estimate has low confidence and supplies no delivery date or unsupported platform claim. | |
| ## 2026-10-19 β Game-QVM55465 entry impulse, inline clip and measured resource | |
| Completed bounded RE-541β543 with `analyze_qvm_flagged_mode.py`:50 standalone fixtures and8 actual main chains. FLAGGEDMODE-001β003/F-265β267 evaluate40966's relevant guard/flags12 impulse branch before55465's bit16 reread, including flags256 precedence, signed up<10, existing8192 command-up STORE1 propagation, new plane/walk clearing/ground1023/flags8192 and normalized planar directionΓβ50/bit16 stores. Eight standalone entry calls return1;28 existing/new16 cases bypass friction/scale/acceleration/resource and invoke57714(0) directly. Successful non-flags12 entry body is explicitly rejected rather than silently modeled. Normal55465 evaluates live friction/scale, signed forwardΒ±150 and strict absolute100 quarter-Z threshold, normalized wish cap PS52Γfile-backed0.5, actual acceleration coefficient3000 and four negative-dot inline overbounce projections with normalization back to original speed. Reached gravity-off clear/contact slide feeds actual post-slide full-speed measurement into39595;22 normal standalone resource cases exercise recovery with shared meter/counter/inventory/canary. Eight main action-produced query-gated cases select four actual55465 (including two entry16 bypasses) and four higher-priority41768 controls without55465 effects; no acquisition events occur. Optional resource shared-memory/return-memory and flagged-mode main callback preserve defaults. Native roots/ordered traces/interpolated endpoints/finite state/basis/configuration remain supplied; other entry/movement bodies, environment/posture/nested-action/native/legal/main-prefix-suffix/consumer/scheduler/platform gameplay remain open. No original executable/full QVM/native collision/physics/rendering executes. Eight independent tests verify source order/byte-state/guard/impulse/bypass outcomes, wish thresholds/cap/acceleration, exact projection and speed restoration, actual slide/measurement/resource outputs and skipped effects, main handoffs, unsupported-domain rejection and source/configuration provenance. All695 tests pass. Prior resource, main-contact, main-query and active-mode reports regenerate byte-identically; new report reproduces twice byte-identically (1445198 bytes, below normal-Git2MiB). Storage/filter, documentation links and whitespace checks pass. No assets, Rust runtime or shared instruction evaluator changed. RE-540 remains open for broader scope; RE-544 tracks the non-flags12 entry body/remaining modes/combined producers/reference/native/main/platform completion. The dated whole-game progress assessment remains a research/tooling estimate with no playable Rust/runtime milestone credited. | |
| ## 2026-10-19 β RE-545 full40966 entry helper (separate task commit) | |
| Recovered the successful non-flags12 body with actual event99/queue and forced-animation children, retaining early/flags12 branches.84 finite fixtures cover strict1500 resource threshold, state128 override, reduced202.5/full270 Z, pre-cost velocity choice, four4096/direction animation requests and timer/type/equality order, first16 inventory scan/cost1800 or3600, configuration>=2 deduction bypass and up STORE1. Eight independent tests verify full captured state/calls/bytes and source/scope. All703 tests pass. New report regenerates byte-identically (708675 bytes); storage/filter, documentation links and whitespace pass. No assets/runtime/shared evaluator changed. Caller/native/legal/platform work remains open; no original executable/full QVM/native physics/rendering executes. | |
| ## 2026-10-19 β RE-546 actual walking entry routing (separate task commit) | |
| Connected full40966 at actual43626 local108 boundary and main walking callback54433.24 standalone cases check initial deep-level/positive-dot bypass, reached entry/command byte mutation and level-dependent41848/42838 requests versus ordinary43683 continuation;4 main chains retain actual timer/action/query state and suppress walking effects under128 priority. Delegated movement and ordinary suffix effects remain explicitly omitted. Eight new independent tests pass; all711 tests pass. Prior main-contact/active-mode/flagged-mode reports and new walk-entry report regenerate byte-identically (new report263362 bytes). Storage/filter, links and whitespace pass. No assets/runtime/shared evaluator changed; native/reference/legal/full movement/platform work remains open. | |
| ## 2026-10-19 β RE-547 ordinary42838 and walking-launch continuation (separate task commit) | |
| Recovered ordinary air path after actual initial wall guard; unrecovered wall-specific body is explicitly rejected. Actual friction, copied-command scale, planar live-basis normalization, wish/acceleration coefficient1, optional inline overbounce clip and reusable60091 gravity-on first slide/conditional step/second slide/fallback share memory.12 standalone fixtures include6 reached step children.10 main chains attach4 reached walking-entry-to-air requests; resource1499/1500/4000 controls distinguish pre-cost launch202.5/270 from post-cost scaling at resource0/400, with numeric event99/animation/timer/resource persistence. Ordinary walking and higher-priority controls never receive delegated air effects. Eight independent tests verify helpers, exact arithmetic/basis/clip, both slides/step/wrapper, command-copy pointer and word configuration, source identity, guarded rejection and main handoffs. All719 tests pass. Prior contact-wrapper, main-contact, active-mode, flagged-mode and walk-entry reports regenerate byte-identically; new report reproduces twice byte-identically (725308 bytes). Storage/filter, links and whitespace pass. No assets/Rust runtime/shared evaluator changed. RE-548 retains wall-specific/ordinary walking/41848/combined producers/native/reference/main/scheduler/platform completion. This is task3 of the requested separately committed sequence. | |
| ## 2026-10-19 β RE-549 Recover40679 movement direction classification (separate task commit) | |
| Signed forward/right input selects all eight direction values; idle rewrites old2 to1 and6 to7, preserving other prior values. 100 signed-byte/prior-state cases and four independent tests cover octants, idle exceptions, canary and source identity. Full suite: 723 tests pass. Report regenerates byte-identically (69217 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-19 β RE-550 Recover162-vector direction codec60317 and60408 (separate task commit) | |
| Encoder uses strict-greater positive dot search initialized to score0/index0, so earliest ties survive and null/zero choose0. Decoder copies table entries0..161 or the initialized zero fallback. 326 encode inputs,165 decode indices and four independent tests validate exact float32 dots, table provenance, null/zero and invalid bounds. Full suite: 727 tests pass. Report regenerates byte-identically (142623 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-19 β RE-551 Recover42838 wall guard and trace hull restoration (separate task commit) | |
| Wall probe requires2048, a strict negative-Z interval and count below configuration. It shifts the endpoint five units opposite stored XY normal, temporarily sets hull min-Z10, restores min-Z, and sets count10 on fraction>=1. PS440 aliases inventory slot16 in the captured17-slot view. 32 guard/fraction controls and four independent tests cover gate order, endpoint/pointers/mask, temporary hull restoration and pending-success versus failure state. Full suite: 731 tests pass. Report regenerates byte-identically (91980 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-19 β RE-552 Compose wall success entry events and air continuation (separate task commit) | |
| Successful40966 is followed by counter increment, a second resource check after entry cost, a100/200 horizontal wall impulse, event86 with actual direction-codec parameter and forced animation26 before ordinary air movement. 24 entry/configuration/resource/continuation fixtures and four independent tests predict both event slots, post-cost velocity, alias counter, real codec and full air/wrapper outputs. Full suite: 735 tests pass. Report regenerates byte-identically (522953 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-19 β RE-553 Recover41486 water-entry queries and launch state (separate task commit) | |
| With timer0 and level2,41486 probes30 units along normalized planar basis at Z+4 then+20; first contents must contain bit1 and second must equal0. Success uses raw basis times200 for XY, forces Z350, sets128 and timer2000. 36 timer/level/contents/basis cases and four independent tests validate exact state, query short circuit, normalized geometry versus raw launch basis and absence of event/resource cost. Full suite: 739 tests pass. Report regenerates byte-identically (108378 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-19 β RE-554 Connect41848 entry guard to actual41768 fallback (separate task commit) | |
| Actual41486 return determines whether41848 enters ordinary swimming at41862 or executes41768 with the newly written velocity,128 flag and2000 movement timer before its gravity tail. 36 gate/fraction/contact controls and four independent tests validate helper routing, live launch state, both slide/step branches, wrapper fallback and exact41768 tail outputs. Full suite: 743 tests pass. Report regenerates byte-identically (431168 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-19 β RE-555 Recover complete ordinary41848 swimming and main handoff (separate task commit) | |
| Ordinary swimming uses idle Zβ60 or scaled three-axis wish, caps speed by PS52 times source21172, accelerates with21196, projects only into-plane velocity while restoring speed, then uses gravity-off57714 return to set or clear32. 12 normal fixtures, four actual main water paths and four independent tests validate exact helper arithmetic, projection/slide results, idle sink, result-dependent flags and exclusive fallback versus swim effects. Full suite: 747 tests pass. Report regenerates byte-identically (801470 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-19 β RE-556 Recover ordinary walking direction and slope wish producer (separate task commit) | |
| Walking friction and copied-command scaling precede actual40679, flattening and clipping each live basis vector against the ground normal, normalizing them and building a three-axis slope-aligned wish. 16 command/normal/prior-direction fixtures and four independent tests validate exact clip/normalize arithmetic, raw wish/root, classifier temporal order and copied pointer. Full suite: 751 tests pass. Report regenerates byte-identically (116042 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-19 β RE-557 Recover walking speed policy acceleration projection and resource (separate task commit) | |
| Walking applies flag/state/resource/water caps then a timed state128 override, selects acceleration from surface/flags/speed, performs two normalized plane projections and passes saved pre-projection speed into39595. 30 command/policy profiles and four independent tests reproduce exact speed/cap/coefficient rounding, acceleration, both projections, timed250 boundary and resource outputs. Full suite: 755 tests pass. Report regenerates byte-identically (416388 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-19 β RE-558 Complete bounded walking wrapper and combined main handoffs (separate task commit) | |
| Complete43626 routes actual entry to air/water or normal policy, clears32 and runs60091(0) only when horizontal velocity is nonzero; actual main posture/contents/ground/timer/action/query and post-ground share the resulting state. 26 standalone/8 combined-main fixtures and four independent tests compose all prior child oracles, native-supplied wrapper/step paths, zero-horizontal controls, entry events/resource and higher-priority mode suppression. All ten direct test entrypoints are executable. Full suite: 759 tests pass. Report regenerates byte-identically (1716605 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ### Ten-task batch final regression audit | |
| RE-549β558 each has its own code/tests/report/documentation commit. All759 tests pass; all ten direct test commands execute four tests each. Ten new reports and six prior contact/main/active/flagged/walk-entry/air reports regenerate byte-identically after final integration. New reports remain below the2MiB normal-Git cap. Completed coverage and explicit native-supplied limits are indexed in `research/QVM_MOVEMENT_BATCH.md`; RE-559 preserves remaining original-reference/native/runtime/rendering/content/platform work. No asset payloads or Rust runtime were added. | |
| ## 2026-10-19 β RE-560 Complete bounded freeflight movement (separate task commit) | |
| 42486 composes friction, command scale multiplied by1.5, a three-axis wish, normalization and coefficient8 acceleration, then integrates position only if any resulting absolute velocity component exceeds1. 64 finite fixtures independently check friction, scaling, wish geometry, normalization, acceleration, strict integration threshold and untouched state. Full suite: 763 tests pass. Report regenerates byte-identically (453652 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-19 β RE-561 Water transition event matrix and queue composition (separate task commit) | |
| 48716 independently emits entry100/101, exit6, full-submersion7 and resurfacing8. Entry101 requires vertical velocity strictly belowβ500;0β3 and3β0 each enqueue two ordered events. 144 fixtures cover all16 legal level pairs, three velocity boundaries and sequence0/1/unsigned wrap; independent queue and mutation oracles pass. Full suite: 767 tests pass. Report regenerates byte-identically (588597 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-19 β RE-562 Torso selector priority and weapon class dispatch (separate task commit) | |
| 49117 first rejects nonzero weapon state, then prioritizes legs25 over button8192/16384, then selects torso requests from a file-backed class jump table and tag22/25 exceptions. 93 probes cover initialized weapon IDs0..27, timer gates, classesβ1..7, tag exceptions, toggle-bit aliases and priority conflicts with independent request/animation oracles. Full suite: 771 tests pass. Report regenerates byte-identically (545687 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-19 β RE-563 Reload request gates and timer animation event effects (separate task commit) | |
| 49652 gates reload on button32, packed magazine/reserve bytes and state flags, sets state bit8 and a configured timer, requests torso56/57 and emits event3 without transferring ammunition. 108 probes independently check special IDs14/23, capacity equality, reserve, weapon states, action argument, timer overrides, timed animation and queue writes. Full suite: 775 tests pass. Report regenerates byte-identically (501354 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-564 Interaction trace and direct action consumers (separate task commit) | |
| 49918 chooses a contents-bit33554432 trace action or direct state128/256 action, applies ordered timers/events/animations, and uses a health-gated first16-slot item19 search to select750 versus1500. 47 fixtures independently check gate priority, signed height division, trace geometry, first matching inventory slot including excluded slot16, timer/state/animation effects and event order. Full suite: 779 tests pass. Report regenerates byte-identically (345178 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-565 Packed mode availability edge latch and resource countdown (separate task commit) | |
| 50250 edge-latches button128 into state32768/event15;50309 permits availability on mode flag4 or nonzero magazine;50397 drains with the full dt when its countdown reaches zero. Seven chained latch ticks,30 availability probes and44 resource fixtures independently check release/rearm, queue wrap, packed addressing, signed multiplication/subtraction wrap and clamps. Full suite: 783 tests pass. Report regenerates byte-identically (191549 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-566 Mode switch and ordered weapon prefix (separate task commit) | |
| 49327 cycles packed mode with release latch16 and ID-specific exceptions;50746 orders button latch, weapon timer decrement, resource countdown and mode switch before weapon selection. 82 mode fixtures and84 prefix fixtures independently check complete writes, source-order child state, death/flag early exits and negative timer preservation. Full suite: 787 tests pass. Report regenerates byte-identically (642934 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-567 Airborne locomotion animation and bob cycle (separate task commit) | |
| 47884 caches horizontal speed in FRAME216, then airborne animation priority combines water/crouch, traversal flags and state1024; traversal bob advances only for absolute forward input strictly above100. 120 probes independently check horizontal sqrt input, frame versus PS field identity, all request order/effects, bob wrap, event5 threshold crossing and grounded stopping boundary. Full suite: 791 tests pass. Report regenerates byte-identically (1446102 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-568 Complete locomotion gait bob and footstep consumer (separate task commit) | |
| Complete47884 selects grounded stance/gait requests, advances a masked bob cycle at.3 or.4 rates, and emits surface39, shallow32 or water41 events only on cycle crossings with route-specific suppression. 120 complete fixtures independently check idle speed5 boundary, crouch/walk/run/backward/boost/special routes, class/tag torso choices, exact float bob arithmetic and surface/water event effects. Full suite: 795 tests pass. Report regenerates byte-identically (1570164 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-569 Main request and independently bounded animation consumer chains (separate task commit) | |
| Actual54444 reload/interaction order exposes timer interference before the weapon prefix; a separate54455 torso/locomotion/water segment verifies animation and queue overwrite order without bridging the unrecovered weapon body. 24 request chains and18 independent animation chains check every live child handoff and exact state with independent task oracles, caller suspension and explicit no-full-tick scope. Full suite: 799 tests pass. Report regenerates byte-identically (1393581 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-571 Weapon slot lookup and numeric return contract (separate task commit) | |
| 31691 searches the first16 packed weapon slots, compares their low bytes to the full requested integer and returns the first index orβ1 without changing game state. 111 fixtures cover slot0/1/7/15, excluded slot16, duplicates, absent entries, upper-byte canaries and requests outside the low-byte range. Full suite: 803 tests pass. Report regenerates byte-identically (318642 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-572 Weapon selection request gates and transition effects (separate task commit) | |
| 48798 validates requested IDs1..27 and actual slot presence, emits30/parameter0, sets state2/timer0-or300 and timed torso54, then resets counters/resources and clears bits64/8/512 without switching slots. 76 fixtures independently check every guard, slot15 versus excluded16, state3 magazine exception overridden by state8, actual child order and all retained weapon records. Full suite: 807 tests pass. Report regenerates byte-identically (531673 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-573 Weapon transition completion and fallback contract (separate task commit) | |
| 49028 looks up command weapon byte then fallbackID1, writes the returned slot without checking a secondβ1, sets state1, adds250 to timer, requests torso55 and emits30/parameter1. 52 probes independently check requested/fallback priority, slot15, missing fallback, signed timer overflow, type/timer animation gates and event parameter1. Full suite: 811 tests pass. Report regenerates byte-identically (670259 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-574 Helper50525 native trace gates and event contract (separate task commit) | |
| 50525 clears PS12 bit8192 on low up input or, after ordered gates, traces30 units ahead from originZ+30; contents33554432 sets state4096 and queues14 with native record+52 as parameter. 80 fixtures check level/type/input priority, strict vertical speed, suppression fields, native request geometry/ABI and signed parameter preservation; direct main caller54020 is inventoried. Full suite: 815 tests pass. Report regenerates byte-identically (271030 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-575 Weapon prefix to actual selection handoff (separate task commit) | |
| 50746 re-decodes the current ID after mode processing, requests48798 only when it differs from command byte24, and suppresses that request for currentID27 while its decremented timer is positive. 41 source-order compositions check prefix oracles, equality and ID27 timer16/17 boundary, present/missing requested slot, helper rejection and actual early exits. Full suite: 819 tests pass. Report regenerates byte-identically (1148636 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-576 Weapon continuation guards timer floors and cancellation (separate task commit) | |
| 50923..51206 applies ordered traversal/action guards, floors timers at300, conditionally cancels state512 and returns while timer is positive; two ID checks literally assign localID12 on their fallback paths. 90 independent probes check exact state/stop/local-ID results, timerβ1/0/1/299/300, state512/button priority and literal assignment for IDs outside11/13. Full suite: 823 tests pass. Report regenerates byte-identically (260588 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-577 Ready weapon refill cadence and interaction re-entry (separate task commit) | |
| 51207..51364 refills ID27 magazine from configured capacity, handles mode-flag1/counter cadence, then clears state1 before optional button64 interaction re-entry and exits. 88 probes independently check packed-byte preservation, signed counter boundary, source stop/call priority and actual interaction child state after bit1 clears. Full suite: 827 tests pass. Report regenerates byte-identically (321281 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-578 Reload completion packed ammo transfer and re-entry (separate task commit) | |
| 51365..51632 increments the magazine byte when record flags16 is set, otherwise replaces it with capacity; both decrement reserve modulo256, reset counter204, clear state8 and call49652(argument0). 115 independent probes check increment/replacement, full/partial magazines, reserve0/1/2 wrap, preserved ID/mode/unselected words and live reload re-entry gates. Full suite: 831 tests pass. Report regenerates byte-identically (878739 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-579 Weapon lowering raising and frame gates (separate task commit) | |
| 51633..51801 completes state2 via49028, resets state1 to0 and selects a separate class-based torso table, then gates other states on FRAME232 and FRAME36 before firing entry51802. 87 fixtures independently check completion fallback and state handoff, all classesβ1..8, button priority, animation timer/type guards and both frame gates. Full suite: 835 tests pass. Report regenerates byte-identically (796730 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-580 Pre-firing weapon return chains and actual main suffix handoff (separate task commit) | |
| Recovered50746 branches now compose through51801, preserving the pre-switch mode local; actual53046 returns resume main torso/locomotion/water calls while51802 paths keep the caller suspended. 16 independent source-order scenarios check every reload/interaction/prefix/selection/guard/ready/ammo/phase handoff, full final state, suspension versus resume and old-mode-local preservation. Full suite: 839 tests pass. Report regenerates byte-identically (1198369 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| RE-580 additional regression: all19 reports from RE-560β569 and RE-571β579 regenerate byte-identically after the explicit-byte-input and optional caller-memory/local-preservation additions. The new composition keeps the parent suspended at51802 rather than assuming a firing-body return. | |
| ## 2026-10-20 β RE-582 Firing charge hold release and ordinary input gate (separate task commit) | |
| 51802..52084 uses mode flag8 to availability-gate a state32/64 charge latch and event1, handles requested-ID exceptions11/12, and otherwise lets nonzero burst counters bypass absent button1. 203 independent fixtures check charge start/hold/release/cancel, flags4 availability, command mismatch exceptions and signed nonzero counters without altering ammo or published request fields. Full suite: 843 tests pass. Report regenerates byte-identically (1209597 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-583 Availability failure event and timer exception (separate task commit) | |
| 52085..52153 exits state1 before querying availability; unavailable ID27 returns unchanged, while other unavailable weapons zero counter204, queue29 and add500 to the timer. 110 probes check actual50309/39238 order, flag4 versus magazine, state1 priority, ID27, signed timer overflow and queue wrap without ammo/request writes. Full suite: 847 tests pass. Report regenerates byte-identically (661634 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-584 Firing magazine debit and preserved mode flag (separate task commit) | |
| 52154..52252 decrements only a nonzero selected magazine byte unless preserved local-mode flags4 suppress it; ID/mode/reserve and other slots remain unchanged. 100 probes check slot0/15, magazines0/1/2/255, IDs1/22/27 and deliberately differing local versus packed modes with independent full-state oracles. Full suite: 851 tests pass. Report regenerates byte-identically (333406 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-585 Firing animation priority before class dispatch (separate task commit) | |
| 52253..52411 prioritizes masked legs25 over weaponIDs4/24, then action buttons8192/16384; resolved routes select conditional53/64/49 or timed61/51 and skip the class continuation. 148 probes independently check toggle-bit aliases, priority conflicts, movement-leg alternatives, positive timers, kind3 and supplied duration0/β1 effects with actual animation children. Full suite: 855 tests pass. Report regenerates byte-identically (980744 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-586 Complete firing animation class tag and gait dispatch (separate task commit) | |
| 52253..52729 completes firing pose selection: the class jump table combines running-leg membership with tag22/tag25 exceptions, after the recovered earlier priority routes. 112 independent probes check classesβ1..8, tags22/25/99, masked running legs, weapon/button priority, exact helper kind/timer/duration effects and initialized jump targets. Full suite: 859 tests pass. Report regenerates byte-identically (827171 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-587 Firing request publication burst counter and selected delay (separate task commit) | |
| 52730..52872 publishes FRAME260=1/264=0 and weapon state3, reloads a zero counter from mode+48, selects mode+44 burst delay while counter>1 and otherwise mode+8 delay, then decrements positive counters. 90 independent counter/config/delay probes plus four chained slice entries check exact publication, signed comparisons, burst terminal delay and retained ammo/event/timer state. Full suite: 863 tests pass. Report regenerates byte-identically (317156 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-588 Firing resource snapshot capacity arithmetic and reset (separate task commit) | |
| 52873..52988 snapshots resource188 into PS216, adds truncated30000/capacity with only an upper30000 clamp and sets a mode cooldown; mode flag16 instead zeros all three fields. 101 independent probes check integer quotient, signed wrap, negative/near-limit resources, capacity7/32/255, flag16 and zero-capacity bypass; an unguarded zero divisor is explicitly rejected. Full suite: 867 tests pass. Report regenerates byte-identically (337475 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-589 Final firing delay and last-round exception (separate task commit) | |
| 52989..53045 adds the retained selected delay to PS44 only if the post-debit magazine is nonzero or selectedID27; other empty magazines return without adding it. 108 independent timer/delay/ID/magazine probes plus actual debit handoffs for IDs22/27 check wrap and last-round timer behavior without reloading the delay record. Full suite: 871 tests pass. Report regenerates byte-identically (376037 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-590 Complete bounded weapon body and actual main consumer suffix (separate task commit) | |
| The entire50746 QVM body now executes with recovered children and agrees with independent staged oracles; actual main54444..54463 resumes through firing and non-firing returns with live state handoffs. 12 complete-body scenarios and two six-child main suffixes check every reached stage, complete final state, direct callee inventory and source-order event/animation effects. Full suite: 875 tests pass. Report regenerates byte-identically (1246760 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-591 Timer-coupled firing sequences and actual outer publication (separate task commit) | |
| Actual outer reset/timer/main-suffix/publication segments connect complete weapon effects to event31; three burst substeps retain one request and publish once, with independently checked selection/reload/last-round sequences. Four multi-call scenarios check every timer/reset handoff and explicit state timelines; actual93β21β31 publication verifies order, cached ID/magazine, parameters and ring wrap. Full suite: 879 tests pass. Report regenerates byte-identically (216110 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| RE-591 additional regression:19 related reports from RE-571β580 and RE-582β590 regenerate byte-identically. Complete-body composition and repeated suffix calls add no original assets or Rust runtime changes; native firing consumers and complete original/reference ticks remain explicitly outside the completed scope. | |
| ## 2026-10-20 β RE-593 Server event queue window and firing branch routing (separate task commit) | |
| 151254 consumes at most the latest two ring events using a signed old-sequence clamp; event31 routes to151634, while other recognized consumers are stopped explicitly. 150 independent fixtures check old/new sequence windows, ring parity, ignored/recognized event priority, unchanged state and no fabricated child execution. Full suite: 883 tests pass. Report regenerates byte-identically (409911 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-594 Published firing event to server pre-call reset (separate task commit) | |
| Actual outer31 publication reaches server151634, which writes client4140=0 and4328=1 before pending289235(entity); this prelude does not read the queued parameter. 36 producer/ring/routing/reset compositions independently check one/three publications, parity, retained parameters, exact two-field mutation and explicit pending-call boundary. Full suite: 887 tests pass. Report regenerates byte-identically (340717 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-595 Server firing suppression statistic and angle basis (separate task commit) | |
| 289235 first rejects client6164!=0, otherwise increments statistic4116 unless entity weaponID1, then builds global forward/right/up from client angles using native sin/cos requests. 80 independent fixtures check suppression, ID0/1/22/28, statistic wrap, float32 pitch/yaw/roll basis formulas and actual six-native-call order/arguments. Full suite: 891 tests pass. Report regenerates byte-identically (335153 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-596 Server muzzle origins and actual firing handoff (separate task commit) | |
| 288779 uses entity+24 plus integer client viewheight and14Γforward;288871 omits the forward offset. The actual289485 caller passes global basis/output pointers without native snapping. 50 independent fixtures check pitched/nonunit forward, fractional/negative entity bases, viewheight boundaries, unused right/up pointers, in-place entity-base output and actual caller arguments. Full suite: 895 tests pass. Report regenerates byte-identically (159008 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-597 Entity weapon dispatcher and unresolved handler inventory (separate task commit) | |
| 289499 dispatches entity+192 through initialized table32688; IDs12/18 return here,18 IDs share293732, and other entries select distinct opaque handlers including285840/285971/288903. 124 probes independently check all IDs1..27 and invalidβ1/0/28/29, slot/packed-ID mismatch, exact pending call catalog and actual basisβmuzzleβdispatch handoffs. Full suite: 899 tests pass. Report regenerates byte-identically (359780 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-598 Temporary event record construction and position setter (separate task commit) | |
| 277695 builds a tempEntity with event type+19, time and flags, truncates the position before actual278138 sets trajectory/base/live origin, then issues native linkβ31. 36 independent880-byte record oracles check all changed and retained words, negative/fractional truncation, event/time boundaries, child order, numeric return and exact captured link request. Full suite: 903 tests pass. Report regenerates byte-identically (1805563 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-599 Event57 firing setup quantization and actual PRNG (separate task commit) | |
| 285840 builds event57, stores trunc(forwardΓ4096) as float direction, derives a seed byte from actual36717 xorshift, records shooter/weapon IDs and prepares295018 arguments. 24 independent full-record/PRNG fixtures check fractional/negative quantization, seed0/1/hex/unsignedβ1, tempEntity handoff, link-time ordering and exact opaque-call ABI. Full suite: 907 tests pass. Report regenerates byte-identically (1527580 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-600 Grenade record construction and inherited velocity (separate task commit) | |
| 285971 looks up weapon7 mode, biases forwardZ by.2 and normalizes, builds a grenade descriptor, quantizes mode-scaled launch velocity, then adds owner and optionally matching-ground velocity. 37 independent full-record fixtures check slot0/15/missing lookup, two source speeds, zero after bias, allocation/query ABI and all position/trajectory/ownership/think fields. Full suite: 911 tests pass. Report regenerates byte-identically (649857 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-601 Base-dependent firing gate scan and distance contract (separate task commit) | |
| 288903 requires mode8 and active!=1, scans type18 bases, then checks64-unit distance/ground and chooses nearest point with ties selecting the second; invalid base cardinalities are explicit stop boundaries. 36 probes independently check mode/active priority,0/1/2/3 bases, exact65655 float distances and short-circuit calls,64 equality, airborne rejection and tie selection. Full suite: 915 tests pass. Report regenerates byte-identically (169227 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-602 Published firing event to bounded server handler chains (separate task commit) | |
| Actual31 publication now chains through server reset/basis/muzzle/dispatch into selected setup; event-loop continuation resumes only recovered returns and stays suspended at opaque shot/allocation/handler boundaries. 12 independent compositions verify all state/vector/record handoffs, queue re-entry and retained window, exact pending-call stacks and explicit engine-response contracts. Full suite: 919 tests pass. Report regenerates byte-identically (603514 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| RE-602 additional regression:19 related reports from RE-582β591 and RE-593β601 regenerate byte-identically. Storage/filter, documentation-link and whitespace checks pass; actual engine allocation/link/query effects and opaque firing/damage continuations remain open rather than supplied successful outcomes. | |
| ## 2026-10-20 β RE-604 Entity initializer and preserved record fields (separate task commit) | |
| 277125 writes only identity, in-use, noclass pointer/tag and owner sentinel; all other 215 words survive. Independent full-record oracles cover 18 slot/canary combinations. Full suite: 922 tests pass. Report regenerates byte-identically (194019 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-605 Entity allocator reuse and recent-free guard (separate task commit) | |
| The allocator scans from slot64, skips in-use records and delays recent frees only when freeTime>start+2000 and nowβfreeTime<1000. Nineteen fixtures independently check first-fit order, strict timing boundaries, retained canaries and actual initializer calls. Full suite: 925 tests pass. Report regenerates byte-identically (574361 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-606 Allocator capacity retry and native registration request (separate task commit) | |
| Full-pool retry relaxes the recent-free guard; source count1022 enters diagnostics while1023 may extend to1024. Nativeβ16 publishes entity/client layout. Seven allocator fixtures cover reuse, extension, retry and both source error boundaries with independent expected slots/counts/ABI. Full suite: 929 tests pass. Report regenerates byte-identically (102931 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-607 Temporary event with actual entity allocation (separate task commit) | |
| 277695 now composes actual277165/277125 and278138, returning fixed pool slot64 through both reuse and extension paths. Eight fixtures independently reconstruct full event records and verify registration/link call order and preserved stale fields. Full suite: 932 tests pass. Report regenerates byte-identically (717103 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-608 Grenade constructor with actual entity allocation (separate task commit) | |
| 285971 now composes recovered277165/277125 before grenade descriptor and inherited velocity writes, preserving slot identity and in-use fields. Eight mode/reuse/ground-query combinations compare all220 record words to an independent grenade oracle. Existing supplied-allocation reports remain unchanged. Full suite: 935 tests pass. Report regenerates byte-identically (372396 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-609 Shared hitscan spread parameter calculation (separate task commit) | |
| 290493 reads current packed slot/mode and weapon table stride432/mode stride52 to calculate base, counter-scaled and modifier-adjusted spread terms. 144 weapon/mode/flag/ground/modifier/counter fixtures match an independent source-order f32 oracle for eight locals and the velocity copy. Full suite: 938 tests pass. Report regenerates byte-identically (150821 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-610 Hitscan movement speed normalization and airborne floor (separate task commit) | |
| 290493 normalizes velocity, applies an airborne ID14/23 floor below224.4, caps at340, then converts speed before its200 split. 48 velocity/ID/ground fixtures reproduce source-order f32 math independently, including the discontinuity at224.4. Full suite: 941 tests pass. Report regenerates byte-identically (101488 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-611 Hitscan rejection sampling and RNG consumption (separate task commit) | |
| Each spread candidate consumes four actual36717 draws; acceptance requires radiusΒ²<1 and radiusΒ²>local40Γ0.15. Zero RNG state never escapes its rejection loop. Independent PRNG/f32 sampling oracles check every draw and candidate across12 seed/counter fixtures, with explicit32-attempt exhaustion. Full suite: 945 tests pass. Report regenerates byte-identically (142282 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-612 Shot body table copies and direction frame construction (separate task commit) | |
| 295018 copies four initialized tables, resolves the first matching weapon slot, normalizes input direction and builds a minimum-axis perpendicular/cross frame. 28 axis/tie/oblique/quantized/zero and slot/ID fixtures match independent f32 frame, lookup and complete table-copy oracles. Full suite: 948 tests pass. Report regenerates byte-identically (257716 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-613 Shared shot handler basis muzzle and pending aim handoff (separate task commit) | |
| 293732 resolves entity weaponID in16 slots, creates local forward/up and global right, computes the alternate muzzle and stops before290493 aim. 32 angle/slot/ID/mode fixtures independently check complete state, basis/muzzle, call order, pending ABI, canaries and full static child inventory. Full suite: 952 tests pass. Report regenerates byte-identically (488656 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-615 Aim airborne adjustment and trigonometric offsets (separate task commit) | |
| The airborne44 multiplier precedes sampling; three sin/cos pairs create horizontal and vertical offsets, then future field6304 can clear flag84. 37 fixtures check independent f32 offsets, trig arguments/order and explicit zero-seed exhaustion. Existing default sampler output stays identical. Full suite: 955 tests pass. Report regenerates byte-identically (437425 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-616 Conditional aim jitter and additional RNG draws (separate task commit) | |
| IDs10/14/23 may add two RNG offsets; flag84 and the strict150-time boundary control the branch, with a distinct ID23 scale. 72 ID/flag/time/future-field fixtures independently check every added draw, offsets and final seed. Full suite: 958 tests pass. Report regenerates byte-identically (958589 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-617 Aim endpoint construction and selected alias behavior (separate task commit) | |
| The endpoint adds origin+16384Γforward, then horizontalΓglobal right and verticalΓglobal up in distinct f32 write phases. 27 independent endpoint fixtures cover nonunit vectors and output aliases to origin/forward, retaining actual source effects. Full suite: 961 tests pass. Report regenerates byte-identically (417024 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-618 Complete bounded shared aim function control flow (separate task commit) | |
| A single bounded source interpreter now follows every branch and call through290493, including rejection loops, added jitter and final endpoint writes. 17 whole-function fixtures agree with independently checked staged calculations and endpoint formulas; zero seed stops at32 candidates with untouched output. Full suite: 965 tests pass. Report regenerates byte-identically (210344 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-619 Shared firing handler through complete aim and trace handoff (separate task commit) | |
| Actual293732 now calls recovered290493 with its local forward/global muzzle, then prepares291641 without fabricating a trace result. 13 compositions check independent endpoint math, source caller ABI, current-slot versus lookup-ID distinction and no resume after zero-seed exhaustion. Full suite: 969 tests pass. Report regenerates byte-identically (569253 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-620 Shot trace prelude candidate bounds and native request (separate task commit) | |
| 291641 unlinks the shooter, may request unrecovered rewind/setup helpers, widens eligible candidate bounds and issues nativeβ25 with mask100663297. Four branch fixtures and six player records check every candidate word, skip gates, native ABI and unchanged trace buffer. Full suite: 973 tests pass. Report regenerates byte-identically (297738 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-621 Complete point rotation helper and alias write ordering (separate task commit) | |
| 61092 constructs a rotation matrix using a minimum-axis basis and native trig; point/output alias changes results because final component stores reread input. 81 fixtures compare unit-axis matrices to independent Rodrigues geometry, exact f32 matrix application, native arguments/order and zero-axis stopping. Full suite: 977 tests pass. Report regenerates byte-identically (275902 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-622 Pellet muzzle width and indexed point rotation (separate task commit) | |
| 295018 computes width=16384Γsin(degreesΓradians)/cos(...), then rotates unitY around the initialized unitZ axis in18-degree pellet steps. 24 ID/direction/origin/index fixtures check independent f32 width/muzzle, rotation geometry, actual children and seed preservation. Default frame/rotation reports remain unchanged. Full suite: 980 tests pass. Report regenerates byte-identically (547356 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-623 Signed pellet seed perturbation and endpoint construction (separate task commit) | |
| 295018 mutates its argument seed using signed>>27, scales rotated offsets by an absolute sine and constructs the pellet endpoint without touching global RNG. 36 seed/direction/index fixtures match independent exact f32 endpoint oracles; all256 byte seeds are audited against a signed xor-shift model. Full suite: 984 tests pass. Report regenerates byte-identically (1004112 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-624 Allocated event57 to first pellet native trace boundary (separate task commit) | |
| Actual285840 now composes source allocation/event57/quantized direction/global RNG with295018 first-pellet preparation and the reached291641 trace boundary. 13 chains independently check all event-record words, quantization/global RNG, dynamic argument pointers, pellet endpoints and no fabricated hit/parent return. Full suite: 988 tests pass. Report regenerates byte-identically (1470270 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-626 Trace entity classification and suspended hit consumers (separate task commit) | |
| 291641 classifies sentinel/entity traces using688/client4324/health and a literal tag, suspending before model-hit validation or damage rather than assuming a hit. 67 supplied-trace cases match independent branch predicates and verify no opaque child executes. Full suite: 991 tests pass. Report regenerates byte-identically (42952 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-627 Trace retry unlink stack and ten-attempt boundary (separate task commit) | |
| Each retry captures unlinkβ32, appends the target pointer and increments count; the tenth target exits to restoration instead of issuing another trace. 30 count/target fixtures independently check stack writes, exact retry boundary and native call ABI. Full suite: 994 tests pass. Report regenerates byte-identically (48984 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-628 Skipped target relink ordering and duplicate entries (separate task commit) | |
| The skipped-target cleanup issues nativeβ31 in insertion order and preserves duplicate entries; empty lists issue no relink request. Eight empty/reordered/duplicate/ten-entry cases independently verify pointer order, loop cursor and untouched list contents. Full suite: 997 tests pass. Report regenerates byte-identically (24991 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-629 Candidate bound restoration and f32 round-trip limits (separate task commit) | |
| The restoration suffix repeats eligibility gates, reverses bound arithmetic and writes fixed Β±15 dimensions rather than restoring a saved record. Six canonical/arbitrary/large-magnitude fixtures independently compare all six candidate records and demonstrate exact and lossy round trips. Full suite: 1001 tests pass. Report regenerates byte-identically (647300 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-630 Shooter restoration gate final link and trace return (separate task commit) | |
| The trace suffix requests144413 only for client shooters without424 bit8 and mode exactly1; otherwise it links the shooter and returns local96. 24 client/flag/mode/result combinations independently verify the exact gate, native link request and numeric return. Full suite: 1004 tests pass. Report regenerates byte-identically (28647 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-631 Complete trace retry cleanup flow under supplied response sequences (separate task commit) | |
| Whole291641 now follows supplied world/entity traces through retry, ordered relinking, bound restoration and numeric return, or suspends before unrecovered consumers. Nine source-order cases check full candidate restoration, ten-retry limit, link order, opaque boundaries and explicit rejection of exhausted response fixtures. Full suite: 1008 tests pass. Report regenerates byte-identically (703695 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-632 Rewind snapshot prefix and packed animation bytes (separate task commit) | |
| 143100 saves entity vectors and selected client state, sets client4408 and packs low animation bytes before history selection. 16 raw-word/animation/null-client fixtures independently check every snapshot word, byte-store order and unchanged entity records. Full suite: 1011 tests pass. Report regenerates byte-identically (199100 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-633 Complete rewind record restoration and byte widening (separate task commit) | |
| 144165 restores saved vectors/client fields, zero-extends the two animation bytes, clears4408 and links once; a second call is inactive. 16 fixtures independently reconstruct all entity/client words, verify snapshot round-trip byte loss and native link ordering/idempotence. Full suite: 1015 tests pass. Report regenerates byte-identically (601178 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-634 Fixed player rewind selection and actual restore enumeration (separate task commit) | |
| 144082 and144413 scan exactly64 source slots using matching client/in-use/state/exclusion gates; the restore selector now executes recovered144165. 16 selector/exclusion/global-count/delta fixtures independently check all64 predicates, call order, time ABI and actual child restoration. Full suite: 1019 tests pass. Report regenerates byte-identically (1219554 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-635 Configured player_bb construction with recovered allocation (separate task commit) | |
| 144493 constructs file-named player_bb records with actual allocation/origin setup, using fewer selector gates; the position setter overwrites the earlier trajectory time. Five selector/time cases independently reconstruct every spawned record, allocation/link ordering, owner fields, expiry overflow and final time16=0. Full suite: 1023 tests pass. Report regenerates byte-identically (499540 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-637 Rewind history bracketing and unclamped fraction (separate task commit) | |
| 143100 scans timestamp entries1..19 for the firstβ€target; exhaustion selects0/0 and still computes an unclamped fallback fraction. 36 ordered/reversed/equal/duplicate timestamp fixtures match independent index/f32 fraction and equality/exhaustion oracles. Full suite: 1026 tests pass. Report regenerates byte-identically (26532 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-638 Exact weighted history vector interpolation and aliases (separate task commit) | |
| 143031 computes(1βfraction)Γa+fractionΓb in source f32 order, with no clamp; generic subtract/add lerp can differ. 72 finite vector/weight/alias fixtures match independent exact weighted sums and demonstrate an inequivalent generic lerp. Full suite: 1029 tests pass. Report regenerates byte-identically (52742 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-639 History angle interpolation and strict half-turn correction (separate task commit) | |
| 63746 corrects differences strictly beyondΒ±180 by one360 step, then interpolates without normalizing the result or weight. 50 exact f32 boundary/wrap/extrapolation cases match an independent numeric oracle and show large differences remain outside a single turn. Full suite: 1032 tests pass. Report regenerates byte-identically (23452 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-640 History application vector angle and discrete state map (separate task commit) | |
| 143100 blends velocity/position and angles but copies animations and six client fields directly from the lower selected history row. 12 ordinary/equal-time/extrapolation cases independently reconstruct every entity/client word and actual helper/native request order. Full suite: 1035 tests pass. Report regenerates byte-identically (265042 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-641 Complete bounded rewind and snapshot restoration round trip (separate task commit) | |
| Whole143100 now executes snapshot, history selection, actual interpolation and link request; recovered144165 restores original live fields with animation byte truncation. Nine complete/null-client cases match a combined independent snapshot/selection/application oracle and full entity restoration. Full suite: 1039 tests pass. Report regenerates byte-identically (520463 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-642 Complete player rewind and restore selector composition (separate task commit) | |
| Actual144082 now dispatches complete143100 for each eligible player, followed by actual144413/144165 restoration; excluded records remain unchanged. Four pool/time/exclusion compositions check every child against independent complete-rewind oracles, full selected round trips and hashes of all unselected records. Full suite: 1043 tests pass. Report regenerates byte-identically (1279748 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-643 Trace composition with actual rewind configured construction and restoration (separate task commit) | |
| Whole291641 now executes recovered rewind/configured/restore children before and after explicit supplied collision responses, retaining model-hit suspension. Four world/configured/retry/model-boundary chains verify independent child rewinds, every candidate/player restoration and configured record construction. Full suite: 1047 tests pass. Report regenerates byte-identically (1744088 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-644 Twenty pellet source loop signed seed carry and no-target handoff (separate task commit) | |
| 295018 now executes all20 pellet iterations with actual rotation, signed seed carry and recovered trace return0, then reaches no-target bookkeeping. Four20-pellet compositions plus a zero-direction boundary check every endpoint, signed seed, indexed rotation geometry, trace count and pending bookkeeping ABI. Full suite: 1051 tests pass. Report regenerates byte-identically (1035109 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-645 Statistic category maps and complete no-target bookkeeping (separate task commit) | |
| 279820 maps weapon/location categories, increments attempts/misses for no-target IDs, and recomputes percentage; zero total after wrap resets percentage without division. 49 category probes and28 no-target/counter/invalid-attacker cases independently check table-derived categories, all20 stats rows, call order and overflow handling. Full suite: 1055 tests pass. Report regenerates byte-identically (520179 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-646 Allocated event57 twenty-world-pellet bookkeeping and caller continuation (separate task commit) | |
| Direct285840 now composes actual allocation, event57, quantized direction/global RNG, all20 supplied-world pellets, real no-target bookkeeping and void caller continuation. Four complete chains plus a zero-direction boundary independently check every event word/global seed, twenty trace calls, actual bookkeeping ABI, all stats rows and suspended invalid input. Full suite: 1059 tests pass. Report regenerates byte-identically (1683006 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-648 History reset writer and preserved row fields (separate task commit) | |
| 142502 resets all20 history rows from live state/time and clears4408, but does not initialize row72/76 or header words. 12 time/animation fixtures independently compare every row word, byte packing, omitted-field preservation and client guard effects. Full suite: 1062 tests pass. Report regenerates byte-identically (380952 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-649 History append shift and complete newest row writer (separate task commit) | |
| 142773 copies1600 history bytes to a temporary then shifts1520 bytes to rows1..19, writing a complete newest row including72/76. 13 time/animation/null-client cases independently reconstruct the whole shifted table and validate both native-copy ABIs and guard preservation. Full suite: 1066 tests pass. Report regenerates byte-identically (368096 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-650 Source-produced twenty-row history through rewind and restoration (separate task commit) | |
| Reset plus25 actual append calls produce newest-first retained history consumed by complete143100 and restored by144165. Five target-time compositions independently reconstruct every producer transition, retained20 timestamps, full rewind state and restore round trip. Full suite: 1070 tests pass. Report regenerates byte-identically (1131284 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-651 Victim team and hit statistic bookkeeping (separate task commit) | |
| Complete279820 updates attacker/victim hit/location/value counters;33715 enables same-team accounting for modesβ₯3 except9/11. 16 mode predicates and62 two-client/self/location/value cases independently check all380 words per client and exact child order. Full suite: 1074 tests pass. Report regenerates byte-identically (1482109 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-652 Model hit target ray normalization and pending pose ABI (separate task commit) | |
| 144766 selects the trace entity, normalizes endβstart and requests32254 with target pose fields and shooter6176βclient0 timing. 12 target/selector/ray fixtures independently check exact normalized directions including zero, both reset flags and every pose argument pointer/value. Full suite: 1077 tests pass. Report regenerates byte-identically (25670 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-653 Pose animation masks and controller preparation (separate task commit) | |
| 32254 masks both animation IDs, halves pitch, quantizes yaw and seeds controller flags before requesting33391. 30 fixtures check both masked IDs, all controller flags, yaw-seeded vectors and every pending controller argument; 1080 tests pass. Full suite: 1080 tests pass. Report regenerates byte-identically (47012 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-654 Complete finite angle swing controller (separate task commit) | |
| 33391 applies wrapped deltas, tolerance-scaled speed,16-bit quantization and asymmetric one-degree clamp margins. 96 fixtures independently reproduce float32 arithmetic, idle preservation, positive/negative wrap, zero elapsed and arrival flags. Full suite: 1084 tests pass. Report regenerates byte-identically (57174 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-655 Hit-record ordering and trace publication (separate task commit) | |
| 25835 stably sorts five-word records by float key then prioritizes type3 over a leading5/6;146582 publishes context vectors and target ID only for nonzero count. 18 supplied geometry fixtures independently check whole-record stability, priority swaps, exact trace writes and empty preservation. Full suite: 1088 tests pass. Report regenerates byte-identically (36771 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-656 Model-hit transform record construction (separate task commit) | |
| 144985 constructs four88-byte records from three supplied pose triplets, client fields and one target translation before requesting25341. 24 selector/pose/origin fixtures independently check all88 bytes of every record and exact22-call zero-fill/trig ordering. Full suite: 1092 tests pass. Report regenerates byte-identically (335368 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-657 Complete entity tag query and continuation (separate task commit) | |
| 276433 scans880-byte entity records using nonzero532/536 and exact integer540 tag equality; continuation starts after the prior record. 60 first-match fixtures and15 repeated scans check all results, exclusion of previous pointers, distinct nonnull names, exhausted pools and unchanged records; unsigned LTU has independent high-bit/equality checks. Full suite: 1097 tests pass. Report regenerates byte-identically (253272 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime changed; the bounded shared evaluator gains tested unsigned LTU support; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-659 History producer caller and literal-reference inventory (separate task commit) | |
| One direct append caller156173 and three direct reset callers174399/203011/219630 are present; no aligned initialized-data matches were found. Four checks compare exhaustive literal references, actual owner boundaries, copied instruction contexts and initialized-data results. Full suite: 1101 tests pass. Report regenerates byte-identically (26775 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-660 Pose prefix with both actual swing controllers (separate task commit) | |
| 32254 executes two33391 calls through caller-owned angle/flag pointers, then reloads both changed angles before animation branching. 36 fixtures independently compose float32 controllers, flag masks, pointer mutation, time forwarding and caller reloads. Full suite: 1105 tests pass. Report regenerates byte-identically (155837 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-661 Complete vector-to-angle helper and alias behavior (separate task commit) | |
| 62944 converts vectors through explicit quadrant/vertical branches and finite atan2/sqrt responses; the zero vector yields pitchβ270 and yaw0. 24 axis/quadrant/zero/general fixtures check independent source-order float32 outputs, exact input/output aliasing and reached native call order. Full suite: 1109 tests pass. Report regenerates byte-identically (42673 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-662 Animation-dispatched movement yaw and speed scaling (separate task commit) | |
| 32254 dispatches forward/reverse/default yaw branches, clamps integer horizontal speed to200 and yaw delta toΒ±60, and preserves an integer reciprocal scratch calculation. 144 fixtures independently check dispatch, integer/sqrt boundaries, signed deltas, capped speed, actual62944/63746 composition and signed zero scratch vectors. Full suite: 1113 tests pass. Report regenerates byte-identically (588314 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-663 Pose pitch publication and lateral scratch arithmetic (separate task commit) | |
| 32254 publishes animation-biased pitch, normalizes full velocity with a floating reciprocal and computes an unconsumed lateral scratch scalar. 96 fixtures independently check pitch gating/bias, full3D float32 normalization, scaled length, basis/dot arithmetic and zero-velocity call suppression. Full suite: 1117 tests pass. Report regenerates byte-identically (300961 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-664 Relative pose angle publication and numeric flag sum (separate task commit) | |
| 32254 wraps headβbody and bodyβlegs independently into inclusiveΒ±180, publishes unchanged legs and writes a shifted numeric flag sum through an optional pointer. 24 fixtures check every output angle word, multi-turn/half-turn behavior, optional flags and signed shifts with synthetic nonboolean inputs. Full suite: 1121 tests pass. Report regenerates byte-identically (25220 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-665 Complete finite pose routine with recovered source children (separate task commit) | |
| Complete32254 now reaches its void output boundary with actual swing, vector-angle and interpolation children across stationary/movement/animation-mask cases. 110 fixtures independently compose all nine output angles, external state mutations and optional numeric flag output, with exact child coverage and zero/long elapsed cases. Full suite: 1125 tests pass. Report regenerates byte-identically (905274 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-666 Entity free control flow and conditional record reset (separate task commit) | |
| 277400 unlinks, requests ordered resource releases and clears nine pointer fields before deciding whether548 suppresses the whole880-byte reset. 49 fixtures independently check every final record word, null/protected exits, resource ordering, aliased release requests and exact zero-fill gating. Full suite: 1129 tests pass. Report regenerates byte-identically (808034 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-667 Grenade constructor with actual entity query and allocation (separate task commit) | |
| Grenade construction now runs actual276433 over an explicit pool and inherits the selected entity velocity only when its ID equals the owner ground ID. 28 complete constructor fixtures check actual first-eligible query, skipped used/name/tag records, allocation reuse/extension and all220 final record words. Full suite: 1133 tests pass. Report regenerates byte-identically (1340521 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-20 β RE-668 Model-child traversal and frame-sample interpolation (separate task commit) | |
| 25341 skips null child entries, selects112-byte frame/child samples and interpolates twelve words as B+(AβB)Γfraction before requesting22009. 47 fixtures independently check traversal/empty boundaries, frame addressing, all twelve interpolated words, extrapolation and exact pending transform arguments. Full suite: 1137 tests pass. Report regenerates byte-identically (68686 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-21 β RE-670 Model ray through actual pose and transform construction (separate task commit) | |
| 144766 now executes complete32254 with live target/client pointers and consumes its actual nine angle outputs in all four transform records. 24 fixtures independently check complete pose outputs/state, caller ABI, ray normalization and every word of four88-byte transform records. Full suite: 1141 tests pass. Report regenerates byte-identically (1011044 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-21 β RE-671 Child sample origin through parent-chain rotations (separate task commit) | |
| 22009 copies sample64..72 into child origin, rotates through every parent basis, then adds only the immediate parent origin; null parent exits before basis composition. 16 fixtures independently check ordered parent rotations, immediate translation, zero-parent exit and bounded cycle rejection. Full suite: 1145 tests pass. Report regenerates byte-identically (21978 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-21 β RE-672 Complete child transform with exact fourth-row arithmetic (separate task commit) | |
| Complete22009 composes the sample basis only with nonnull parents and uses local40/60/48/68 for its fourth product row, preserving unusual source arithmetic. 16 full-record fixtures independently verify all matrix products, parent origin composition, exact child/sample alias reads and unrelated metadata preservation. Full suite: 1149 tests pass. Report regenerates byte-identically (52574 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-21 β RE-673 Complete hierarchy traversal through actual child transforms (separate task commit) | |
| 25341 now executes actual22009, skips null children, recurses into child tables and visits parent leaves after children; leaf geometry remains captured. 15 finite hierarchy fixtures independently verify postorder leaf requests, every transformed record, null-slot skipping, nested frame isolation and forwarded geometry arguments. Full suite: 1153 tests pass. Report regenerates byte-identically (294562 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-21 β RE-674 Leaf ancestry matrix accumulation (separate task commit) | |
| 23092 accumulates matrices through the node parent chain and repeats the unusual fourth-row source indexing; identity ancestors therefore alter row four. 12 independent full4Γ4 float32 product fixtures cover depths1..4, identity, turn/scale and nondiagonal inputs. Full suite: 1157 tests pass. Report regenerates byte-identically (22327 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-21 β RE-675 Packed-word string length for resource release (separate task commit) | |
| Complete36038 tests each byte of packed words and returns the first NUL offset, including high-bit data and cross-word boundaries. 48 independent byte-length fixtures cover every in-word NUL position, long strings, offset pointers and unchanged input memory; missing backing words reject. Full suite: 1161 tests pass. Report regenerates byte-identically (22547 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-21 β RE-676 String resource list detach and bounded byte wipe (separate task commit) | |
| 249639 searches the resource list, detaches a matching header, runs actual36038, wipes length+8 bytes and requests16934 heap release; missing pointers do nothing. 28 whole-byte fixtures independently verify head/middle/tail/only/missing detach, pointer rewiring, unaligned wipe ends and exact child ordering. Full suite: 1165 tests pass. Report regenerates byte-identically (91672 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-21 β RE-677 Actual entity free through allocator reuse timing (separate task commit) | |
| Actual277400 free-time and used state now feed277165 reuse policy; age1000 is eligible, and start+2000 can permit immediate reuse. 16 full-record compositions independently check free/reuse/extension across protected records, start offsets and ages0/999/1000/1001. Full suite: 1169 tests pass. Report regenerates byte-identically (782381 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-21 β RE-678 Basic source trajectory position branches (separate task commit) | |
| 27168 types0/1 copy base,2 advances linearly,3 clamps time to duration and nonnegative elapsed, and5 subtracts400ΓelapsedΒ² from z. 240 independent float32 fixtures check before/at/after timestamps, zero/nonzero duration, signed velocities and exact base/output aliasing. Full suite: 1173 tests pass. Report regenerates byte-identically (181365 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-21 β RE-679 Constructed grenade through trajectory and event prelude (separate task commit) | |
| Actual queried/allocated grenade enters223156, evaluates source trajectory, truncates/rebases origin and emits event55 through actual direction encoding/event writes before damage branching. 12 complete prelude compositions independently check every entity word, optional client event mask/parameter/time, source child ordering and unexecuted damage boundary. Full suite: 1177 tests pass. Report regenerates byte-identically (758560 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-21 β RE-681 Packed frame vertices through world triangle construction (separate task commit) | |
| 23092 addresses eight-byte packed vertices by frame/count/index, sign-extends xyz16, interpolates B+(AβB)Γfraction and scales1/64 before ancestry transform/origin. 61 independent signed-unpack/float32 fixtures check every triangle vertex, reversed frames, permutations, extrema and unclamped weights. Full suite: 1181 tests pass. Report regenerates byte-identically (110810 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-21 β RE-682 Leaf ray triangle determinant and barycentric tests (separate task commit) | |
| 23092 rejects an open determinant epsilon interval and out-of-triangle barycentrics but retains either winding and negative/unbounded ray parameters. 48 independent float32 geometry fixtures check determinant, every reached barycentric, candidate/rejection boundaries, degeneracy, edges, winding and behind-origin parameters. Full suite: 1185 tests pass. Report regenerates byte-identically (39794 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-21 β RE-683 Accepted candidate normal and exact source point construction (separate task commit) | |
| 23092 normalizes cross(aβb,bβc) and both edges, then builds point=a+unit(aβb)Γu+unit(bβc)Γv in source addition order. 24 independent full-vector fixtures check normals, unit edges and source points across scaling, skew, winding, edges and negative ray parameters. Full suite: 1189 tests pass. Report regenerates byte-identically (71527 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-21 β RE-684 File-backed surface name classifier and exact string children (separate task commit) | |
| 21493 recognizes fourteen case-sensitive names/categories1..14 through actual21458 perfect hashing and36306 packed comparison. 47 dictionary/mutation fixtures verify exact entries, case-sensitive collisions, helper dispatch and unsigned GTU high-bit/equality semantics. Full suite: 1193 tests pass. Report regenerates byte-identically (74336 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime changed; the bounded evaluator adds independently tested unsigned GTU; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-21 β RE-685 Nearest farthest context updates and bounded hit append (separate task commit) | |
| 23092 updates nearest/farthest point-normal-part independently of category/capacity, then appends nonzero category five-word records only below count10. 96 whole-context fixtures independently check negative/equal/large parameters, strict bounds, categories, initialized null-pointer consumption and capacities0/9/10/11. Full suite: 1197 tests pass. Report regenerates byte-identically (350422 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-21 β RE-686 Complete packed-model leaf geometry and source-produced hit records (separate task commit) | |
| Complete23092 now produces actual geometry-derived context records through packed vertices, ancestry, barycentrics, source normals/points and actual metadata lookup. 36 whole-context compositions check hits/misses/behind-origin/multiple surfaces/twelve triangles/capacity with independent geometry and publication oracles; mixed word/byte copy coherence has a dedicated regression. Full suite: 1202 tests pass. Report regenerates byte-identically (354732 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime changed; shared STORE4 synchronizes active byte memory, with an independent regression; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-21 β RE-687 Recursive model traversal with actual leaf geometry (separate task commit) | |
| 25341 now composes actual22009 and23092 through recursive hierarchies, producing hit records from packed geometry rather than supplied leaf replies. 18 postorder compositions independently check every leaf context, ancestry matrix, carried record count, hit/miss outcome and caller return. Full suite: 1206 tests pass. Report regenerates byte-identically (423592 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-21 β RE-688 Complete model-hit helper through geometry and publication (separate task commit) | |
| Complete144766 now executes actual pose/hierarchy/leaf geometry/classification/sorting and returns geometric hit0/1 with exact trace publication. 16 full model compositions independently check pose, every leaf context, actual hit/miss, recognized categories, source child order and final trace words. Full suite: 1210 tests pass. Report regenerates byte-identically (575367 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-21 β RE-689 Complete multi-part model hits and priority ordering (separate task commit) | |
| Actual star/nested model hierarchies generate categories1/3/5/6, then source sorting can prioritize torso3 over a nearer arm5/6 without changing context nearest vectors. Eight whole-model fixtures independently check every leaf, complete sorted context, geometric category sets, misses and distance-order changes from actual hits. Full suite: 1214 tests pass. Report regenerates byte-identically (524843 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-21 β RE-690 Rewound trace through actual model geometry and complete cleanup (separate task commit) | |
| 291641 now reaches complete returns through actual geometric model hits or model misses followed by a supplied world retry, including actual rewind/restoration and cleanup. Two whole caller compositions independently check every leaf/context sort, numeric return, native candidate sequence, every rewind and all tracked restored entity records. Full suite: 1218 tests pass. Report regenerates byte-identically (953113 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-21 β RE-692 Bounds-checked original MD3 reader and QVM layout contract (separate task commit) | |
| Original MD3 version15 headers/surfaces match recovered model offsets; all eight selected LOD3 files parse, including case-mismatched orion/lower_3.MD3. Five parser/accessor tests independently check packed coordinates, tags, indices, UVs/shaders, malformed counts/ranges/signatures and original selected files. Full suite: 1223 tests pass. Report regenerates byte-identically (22517 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-21 β RE-693 Exhaustive extracted MD3 variant inventory (separate task commit) | |
| All619 case-insensitively discovered MD3 occurrences validate, totaling152772340 bytes; case-sensitive suffix searches would miss originals. Four inventory checks verify exhaustive paths, all validation outcomes, byte totals, sampled source hashes and variant grouping without selecting precedence. Full suite: 1227 tests pass. Report regenerates byte-identically (945502 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-21 β RE-694 Source model bindings and original tag attachment evidence (separate task commit) | |
| Actual21581 initialization requests Athena/Orion LOD3 lowerβupperβheadβhelmet chains; all six requested tags exist in the original parent models. Four checks verify eight file bindings, the case mismatch, source request order, tag indices and16-byte selector-table roles. Full suite: 1231 tests pass. Report regenerates byte-identically (15746 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-21 β RE-695 Original MD3 bytes through QVM vertex decoder (separate task commit) | |
| Verbatim original MD3 headers/surfaces/indices/frame bytes execute through23929 and match independent signed-coordinate interpolation for all eight selected models. 48 source-decoder probes check first/last/reversed frames and three fractions; four tests cover all coordinate words, actual offset arithmetic and invalid frame-window rejection. Full suite: 1235 tests pass. Report regenerates byte-identically (84934 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-21 β RE-696 Complete QVM leaf geometry on original player models (separate task commit) | |
| Complete23092 processes all eight original selected MD3 models; aimed rays produce real source hit records and distant rays miss across first/last animation frames. 24 independent whole-context oracles check original packed surfaces, all source geometry/classification/publication, original hashes and frames835/978. Full suite: 1239 tests pass. Report regenerates byte-identically (978713 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-21 β RE-697 Original tag attachment through complete hierarchy geometry (separate task commit) | |
| Actual21770 attaches original tag_torso/tag_head chains and25341 processes all four original model parts for both characters and first/last frame fixtures. Four complete hierarchy probes independently check all twelve tag transforms, every full leaf context, source postorder and bounded recognized hit records. Full suite: 1243 tests pass. Report regenerates byte-identically (874680 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-21 β RE-698 Complete pose-driven model hits on original MD3 hierarchies (separate task commit) | |
| Complete144766 now uses original Athena/Orion lower/upper/head/helmet buffers, actual tag attachment, pose, geometry and sorting to publish source-derived hits/misses. Six full compositions independently check complete pose, every original leaf context, final sorted context/trace words, both selector bindings and frame0/22. Full suite: 1247 tests pass. Report regenerates byte-identically (1675425 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-21 β RE-699 Original-asset numerical geometry comparison audit (separate task commit) | |
| Original-asset runs retain measurable source-point differences from conventional ray points and localized fourth-row differences; native/reference validation remains necessary. Four audit checks retain exact input report hashes, independently recompute all point distances, localize matrix differences and reconcile evidence totals. Full suite: 1251 tests pass. Report regenerates byte-identically (38388 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-21 β RE-700 Contact eligibility gates with original-model hit contexts (separate task commit) | |
| 292545 gates client contact on damageable/special mode, nonempty hit context and team/friendly-fire rules before reached damage calculation. 288 branch fixtures independently check the complete prefix truth table, mode-call order, original context provenance and unchanged external state. Full suite: 1255 tests pass. Report regenerates byte-identically (245882 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-21 β RE-701 Rust original-byte MD3 asset core and cross-language validation (separate task commit) | |
| A dependency-free Rust asset crate parses all619 originals with Python parity for headers, surfaces, sampled packed geometry, frame/tag float bits, UVs, triangles and shaders. Ten offline Rust unit tests plus four Python corpus-parity tests cover all619 originals and malformed CLI inputs; build/CLI execute locally on macOS. Full suite: 1259 tests pass. Report regenerates byte-identically (1812358 bytes). Storage/filter, links and whitespace checks pass. No original assets/shared VM evaluator changed; the safe dependency-free Rust asset crate and offline CLI are introduced; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-21 β RE-703 Damage protection and armor location selection (separate task commit) | |
| 289594 rejects mode9 and strictly active spawn protection before location output; actual32155/32117 reclassifies head/torso using live inventory low bytes and health, excluding slot16. 356 gate/inventory fixtures and independent boundary/notification/location oracles pass. Full suite: 1263 tests pass. Report regenerates byte-identically (653493 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-21 β RE-704 Damage descriptor and cubic range term (separate task commit) | |
| 289762 selects two words at4068+432Γweapon+8Γlocation and independently computes weapon4 ratio clamp and cubic complement using context84. 208 original-table and explicit range boundary fixtures pass exact float32 and descriptor oracles. Full suite: 1267 tests pass. Report regenerates byte-identically (341409 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-21 β RE-705 Weapon24 distance attenuation (separate task commit) | |
| Weapon24 preserves the factor below half range, linearly falls to float32 0.1 by full range, and stays at that floor thereafter; zero range takes the floor without division. 315 piecewise boundary/weapon/factor probes pass exact float32 independent oracles. Full suite: 1271 tests pass. Report regenerates byte-identically (473777 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-21 β RE-706 Damage saturation and weapon4 accumulation (separate task commit) | |
| Positive damage factors cap at1 and weapon4 additionally caps at float32 0.35; its optional accumulator adds that capped factor without a total clamp. Nonpositive factors return zero immediately. 144 finite factor/weapon/pointer/accumulator combinations pass exact saturation and additive oracles. Full suite: 1275 tests pass. Report regenerates byte-identically (215368 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-21 β RE-707 Wound eligibility and client meter increments (separate task commit) | |
| Mode9, entity flag16 or protection suppress the wound word. Active client wounds set leg flag128 at locations11β14 and increment client4312 with source-specific threshold rules. 302 eligibility/weapon/location/ratio/meter fixtures pass independent exact float32 and unchanged-state checks. Full suite: 1279 tests pass. Report regenerates byte-identically (464742 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-21 β RE-708 Active wound attribution and counter cap (separate task commit) | |
| Active wounds record attacker pointer at target836 and weapon at client4300; counter4304 increments only below4 and resets4316 there, while client220 bit256 is always set. 120 counter/weapon/flag combinations pass independent attribution, cap, reset and bit-preservation checks. Full suite: 1283 tests pass. Report regenerates byte-identically (179647 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-21 β RE-709 Damage location jump table and client flags (separate task commit) | |
| The original32796 jump table ORs client192 bit4 for locations1/2, bit1 for3/4/7/8, and bit2 for5/6/9β14; signed out-of-range locations bypass it. 133 location/initial-flag fixtures verify every original branch target, signed bypass and preservation of unrelated fields. Full suite: 1287 tests pass. Report regenerates byte-identically (195933 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-21 β RE-710 Held-item deadline and final factor override (separate task commit) | |
| Held item low-byte14 at factorβ₯0.2 or23 at factorβ₯0.5 writes client6304=time+200 for nonleg locations; global34066516 returns1 after side effects. 167 item/threshold/location/override/client/clock fixtures pass independent float32, low-byte and signed-wrap oracles. Full suite: 1291 tests pass. Report regenerates byte-identically (252605 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-21 β RE-711 Complete damage factor on original-model contacts (separate task commit) | |
| Complete289594 now runs original-model hit contexts through actual inventory, factor selection, wound bookkeeping and every numeric return. Its weapon4 cubic local is computed but never used to scale the return. 144 complete-call probes pass a separate source-order float32 and all-external-field oracle, with exact original-context report identity. Full suite: 1296 tests pass. Report regenerates byte-identically (487781 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-21 β RE-712 Contact direction basis and health-damage dispatch (separate task commit) | |
| Contact293373 recomputes global forward/right/up from attacker angles, calls211239 only for nonzero scalar and nonspecial contact, truncates scalar to integer damage, and returns the original float scalar. 120 angle/weapon/scalar/special fixtures verify exact source-order basis words, signed truncation, all nine request arguments and original nearest-point provenance. Full suite: 1300 tests pass. Report regenerates byte-identically (547093 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| Batch RE-703β712 closes ten independently checked research tasks in ten separate commits, advancing the Python baseline1259β1300. All ten reports regenerate byte-identically below2MiB. See the [batch overview](research/QVM_DAMAGE_FACTOR_BATCH.md) for findings, native-model boundaries and remaining work. Original assets, Rust code and the shared VM evaluator are unchanged. RE-702 remains partially open; RE-713 records the next scope. | |
| ## 2026-10-21 β RE-714 Ordinary contact factor composition (separate task commit) | |
| Ordinary292545 now calls complete289594, multiplies its returned float factor by100 and suppresses the scalar when the output location is zero. 96 weapon/location/equipment/clock/override fixtures verify actual pointer handoff, float32 scaling and zero-location suppression. Full suite: 1304 tests pass. Report regenerates byte-identically (311243 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-21 β RE-715 Special weapon4 contact classification (separate task commit) | |
| The special contact path fixes scalar1, reads the first context category and reclassifies head/torso through actual inventory, without invoking289594 or changing its accumulator. 224 category/client/health/slot combinations check scalar, classifier decisions, exact item queries and exclusion of slot16. Full suite: 1308 tests pass. Report regenerates byte-identically (215339 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-21 β RE-716 Contact event and announcement gates (separate task commit) | |
| Events require nonzero caller flag and scalar; announcement7259 additionally requires34081316 and clear victim client220 bit16384/entity552 bit16. 144 gate combinations check continuation, announcement truth table, original format and every call argument. Full suite: 1312 tests pass. Report regenerates byte-identically (123916 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-21 β RE-717 Contact event header and health prediction (separate task commit) | |
| Contact allocates event62 through actual277695, encodes the normal through60317, publishes IDs/location/part and predicts lethality using float32 healthβscalarβ€0 without applying damage. 72 health/scalar/normal/part fixtures verify all220 event words, actual child order and the earlier native-link snapshot. Full suite: 1316 tests pass. Report regenerates byte-identically (1919852 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-21 β RE-718 Contact event scalar and direction payload (separate task commit) | |
| Event204 truncates ordinary scalar or weapon4 accumulatorΓ100 with upper cap100 only; exact trace point replaces the snapped trajectory base, and event36 stores normalized attacker-minus-target separation. 54 constructor-through-direction probes verify all220 event words, signed truncation, upper-only cap, zero vectors and exact versus snapped coordinates. Full suite: 1320 tests pass. Report regenerates byte-identically (1468138 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-21 β RE-719 Contact event vector and actual feedback ledger (separate task commit) | |
| Contact event104 receives truncated global forwardΓ500 or exact muzzle for weapon27; positive encoded feedback calls actual285142, which requires enabled mode, attacker client and target ID0β64. 80 mode/team/client/ID/value fixtures verify vector words, request gates and actual sum/time ledger writes, including inclusive ID64. Full suite: 1324 tests pass. Report regenerates byte-identically (523925 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-21 β RE-720 Complete impact-only contact branch (separate task commit) | |
| Impact-only contacts return0 and emit event109 for weapon30 or63 otherwise only with nonzero flag and clear trace surface bit32; weapon27 copies exact muzzle. 48 weapon/flag/surface/normal combinations check every event word, actual child order, early suppression and numeric return. Full suite: 1328 tests pass. Report regenerates byte-identically (490508 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-21 β RE-721 Complete contact on original-model contexts (separate task commit) | |
| Complete292545 now composes eligibility, ordinary/special factors, event/impact branches, actual feedback, direction basis, health request and return using original-model contexts. 35 complete-call fixtures verify independent branch/float32/event-record/ABI oracles and exact original hit/miss context identity. Full suite: 1333 tests pass. Report regenerates byte-identically (997739 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-21 β RE-722 Health damage entry gates and client marker (separate task commit) | |
| 211239 applies damageable/mode/method/protection/global gates before marking client4328 and optionally first cross-team tracking34999664; health is unchanged in the prefix. 114 gate/tracking/client/method fixtures verify exact accepted/void-exit boundaries and both conditional writes with independent predicates. Full suite: 1337 tests pass. Report regenerates byte-identically (71028 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| ## 2026-10-21 β RE-723 Health normalization and knockback selection (separate task commit) | |
| 211239 normalizes the supplied direction, selects knockback from30 original descriptors or method-specific integer damage, caps only above200, and applies flag/team rejection gates before later effects. 226 method/damage/direction/flag/team/spectator/client-state fixtures verify exact float32 words, original tables, return boundaries and unchanged health. Full suite: 1341 tests pass. Report regenerates byte-identically (372670 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open. | |
| Batch RE-714β723 closes ten independently checked research tasks in ten separate commits, advancing the Python baseline1300β1341. All ten new reports regenerate byte-identically below2MiB. See the [batch overview](research/QVM_CONTACT_HEALTH_BATCH.md) for findings, actual/captured child boundaries and remaining work. Original assets, Rust code and the shared VM evaluator remain unchanged. RE-713 remains partially open; RE-724 records the next scope. | |
| ## 2026-10-21 β Rust dependency-aware validation runner | |
| Added cargo xtask orchestration for Git changes, transitive Python import/report/oracle dependencies, versioned output ownership and test groups, affected two-pass report regeneration, full-suite fallback and fail-closed freshness errors. The MD3 producer now scopes its recorded Rust tests to urt-assets. See [testing](TESTING.md). Validation: 28 Rust runner regression tests and 10 asset-crate tests pass, alongside all 1,341 Python tests. The focused health group regenerates two reports twice and runs eight tests. The full run also regenerates the 619-file Rust MD3 corpus report twice; all three regenerated reports remain byte-identical to their committed versions. Storage/filter, documentation-link, Rust formatting and whitespace checks pass. Native runtime/platform/game completion scope is unchanged. | |
| ## 2026-10-21 β RE-725 Health pointer fallback and target routing | |
| Null inflictor/attacker become world34990728; target kind4 with a nonmagic checksum diverts to a guarded callback and exits before normal health logic. Focused `cargo xtask test-group health` passes (12 Python tests); selected reports regenerate twice byte-identically, with storage, links and whitespace guards. New report: 228345 bytes. Full-suite validation is deferred to the tenth batch commit. No original assets, Rust runtime or shared VM evaluator changed. | |
| ## 2026-10-21 β RE-726 Health attacker credit and client damage records | |
| Health bookkeeping adjusts attacker client252, clamps incoming integer damage to at least1 and publishes per-client damage, direction/origin, attacker and method fields before health subtraction. Focused `cargo xtask test-group health` passes (16 Python tests); selected reports regenerate twice byte-identically, with storage, links and whitespace guards. New report: 735718 bytes. Full-suite validation is deferred to the tenth batch commit. No original assets, Rust runtime or shared VM evaluator changed. | |
| ## 2026-10-21 β RE-727 Special target health classes and actual RNG | |
| The magic checksum routes method34 directly to healthβ999; class0β4 can choose1/2/3 damage through actual36717, while classes5β10 filter methods22/25 and selected classes halve method25 damage. Focused `cargo xtask test-group health` passes (20 Python tests); selected reports regenerate twice byte-identically, with storage, links and whitespace guards. New report: 1189392 bytes. Full-suite validation is deferred to the tenth batch commit. No original assets, Rust runtime or shared VM evaluator changed. | |
| ## 2026-10-21 β RE-728 Lethal mode interception and method24 override | |
| Mode10 can divert distinct live-client lethal damage to206128, while method24/global34066516 zeros direction z and requests impulse without ordinary health subtraction. Focused `cargo xtask test-group health` passes (24 Python tests); selected reports regenerate twice byte-identically, with storage, links and whitespace guards. New report: 351229 bytes. Full-suite validation is deferred to the tenth batch commit. No original assets, Rust runtime or shared VM evaluator changed. | |
| ## 2026-10-21 β RE-729 Ordinary health subtraction and protected publication | |
| Ordinary damage subtracts selected damage, optionally floors protected health at5 while clearing client flags, publishes attacker/location and mirrors health to client208; actual211197 drains client184 by300Γdamage with floor0. Focused `cargo xtask test-group health` passes (28 Python tests); selected reports regenerate twice byte-identically, with storage, links and whitespace guards. New report: 580637 bytes. Full-suite validation is deferred to the tenth batch commit. No original assets, Rust runtime or shared VM evaluator changed. | |
| ## 2026-10-21 β RE-730 Terminal health callbacks and packed meter cap | |
| Terminal processing caps client228 low16 values above500 (except method26), clamps dead health atβ999, records killer pointer and issues pain/death/impulse requests with distinct ABIs and ordering. Focused `cargo xtask test-group health` passes (32 Python tests); selected reports regenerate twice byte-identically, with storage, links and whitespace guards. New report: 707250 bytes. Full-suite validation is deferred to the tenth batch commit. No original assets, Rust runtime or shared VM evaluator changed. | |
| ## 2026-10-21 β RE-731 Complete velocity impulse and movement timer | |
| Complete213009 adds directionΓ(global scaleΓknockback/200) in source float32 order, and only a zero existing timer gets clamp(trunc(knockbackΓ2),50,200) plus movement flag64. Focused `cargo xtask test-group health` passes (36 Python tests); selected reports regenerate twice byte-identically, with storage, links and whitespace guards. New report: 74485 bytes. Full-suite validation is deferred to the tenth batch commit. No original assets, Rust runtime or shared VM evaluator changed. | |
| ## 2026-10-21 β RE-732 Complete health function with actual velocity impulses | |
| Complete211239 now composes gates, routing, normalization, bookkeeping, special targets, health publication and terminal branches with actual RNG/meter/impulse children. Late healthβ999 clamp can leave client208 below the entity clamp. Focused `cargo xtask test-group health` passes (41 Python tests); selected reports regenerate twice byte-identically, with storage, links and whitespace guards. New report: 804258 bytes. Full-suite validation is deferred to the tenth batch commit. No original assets, Rust runtime or shared VM evaluator changed. | |
| ## 2026-10-21 β RE-733 Complete original-model contact to actual health | |
| Original-model contact now executes actual211239 health/impulse effects while preserving contact return, event payload and special-weapon4 bypass behavior; default captured-health reports remain unchanged. Focused `cargo xtask test-group contact` passes (163 Python tests); selected reports regenerate twice byte-identically, with storage, links and whitespace guards. New report: 1079948 bytes. Full-suite validation is deferred to the tenth batch commit. No original assets, Rust runtime or shared VM evaluator changed. | |
| ## 2026-10-21 β RE-734 Rust source-order health impulse primitive | |
| Dependency-free urt-gameplay ports213009 velocity/timer rules; exact word comparisons match all96 source fixtures, with active nonfinite/unsupported integer-conversion domains rejected explicitly. Focused `cargo xtask test-group gameplay` passes (4 Python tests); selected reports regenerate twice byte-identically, with storage, links and whitespace guards. New report: 55810 bytes. Full-suite validation is deferred to the tenth batch commit. Adds the Rust impulse primitive; original assets and shared VM evaluator remain unchanged. | |
| RE-734 also passes28 focused xtask unit tests after replacing brittle fixed health-group counts with required-consumer assertions. The [RE-725β734 overview](research/QVM_HEALTH_RUST_BATCH.md) records per-task reduced checks and the full-suite gate scheduled after commit ten. Original assets and the shared VM evaluator are unchanged. | |
| ## 2026-10-21 β RE-725β734 batch gate after commit ten | |
| Exactly ten task commits follow1550ce07. Each task passed focused cargo xtask checks before its commit. The one full `cargo xtask test-full --since 1550ce07` run after commit ten passes all1,383 Python tests and46 Rust tests (10 assets,28 runner,8 gameplay). Twenty affected producers regenerate twice byte-identically; all committed reports remain unchanged after the run. Storage/filter, documentation links and staged/unstaged whitespace guards pass. Only this result documentation is amended into the tenth task commit; no second full run is needed for the metadata update. Original assets/shared VM evaluator remain unchanged; RE-735 records unresolved callback/native/shared-pellet/platform work. | |
| ## 2026-10-21 β RE-736 Complete protected accumulator and completion callbacks | |
| 152386 consumes float32 accumulated heat, clamps negative progress, completes at32000 and copies resulting progress to a nonnull attacker. Focused `cargo xtask test-group lifecycle` passes (3 Python tests); selected reports regenerate twice byte-identically, with storage, links and whitespace guards. New report: 161776 bytes. Full-suite validation is deferred to the tenth batch commit. No original assets, Rust runtime or shared VM evaluator changed. | |
| ## 2026-10-21 β RE-737 Mode10 interception gates and protected state publication | |
| 206128 exits outside mode10, state3 or blocked rounds; active entry publishes health50, meter15000 and protected bits with event106. Focused `cargo xtask test-group mode10-entry` passes (3 Python tests); selected reports regenerate twice byte-identically, with storage, links and whitespace guards. New report: 86046 bytes. Full-suite validation is deferred to the tenth batch commit. No original assets, Rust runtime or shared VM evaluator changed. | |
| ## 2026-10-21 β RE-738 Mode10 descriptor and stance animation dispatch | |
| Original weapon descriptor classes select animation65/66/67/72/78; class4 method22 special-cases66 and stance bit1 selects41/42. Focused `cargo xtask test-group mode10-animation` passes (3 Python tests); selected reports regenerate twice byte-identically, with storage, links and whitespace guards. New report: 314561 bytes. Full-suite validation is deferred to the tenth batch commit. No original assets, Rust runtime or shared VM evaluator changed. | |
| ## 2026-10-21 β RE-739 Mode10 inventory reset and obituary publication | |
| Interception clears ten inventory/timer fields and emits obituary28 with bounded method-name lookup and conditional attacker-health disclosure. Focused `cargo xtask test-group mode10-obituary` passes (3 Python tests); selected reports regenerate twice byte-identically, with storage, links and whitespace guards. New report: 97197 bytes. Full-suite validation is deferred to the tenth batch commit. No original assets, Rust runtime or shared VM evaluator changed. | |
| ## 2026-10-21 β RE-740 Mode10 team scoring penalties and lifecycle notifications | |
| Interception increments victim/team counters, requests score+1 and same-team -2, and applies a strict greater-than2000ms repeat-penalty gate before notifications. Focused `cargo xtask test-group mode10-scoring` passes (3 Python tests); selected reports regenerate twice byte-identically, with storage, links and whitespace guards. New report: 903870 bytes. Full-suite validation is deferred to the tenth batch commit. No original assets, Rust runtime or shared VM evaluator changed. | |
| ## 2026-10-21 β RE-741 Complete mode10 interception source composition | |
| Complete206128 now composes entry gates, protected publication, descriptor dispatch, cleanup, obituary, counters and penalty requests across56 fixtures. Focused `cargo xtask test-group mode10-complete` passes (3 Python tests); selected reports regenerate twice byte-identically, with storage, links and whitespace guards. New report: 547965 bytes. Full-suite validation is deferred to the tenth batch commit. No original assets, Rust runtime or shared VM evaluator changed. | |
| ## 2026-10-21 β RE-742 Actual lethal health suffix to complete mode10 interception | |
| The health lethal-decision suffix now executes actual206128; a blocked round still consumes the lethal intercept without ordinary subtraction. Focused `cargo xtask test-group health-mode10` passes (3 Python tests); selected reports regenerate twice byte-identically, with storage, links and whitespace guards. New report: 456558 bytes. Full-suite validation is deferred to the tenth batch commit. Optional actual interception resolver added; prior default reports must remain byte-identical. Original assets and shared VM evaluator unchanged. | |
| Additional RE-742 focused health regression: `cargo xtask test-group health` passes71 Python tests and deterministic affected report regeneration; all prior tracked reports remain unchanged. | |
| ## 2026-10-21 β RE-743 Rust protected progress and completion primitive | |
| Rust now reproduces protected progress accumulation, threshold completion, flag cleanup and event selection against all recovered finite152386 fixtures. Focused `cargo xtask test-group gameplay` passes (7 Python tests); selected reports regenerate twice byte-identically, with storage, links and whitespace guards. New report: 23783 bytes. Full-suite validation is deferred to the tenth batch commit. Rust gameplay crate changed; focused gameplay runner regenerates both impulse and protected parity reports, and runs only the gameplay package tests via the impulse producer. No workspace/full suite before commit ten. | |
| ## 2026-10-21 β RE-744 Rust mode10 gate and protected-state entry primitive | |
| Rust now preserves every entry-gated word and reproduces mode10 protected-state publication across36 source fixtures. Focused `cargo xtask test-group gameplay` passes (10 Python tests); selected reports regenerate twice byte-identically, with storage, links and whitespace guards. New report: 24759 bytes. Full-suite validation is deferred to the tenth batch commit. Rust gameplay crate changed; focused gameplay validates all existing Rust parity contracts and scoped package tests. Full workspace validation remains deferred until the tenth commit. | |
| ## 2026-10-21 β RE-745 Rust interception animation dispatch and lifecycle batch handoff | |
| Rust numeric animation/stance dispatch matches140 source fixtures; this batch adds protected progress and mode10 entry/animation primitives while native callback and engine integration remain open. Focused `cargo xtask test-group gameplay` passes (13 Python tests); selected reports regenerate twice byte-identically, with storage, links and whitespace guards. New report: 39748 bytes. Full-suite validation is deferred to the tenth batch commit. Rust gameplay crate changed; focused gameplay covers four parity reports and scoped package tests. The full suite runs once after this tenth task commit, with the outcome recorded by amending documentation in that commit. | |
| Additional RE-745 selection verification: the existing registry integration test now checks each new gameplay module selects its parity report/test and impulse-owned package test-count metadata without fallback. Scoped `cargo test --offline --package xtask` passes28 tests. | |
| ## 2026-10-21 β RE-736β745 full batch validation | |
| Exactly ten task commits follow baseline `e1f7eb5a`. Each task passed focused `cargo xtask test-group` validation before its commit; no full suite ran between those commits. After commit ten, the single `cargo xtask test-full --since e1f7eb5a` run passed1413 Python tests (520+357+378+158) and56 Rust tests (10 assets,18 gameplay,28 xtask). Twenty affected report producers regenerated twice byte-identically; storage policy,304 documentation link checks and whitespace guards passed. All generated reports matched the committed state after full validation. The tenth commit is amended only to record this outcome. Original assets remain unchanged. Native executable/DLL parity, actual unresolved lifecycle children, Linux runtime and interactive Bevy/Solari gameplay remain open. | |
| ## 2026-10-21 β RE-747 Complete score update gates wrapping and rank refresh | |
| 205260 updates client248 with wrapping addition, optionally updates a mode3 team score, and requests ranking5864 only after active mutations. Focused `cargo xtask test-group score` passes (3 Python tests); selected reports regenerate twice byte-identically, with storage, links and whitespace guards. New report: 68658 bytes. Full-suite validation is deferred to the tenth batch commit. No original assets, Rust runtime or shared VM evaluator changed. | |
| ## 2026-10-21 β RE-748 Reset and pair notification gates and connected recipients | |
| 6369 and6439 dispatch only to client state2, after pointer/in-use/client gates; their recipient callbacks remain explicit. Focused `cargo xtask test-group notifications` passes (3 Python tests); selected reports regenerate twice byte-identically, with storage, links and whitespace guards. New report: 42744 bytes. Full-suite validation is deferred to the tenth batch commit. No original assets, Rust runtime or shared VM evaluator changed. | |
| ## 2026-10-21 β RE-749 Complete method to statistic slot classification | |
| 278733 maps19 selected methods into statistic slots0..18 using the original jump table; all other tested methods return-1. Focused `cargo xtask test-group stat-slots` passes (3 Python tests); selected reports regenerate twice byte-identically, with storage, links and whitespace guards. New report: 19282 bytes. Full-suite validation is deferred to the tenth batch commit. No original assets, Rust runtime or shared VM evaluator changed. | |
| ## 2026-10-21 β RE-750 Complete method counter mutation aliases and notifications | |
| 278834 updates per-method or fallback counters with wrapping increments, distinct self cases, and ordered aggregate/report requests. Focused `cargo xtask test-group stat-updates` passes (3 Python tests); selected reports regenerate twice byte-identically, with storage, links and whitespace guards. New report: 956970 bytes. Full-suite validation is deferred to the tenth batch commit. No original assets, Rust runtime or shared VM evaluator changed. | |
| ## 2026-10-21 β RE-751 Complete cross client record clearing and inclusive index64 | |
| 285486 clears two words across nonnull client records in64 entity slots; its source gate accepts index64 inclusively. Focused `cargo xtask test-group record-clear` passes (3 Python tests); selected reports regenerate twice byte-identically, with storage, links and whitespace guards. New report: 137753 bytes. Full-suite validation is deferred to the tenth batch commit. No original assets, Rust runtime or shared VM evaluator changed. | |
| ## 2026-10-21 β RE-752 Protected completion with actual scoring and recipient dispatch | |
| 152386 completion now executes actual205260 score mutation and6369 connected-recipient dispatch while retaining explicit rank/callback/event boundaries. Focused `cargo xtask test-group resolved-protected` passes (3 Python tests); selected reports regenerate twice byte-identically, with storage, links and whitespace guards. New report: 153157 bytes. Full-suite validation is deferred to the tenth batch commit. Optional lifecycle child resolvers added; default source contracts retained. Original assets, Rust runtime and shared VM evaluator unchanged. | |
| ## 2026-10-21 β RE-753 Complete interception with actual score statistics and record clearing | |
| 206128 now composes actual scoring, recipient dispatch, method counters and cross-client clearing for valid pool ID aliases. Focused `cargo xtask test-group resolved-mode10` passes (3 Python tests); selected reports regenerate twice byte-identically, with storage, links and whitespace guards. New report: 597687 bytes. Full-suite validation is deferred to the tenth batch commit. Optional lifecycle resolvers and reusable clear snapshot address ownership changed. Default reports and actual child fixtures require focused shared-health regression; original assets and shared VM evaluator unchanged. | |
| Additional RE-753 shared-health regression: `cargo xtask test-group health` passes101 Python tests with deterministic report regeneration. Prior tracked source/Rust reports remain unchanged; no full suite ran. | |
| ## 2026-10-21 β RE-754 Rust wrapping score primitive and ranking request contract | |
| Rust player/team score updates and ranking-request decisions match67 source fixtures, with explicit active team-index rejection. Focused `cargo xtask test-group gameplay` passes (16 Python tests); selected reports regenerate twice byte-identically, with storage, links and whitespace guards. New report: 33247 bytes. Full-suite validation is deferred to the tenth batch commit. Rust gameplay crate changed; focused gameplay regenerates all five parity contracts and scoped package tests, without requesting workspace/full-suite tests. | |
| ## 2026-10-21 β RE-755 Rust method classification wrapping counters and reporting intent | |
| Rust classification and method-counter mutation now match53 mapping and205 counter fixtures, including self aliases and wrapping increments. Focused `cargo xtask test-group gameplay` passes (19 Python tests); selected reports regenerate twice byte-identically, with storage, links and whitespace guards. New report: 172131 bytes. Full-suite validation is deferred to the tenth batch commit. Rust gameplay crate changed; focused gameplay regenerates six parity contracts and scoped gameplay tests. No workspace/full-suite run before commit ten. | |
| ## 2026-10-21 β RE-756 Rust cross client clearing and score statistics batch handoff | |
| Rust cross-client clearing preserves the source inclusive index64 and exact logical changed-word footprint across40 sparse/dense fixtures. Focused `cargo xtask test-group gameplay` passes (22 Python tests); selected reports regenerate twice byte-identically, with storage, links and whitespace guards. New report: 247244 bytes. Full-suite validation is deferred to the tenth batch commit. Rust gameplay and registry integration tests changed. Focused gameplay regenerates seven parity reports and scoped package tests. The full suite runs once after this tenth task commit; documentation is amended with that outcome. | |
| Additional RE-756 selection verification: scoped `cargo test --offline --package xtask` passes28 tests. Registry integration now verifies score, method-statistics and record-clear module edits select their parity reports/tests and the impulse-owned gameplay package test-count metadata without fallback. | |
| ## 2026-10-21 β RE-747β756 full batch validation | |
| Exactly ten task commits follow baseline `ae4d61e7`. Each task passed focused `cargo xtask test-group` validation before its commit; no full suite ran between those commits. After commit ten, the single `cargo xtask test-full --since ae4d61e7` run passed1443 Python tests (519+357+364+203) and68 Rust tests (10 assets,30 gameplay,28 xtask). Twenty-one affected report producers regenerated twice byte-identically. Storage policy, documentation links across315 files and whitespace guards passed. All generated reports matched committed outputs and the working tree was clean after validation. The tenth commit is amended only to record the outcome. Original assets remain unchanged. Ranking, recipient callback internals, stat aggregation/reporting, full health/contact/runtime composition, original native parity, Linux and interactive Bevy/Solari gameplay remain open. | |
| ## 2026-10-21 β RE-758 Complete statistic totals field inclusion and wrapping | |
| 283085/283166 sum20 per-slot counters plus selected legacy fields with signed wrapping and distinct exclusions. Focused `cargo xtask test-group stat-totals` passes (3 Python tests); selected reports regenerate twice byte-identically, with storage, links and whitespace guards. New report: 295255 bytes. Full-suite validation is deferred to the tenth batch commit. No original assets, Rust runtime or shared VM evaluator changed. | |
| ## 2026-10-21 β RE-759 Complete divisor normalized totals and ratio publication | |
| 279586 publishes reduced integer totals and a source-order float32 ratio using actual totals and283488 divisor behavior. Focused `cargo xtask test-group stat-ratios` passes (3 Python tests); selected reports regenerate twice byte-identically, with storage, links and whitespace guards. New report: 226409 bytes. Full-suite validation is deferred to the tenth batch commit. No original assets, Rust runtime or shared VM evaluator changed. | |
| ## 2026-10-21 β RE-760 Complete same team aggregate counters and participant gates | |
| 279720 increments first-client2444 and second-client2516 only for distinct same-team clients in supported modes. Focused `cargo xtask test-group team-counters` passes (3 Python tests); selected reports regenerate twice byte-identically, with storage, links and whitespace guards. New report: 77671 bytes. Full-suite validation is deferred to the tenth batch commit. No original assets, Rust runtime or shared VM evaluator changed. | |
| ## 2026-10-21 β RE-761 Complete recent record awards timestamp gates and index64 alias | |
| 285227 awards distinct enemy recipients when record count is at least40 and wrapped signed age is at most30000; index64 aliases the award word. Focused `cargo xtask test-group recent-awards` passes (3 Python tests); selected reports regenerate twice byte-identically, with storage, links and whitespace guards. New report: 238290 bytes. Full-suite validation is deferred to the tenth batch commit. No original assets, Rust runtime or shared VM evaluator changed. | |
| ## 2026-10-21 β RE-762 Single recipient numeric payload cached ping and send requests | |
| 179736 numeric payload preserves cached follow ping, applies entity-flag publication override, and emits source status/time/packed-field arguments. Focused `cargo xtask test-group recipient-single` passes (3 Python tests); selected reports regenerate twice byte-identically, with storage, links and whitespace guards. New report: 417817 bytes. Full-suite validation is deferred to the tenth batch commit. No original assets, Rust runtime or shared VM evaluator changed. | |
| ## 2026-10-21 β RE-763 Pair recipient numeric payload gates and cache aliases | |
| 180087 numeric body projects two participants into one formatter request with independent status/ping fields and source-order cache alias handling. Focused `cargo xtask test-group recipient-pair` passes (3 Python tests); selected reports regenerate twice byte-identically, with storage, links and whitespace guards. New report: 577131 bytes. Full-suite validation is deferred to the tenth batch commit. No original assets, Rust runtime or shared VM evaluator changed. | |
| Additional RE-763 regression: `cargo xtask test-group recipient-single` passes6 tests across both payload contracts; the earlier single-recipient report regenerates byte-identically. | |
| ## 2026-10-21 β RE-764 Ranking setup counts active slots and sort boundary | |
| 5864 setup builds a scan-order connected list, distinguishes non-spectator/active/human counts and records the first two active slots before sorting. Focused `cargo xtask test-group ranking-setup` passes (3 Python tests); selected reports regenerate twice byte-identically, with storage, links and whitespace guards. New report: 49546 bytes. Full-suite validation is deferred to the tenth batch commit. No original assets, Rust runtime or shared VM evaluator changed. | |
| ## 2026-10-21 β RE-765 Rust counter totals divisor and normalized ratio primitives | |
| Rust totals and normalized ratios match80 total,28 ratio and38 signed-divisor source fixtures while retaining20 slots. Focused `cargo xtask test-group gameplay` passes (25 Python tests); selected reports regenerate twice byte-identically, with storage, links and whitespace guards. New report: 32451 bytes. Full-suite validation is deferred to the tenth batch commit. Rust gameplay crate changed; focused gameplay regenerates eight parity contracts and scoped package tests. No workspace/full-suite run before commit ten. | |
| ## 2026-10-21 β RE-766 Rust recent record awards timestamp gates and alias storage | |
| Rust recent-record awards match68 source fixtures, preserving future ages, wrapped clocks, ID gates and index64 award/count aliasing. Focused `cargo xtask test-group gameplay` passes (28 Python tests); selected reports regenerate twice byte-identically, with storage, links and whitespace guards. New report: 143080 bytes. Full-suite validation is deferred to the tenth batch commit. Rust gameplay crate changed; focused gameplay regenerates nine parity contracts and scoped package tests. Full workspace suite remains deferred to commit ten. | |
| ## 2026-10-21 β RE-767 Rust recipient numeric projection and reporting batch handoff | |
| Rust recipient participant gates, numeric fields and cache effects match72 single and73 pair source fixtures, including self aliases. Focused `cargo xtask test-group gameplay` passes (31 Python tests); selected reports regenerate twice byte-identically, with storage, links and whitespace guards. New report: 312484 bytes. Full-suite validation is deferred to the tenth batch commit. Rust gameplay and registry integration tests changed. Focused gameplay covers ten parity reports and scoped package tests. The full suite runs once after commit ten, then documentation is amended with its outcome. | |
| Additional RE-767 selector verification: scoped `cargo test --offline --package xtask` passes28 tests. Registry integration confirms totals, recent-award and recipient-payload module edits select their parity reports/tests and the impulse-owned package test-count metadata without fallback. | |
| ## 2026-10-21 β RE-758β767 full batch validation | |
| Exactly ten task commits follow baseline `27a7f96f`. Every completed task passed focused `cargo xtask test-group` checks before its final commit; no full suite ran between those task commits. After commit ten, the single `cargo xtask test-full --since 27a7f96f` run passed1473 Python tests (519+357+352+245) and80 Rust tests (10 assets,42 gameplay,28 xtask). Seventeen affected report producers regenerated twice byte-identically. Storage policy, documentation links across326 files and whitespace guards passed. Generated outputs matched committed reports and the working tree was clean after validation. The tenth commit is amended only to record this result. Original assets remain unchanged. Ranking sort/publication, actual text serialization, statistic leaderboards, full lifecycle/runtime composition, original native parity, Linux and interactive Bevy/Solari gameplay remain open. | |
| ## 2026-10-21 β RE-769 Complete ranking comparator gates ties and mode priorities | |
| 5441 preserves mode-specific score/time/class priorities and returns non-ordering results for some deferred/connecting pairs. Focused `cargo xtask test-group rank-comparator` passes (3 Python tests); selected reports regenerate twice byte-identically, with storage, links and whitespace guards. New report: 136008 bytes. Full-suite validation is deferred to the tenth batch commit. No original assets, Rust runtime or shared VM evaluator changed. | |
| ## 2026-10-21 β RE-770 Actual aligned small rank sorting with dynamic comparator | |
| 35095 aligned four-byte insertion sorting now executes actual5441 callbacks for fewer than7 entries. Focused `cargo xtask test-group rank-small-sort` passes (4 Python tests); selected reports regenerate twice byte-identically, with storage, links and whitespace guards. New report: 142955 bytes. Full-suite validation is deferred to the tenth batch commit. Optional explicit result-offset mapping added to trace resumption; default instruction evaluation unchanged. Focused actual sort checks validate dynamic callback return placement. Correct repeated-call reentry is opt-in for this sort; legacy repeated-call analyses require an explicit audit. Broader full regression remains deferred until task ten. | |
| ## 2026-10-21 β RE-771 Complete finite ranking sort tie flags and publication requests | |
| 5864 now executes actual aligned small sorting and publishes team/individual rank words with tie bit16384 before explicit publication requests. Focused `cargo xtask test-group ranking-complete` passes (3 Python tests); selected reports regenerate twice byte-identically, with storage, links and whitespace guards. New report: 334757 bytes. Full-suite validation is deferred to the tenth batch commit. No original assets, Rust runtime or shared VM evaluator changed. | |
| ## 2026-10-21 β RE-772 Leaderboard slot mapping sparse layout and sentinels | |
| 278587 maps20 weapon-like identifiers to slots0..19;284555 initializes nine metric fields and preserves record holes. Focused `cargo xtask test-group leaderboard-layout` passes (3 Python tests); selected reports regenerate twice byte-identically, with storage, links and whitespace guards. New report: 14920 bytes. Full-suite validation is deferred to the tenth batch commit. No original assets, Rust runtime or shared VM evaluator changed. | |
| ## 2026-10-21 β RE-773 Complete leaderboard joint thresholds sentinel updates and ties | |
| 284610 requires every candidate metric to strictly exceed its threshold, then updates only nonsentinel fields and records the candidate entity. Focused `cargo xtask test-group leaderboard-selector` passes (3 Python tests); selected reports regenerate twice byte-identically, with storage, links and whitespace guards. New report: 697619 bytes. Full-suite validation is deferred to the tenth batch commit. No original assets, Rust runtime or shared VM evaluator changed. | |
| ## 2026-10-21 β RE-774 Actual first four leaderboard category selections | |
| 283622 first four categories now execute actual initialization/mapping/selection with their original key groups and thresholds. Focused `cargo xtask test-group leaderboard-categories` passes (3 Python tests); selected reports regenerate twice byte-identically, with storage, links and whitespace guards. New report: 1002192 bytes. Full-suite validation is deferred to the tenth batch commit. No original assets, Rust runtime or shared VM evaluator changed. | |
| ## 2026-10-21 β RE-775 Original recipient command templates and bounded byte serialization model | |
| Original scoress/scoresd templates carry12 numeric fields plus a name per participant;69338 requests31-byte strncpy then forces the32nd byte to zero. Focused `cargo xtask test-group recipient-wire` passes (3 Python tests); selected reports regenerate twice byte-identically, with storage, links and whitespace guards. New report: 120583 bytes. Full-suite validation is deferred to the tenth batch commit. No original assets, Rust runtime or shared VM evaluator changed. | |
| ## 2026-10-21 β RE-776 Rust raw comparator and eligible rank publication primitives | |
| Rust raw comparator and rank words match232 comparator and48 eligible complete-ranking source fixtures without imposing Ord on non-ordering prefilters. Focused `cargo xtask test-group gameplay` passes (34 Python tests); selected reports regenerate twice byte-identically, with storage, links and whitespace guards. New report: 97961 bytes. Full-suite validation is deferred to the tenth batch commit. Rust gameplay crate changed; focused gameplay regenerates eleven parity contracts and scoped package tests. Full suite remains deferred until task ten. | |
| ## 2026-10-21 β RE-777 Rust leaderboard mapping sentinels and joint metric selector | |
| Rust leaderboard mapping and joint threshold selection match33 mapping and77 corrected-reentry source cases. Focused `cargo xtask test-group gameplay` passes (37 Python tests); selected reports regenerate twice byte-identically, with storage, links and whitespace guards. New report: 60907 bytes. Full-suite validation is deferred to the tenth batch commit. Rust gameplay crate changed; focused gameplay regenerates twelve parity contracts and scoped package tests. Source evidence for this port uses corrected repeated-call tracing; legacy caller audit remains open. | |
| ## 2026-10-21 β RE-778 Rust modeled recipient byte serialization and ranking batch handoff | |
| Rust serializer matches the explicit original-template/native-copy byte model while preserving signed values, raw names and terminal NUL. Focused `cargo xtask test-group gameplay` passes (40 Python tests); selected reports regenerate twice byte-identically, with storage, links and whitespace guards. New report: 128236 bytes. Full-suite validation is deferred to the tenth batch commit. Rust gameplay and registry integration changed. Focused gameplay covers thirteen parity reports and scoped package tests. Full suite runs once after task ten; documentation is amended with its outcome. Legacy tracing audit remains open despite regression compatibility. | |
| Additional RE-778 selector verification: scoped `cargo test --offline --package xtask` passes28 tests. Registry integration checks ranking, leaderboard and recipient-wire module changes select their parity reports/tests and the impulse-owned gameplay test-count metadata without fallback. Legacy repeated-call/dynamic-return tracing remains an explicit audit requirement. | |
| ## 2026-10-21 β RE-769β778 full batch validation | |
| Exactly ten task commits follow baseline `799143f3`. Each task passed focused `cargo xtask test-group` checks before its commit; no full suite ran between those commits. After commit ten, the single `cargo xtask test-full --since 799143f3` run passed1504 Python tests (519+357+340+288) and92 Rust tests (10 assets,54 gameplay,28 xtask). All290 affected report producers regenerated twice byte-identically. Storage policy, documentation links across337 files and whitespace guards passed. | |
| Broad regeneration refreshed three older byte-memory snapshots: auth-queries.json adds448 cells, chat-expansion.json adds1808 and selector-bounds.json adds532. Review against the batch base confirmed no old byte cell changed/removed and no changes outside byte_memory. The tenth task commit includes these reviewed generated reports and this validation record. Other reports match committed output; original assets remain unchanged. Passing regressions establish compatibility, while legacy repeated-call/dynamic-return tracing still requires the documented audit. Large sort paths, native formatting/copy/send, remaining leaderboard/runtime composition, original native parity, Linux and interactive Bevy/Solari gameplay remain open. | |
| ## 2026-10-21 β RE-780 Bounded resumer call-site and return-placement audit inventory | |
| Both bounded resumers have legacy consumers; static inventory exposes literal ranges, computed-range review gaps, loop markers and dynamic STORE4 return sites. Focused `cargo xtask test-group resumer-audit` passes (2 Python tests); selected reports regenerate twice byte-identically, with storage, links and whitespace guards. New report: 246152 bytes. Full-suite validation is deferred to the tenth batch commit. No original assets, Rust runtime or shared VM evaluator changed. | |
| ## 2026-10-21 β RE-781 Fail-closed CALL return placement and coherent result bytes | |
| Synthetic dynamic callbacks now require explicit return offsets, preserving the callback pointer; following byte loads see the real callback word rather than placeholder zero. Focused `cargo xtask test-group return-placement` passes (10 Python tests); selected reports regenerate twice byte-identically, with storage, links and whitespace guards. New report: 31228 bytes. Full-suite validation is deferred to the tenth batch commit. Shared trace return placement changed; focused synthetic regressions and existing small-sort source fixtures validate this stage. Broader consumers are checked at the batch boundary. | |
| ## 2026-10-21 β RE-782 Repeated CALL timing counterexamples and empty-stack guards | |
| Legacy resumption demonstrably exits a three-step countdown early; corrected tracing supplies every return and memory effect before the next loop branch. Focused `cargo xtask test-group reentry-witness` passes (6 Python tests); selected reports regenerate twice byte-identically, with storage, links and whitespace guards. New report: 66561 bytes. Full-suite validation is deferred to the tenth batch commit. Shared trace resumer adds an empty-stack guard in corrected mode. Legacy mode remains available only for differential audit. | |
| ## 2026-10-21 β RE-783 Corrected movement resumption with persistent byte and command state | |
| The movement resumer also loses non-command STORE1 writes across calls in legacy mode; corrected opt-in preserves bytes and applies handler-returned commands before the next segment. Focused `cargo xtask test-group execute-reentry` passes (7 Python tests); selected reports regenerate twice byte-identically, with storage, links and whitespace guards. New report: 49425 bytes. Full-suite validation is deferred to the tenth batch commit. Shared movement execute gains corrected opt-in behavior; this stage validates synthetic semantics rather than claiming all legacy movement reports are audited. | |
| ## 2026-10-21 β RE-784 Audited notification reentry and 64-slot recipient dispatch | |
| 6369 and6439 now use corrected reentry; scaled recipient order/gates and full legacy/corrected tuples agree for captured callback fixtures through64 slots. Focused `cargo xtask test-group notification-reentry` passes (71 Python tests); selected reports regenerate twice byte-identically, with storage, links and whitespace guards. New report: 46918 bytes. Full-suite validation is deferred to the tenth batch commit. Notification source resumption migrated; shared evaluator unchanged in this task. Callback internals remain captured. | |
| ## 2026-10-21 β RE-785 Audited dense recent-award scans timestamps and index64 alias | |
| 285227 uses corrected reentry;32 dense65-record fixtures preserve source scan order, signed timestamp/count gates and index64 award/count aliasing. Focused `cargo xtask test-group award-reentry` passes (10 Python tests); selected reports regenerate twice byte-identically, with storage, links and whitespace guards. New report: 659031 bytes. Full-suite validation is deferred to the tenth batch commit. Recent-award source resumption migrated. Existing Rust parity and source consumers remain bounded numeric contracts. | |
| ## 2026-10-21 β RE-786 Audited method counters team pairs and dense record clearing | |
| 278834,279720 and285486 now use corrected reentry; independent counter/alias/address oracles and full legacy tuple comparisons cover160 expanded fixtures. Focused `cargo xtask test-group counter-reentry` passes (34 Python tests); selected reports regenerate twice byte-identically, with storage, links and whitespace guards. New report: 200891 bytes. Full-suite validation is deferred to the tenth batch commit. Three bounded source helpers migrated; independent numeric/address expectations and existing source/Rust regressions check their contracts. | |
| ## 2026-10-21 β RE-787 Audited water-entry dynamic returns and locomotion source consumers | |
| 41486 and selected47884 prefix/ground paths use corrected movement execution, with full returned-memory differential checks and independent water/gait/event expectations. Focused `cargo xtask test-group movement-reentry` passes (65 Python tests); selected reports regenerate twice byte-identically, with storage, links and whitespace guards. New report: 413676 bytes. Full-suite validation is deferred to the tenth batch commit. Selected movement producers migrated; the shared execute default remains legacy during the wider audit. | |
| ## 2026-10-21 β RE-788 Actual aligned sort swaps and dynamic median-of-three helper | |
| Recovered34829 aligned swaps and34964 median-of-three with five reviewed return destinations; tests cover overlap, guards, permutations and ties. Focused `cargo xtask test-group rank-partition-helpers` passes (18 Python tests); selected reports regenerate twice byte-identically, with storage, links and whitespace guards. New report: 405895 bytes. Full-suite validation is deferred to the tenth batch commit. New bounded source helper compositions use corrected tracing and explicit dynamic return offsets; no supplied sort/median result is used. | |
| ## 2026-10-21 β RE-789 Actual aligned ranking partitions recursion and 64-client sorting | |
| 35095 partitioned sorting is now source-executed through64 eligible clients with actual swaps, median/ninther selection, recursion and insertion fallback. Focused `cargo xtask test-group rank-large-sort` passes (6 Python tests); selected reports regenerate twice byte-identically, with storage, links and whitespace guards. New report: 563568 bytes. Full-suite validation is deferred to the tenth batch commit. New source sort runs real recovered children without injecting a sort result. Batch-wide full validation follows this tenth task commit. | |
| RE-789 final focused recheck:7 Python tests pass after adding explicit unresolved-mode classification and batch documentation. All current non-test scanner inputs have registered dependency edges; full suite remains deferred until commit ten. | |
| ## 2026-10-21 β RE-780β789 full batch validation | |
| After exactly ten task commits from `78ab0c4b`, the single `cargo xtask test-full --since 78ab0c4b` run passed 1,537 Python tests (517+350+337+333) and 92 Rust tests (10 assets,54 gameplay,28 xtask). All216 affected report producers regenerated twice byte-identically; storage policy,348 documentation files and whitespace checks passed. Regeneration left a clean working tree. The tenth commit is amended only with final validation notes after documentation-only xtask checks. [Batch evidence and remaining RE-790 work](research/QVM_RESUMER_PARTITION_BATCH.md). | |
| ## 2026-10-26 β RE-791 Explicit child word synchronization at corrected call boundaries | |
| Both resumers can synchronize new and changed child words into byte lanes without erasing unchanged parent byte overlays. Focused `cargo xtask test-group child-word-memory` passes (6 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-26 β RE-792 Complete ranking caller with actual partitioned sorting through64 clients | |
| 5864 now composes actual35095 sorting and rank writes over80 larger eligible populations with explicit publication captures. Focused `cargo xtask test-group ranking-large-caller` passes (5 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-26 β RE-793 Mixed ranking populations and positional rank-prefix behavior | |
| Ranking count globals follow connection/team/bot gates, but deferred records can move active clients out of the positional prefix that receives rank words. Focused `cargo xtask test-group ranking-population` passes (13 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-26 β RE-794 Rust source-shaped aligned ranking sort with exact tie order | |
| Rust now executes the recovered insertion/partition/median/ninther sort without assuming comparator Ord; source parity includes unstable tie permutations. Focused `cargo xtask test-group rust-rank-sort` passes (9 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-26 β RE-795 Rust eligible ranking composition through64 clients | |
| Rust composes recovered source sorting and rank writes, matching exact order and tied/team rank words for128 full caller fixtures. Focused `cargo xtask test-group rust-ranking-complete` passes (9 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-26 β RE-796 Rust ranking population collection and all eight count globals | |
| Rust reproduces source collection, first-playing identifiers and bot/team counters across185 setup and complete caller fixtures. Focused `cargo xtask test-group rust-ranking-population` passes (9 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-26 β RE-797 Rust full mixed-population ranking and positional publication words | |
| Rust matches exact order, rank words and count globals for144 complete mixed/eligible caller fixtures, without reinterpreting asymmetric prefilters as Ord. Focused `cargo xtask test-group rust-ranking-mixed` passes (18 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-26 β RE-798 Composed method counters team effects and actual ratio publication | |
| 278834 now optionally composes actual team counters and both ratio refreshes;64 fixtures verify counter aliases, totals, divisor and float32 publication together. Focused `cargo xtask test-group stat-composition` passes (41 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-26 β RE-799 Actual scoreboard broadcast dispatch and full ranking caller gate | |
| 6328 dispatches179363 to every state2 client in scan order, including spectators, and now executes inside48 complete ranking caller fixtures. Focused `cargo xtask test-group scoreboard-broadcast` passes (6 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-26 β RE-800 Rust scoreboard recipient policy and bounded ranking publication plan | |
| Rust reproduces all6328 recipient requests and exact rank-plan outputs across69 source fixtures, including connected spectators and both broadcast gates. Focused `cargo xtask test-group rust-scoreboard` passes (10 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| RE-800 final focused recheck passes10 Python tests and deterministic report/storage/link/whitespace checks after batch documentation and explicit formatted-source registry edges. The scoped xtask registry integration test also passes, verifying all ten new source-report mappings and new module selection paths. Full validation starts only after commit ten. | |
| ## 2026-10-26 β RE-791β800 full batch validation | |
| After exactly ten task commits from `c6b4a1eb`, the single `cargo xtask test-full --since c6b4a1eb` run passed 1,562 Python tests (516+346+331+369) and102 Rust tests (10 assets,64 gameplay,28 xtask). All226 affected report producers regenerated twice byte-identically. Storage policy,359 documentation files and whitespace checks passed; regeneration left the working tree clean. Final documentation-only notes are checked separately and amended into task ten without repeating the full suite. [Batch contracts and RE-801 work](research/QVM_RUST_RANKING_PUBLICATION_BATCH.md). | |
| ## 2026-10-26 β RE-802 Opt-in coherent byte and unaligned word research memory | |
| Bounded tracing can now preserve byte/word coherence and execute unaligned byte copies without changing legacy observations. Focused `cargo xtask test-group coherent-memory` passes (6 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-26 β RE-803 Explicit child byte effects and read-only shared byte views | |
| Both bounded resumers now support validated child byte writes, coherent word mirroring and explicit word/byte/return precedence. Focused `cargo xtask test-group child-byte-effects` passes (6 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-26 β RE-804 Actual QVM string helpers across aligned and unaligned memory | |
| Actual strlen36038 and strcpy36185 execute against coherent bytes, preserving destination guards; bounded copy69338 retains an explicit native strncpy model. Focused `cargo xtask test-group string-memory` passes (6 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-26 β RE-805 Original scoreboard numeric rows cache updates and packet admission | |
| 179363 differs from single-recipient payloads: raw class is preserved, only connecting state1 forces999 ping, and overflow candidates mutate cache before rejection. Focused `cargo xtask test-group scoreboard-rows` passes (6 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-26 β RE-806 Source scoreboard buffer construction with modeled formatter boundaries | |
| 179363 now executes its real string and format wrappers, admission loop and rotating final buffer; exact byte output is checked under explicit formatter/native-copy models. Focused `cargo xtask test-group scoreboard-wire` passes (12 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-26 β RE-807 Rust scoreboard numeric projection with source-specific ping and class policy | |
| Rust reproduces every attempted source scoreboard row and cache update while preserving the differences from existing single/pair recipient projections. Focused `cargo xtask test-group rust-scoreboard-rows` passes (9 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-26 β RE-808 Rust scoreboard packet admission cache and ring-buffer policy | |
| Rust matches exact modeled scoreboard bytes, accepted/attempted counts, rejected-row cache mutations and output-ring wrap for18 source compositions. Focused `cargo xtask test-group rust-scoreboard-packet` passes (9 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-26 β RE-809 Source scoreboard broadcast with shared packet and cache state | |
| 6328 now composes actual scoreboard bodies for successive recipients, preserving cache mutations, refreshed frame arguments and alternating output pointers. Focused `cargo xtask test-group scoreboard-stream` passes (5 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-26 β RE-810 Rust stateful scoreboard broadcast transmission contract | |
| Rust now matches successive source scoreboard packets with shared cache and ring state, rather than producing isolated per-recipient projections. Focused `cargo xtask test-group rust-scoreboard-stream` passes (11 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-26 β RE-811 Shared method-stat ratio and recent-award source composition | |
| 278834 now composes actual recent-award scanning after actual team/ratio children in canonical actor/victim storage across64 mode/count/time/self fixtures. Focused `cargo xtask test-group stat-award-composition` passes (5 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| RE-811 final focused recheck passes5 Python tests plus deterministic reports/storage/370-file link/whitespace checks after batch documentation. The scoped xtask registry integration test passes, covering the scoreboard_wire module and all three new source-report parity edges. Full suite begins only after task ten is committed. | |
| ## 2026-10-26 β RE-802β811 full batch validation | |
| After exactly ten task commits from `744c236f`, the single `cargo xtask test-full --since 744c236f` run passed 1,587 Python tests (509+347+320+331+80) and109 Rust tests (10 assets,71 gameplay,28 xtask). All320 affected report producers regenerated twice byte-identically. Storage policy,370 documentation files and whitespace checks passed; regeneration left a clean working tree. Final documentation notes are checked separately and amended into task ten without repeating the full suite. [Batch contracts and RE-812 work](research/QVM_SCOREBOARD_MEMORY_BATCH.md). | |
| ## 2026-10-27 β RE-813 Actual string formatter precision padding and null-pointer policy | |
| 37768 truncates non-null strings by precision, always pads on the right, and ignores supplied precision for null strings by using its source fallback literal. Focused `cargo xtask test-group format-string` passes (5 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-27 β RE-814 Actual decimal formatter padding and signed-minimum quirks | |
| 37279 pads zeroes before a negative sign and renders wrapping INT_MIN remainder bytes noncanonically; narrow left-padding domains fail bounded execution. Focused `cargo xtask test-group format-integer` passes (6 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-27 β RE-815 Original formatter dispatch integer string character and literal composition | |
| 37914 now executes original dispatch tables and integer/string children; pointer conversion is decimal, unknown conversions consume one low-byte word, and source padding/minimum quirks propagate. Focused `cargo xtask test-group formatter` passes (5 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-27 β RE-816 Scoreboard packets with actual original formatter execution | |
| Replacing the standard-decimal boundary with actual37914 exposes signed-minimum byte differences; prior modeled results remain explicitly separate. Focused `cargo xtask test-group scoreboard-formatter` passes (5 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-27 β RE-817 Rust recovered formatter subset with original byte quirks | |
| Rust now matches actual37914 rather than host printf for decimal/string/character dispatch, including signed-minimum, null precision and padding quirks. Focused `cargo xtask test-group rust-qvm-format` passes (9 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-27 β RE-818 Rust scoreboard packets corrected to original formatter bytes | |
| Rust scoreboard construction now uses recovered decimal/format semantics, replacing the earlier host-decimal assumption and matching actual source formatter packets. Focused `cargo xtask test-group rust-scoreboard-original` passes (15 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-27 β RE-819 Original bounded formatter clipping diagnostics and output-ring policy | |
| 70386 warns at count>=capacity, returns the clipped count and copies a guaranteed terminal NUL; embedded NUL separates reported count from visible string length. Focused `cargo xtask test-group format-wrappers` passes (5 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-27 β RE-820 Rust bounded and rotating formatter wrapper contracts | |
| Rust matches original clipping counts, visible bytes, warning thresholds and alternating buffer counters across56 wrapper cases. Focused `cargo xtask test-group rust-format-wrappers` passes (11 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-27 β RE-821 Original exit-rule prefix priority pending clocks and transition gates | |
| 7805 first handles blocked state, then a pending1000/5000 transition using signed wrapped elapsed time; only a ready transition clears the pending global. Focused `cargo xtask test-group exit-prefix` passes (5 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-27 β RE-822 Rust exit-rule prefix priority and wrapped transition clocks | |
| Rust matches source7805 blocked/pending prefix behavior over144 cases, preserving pending time on blocked/wait paths and clearing only ready transitions. Focused `cargo xtask test-group rust-exit-prefix` passes (9 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| RE-822 final focused recheck passes9 Python tests, deterministic reports and storage/381-file links/whitespace guards after batch documentation. The scoped xtask registry integration test also passes, verifying both new Rust modules and five new source-report parity mappings. Full validation begins only after task ten is committed. | |
| ## 2026-10-27 β RE-813β822 full batch validation | |
| After exactly ten task commits from `7c1c4082`, the single `cargo xtask test-full --since 7c1c4082` run passed 1,608 Python tests (509+334+322+338+105) and117 Rust tests (10 assets,79 gameplay,28 xtask). All34 affected report producers regenerated twice byte-identically. Storage policy,381 documentation files and whitespace guards passed; regeneration left a clean working tree. Final documentation-only notes are checked separately and amended into task ten without repeating the full suite. [Batch findings and RE-823 work](research/QVM_ORIGINAL_FORMATTER_BATCH.md). | |
| ## 2026-10-27 β RE-824 Original float formatter f32 truncation precision and width policy | |
| 37498 pads only the signed integer portion, ignores formatting flags and iteratively truncates fractional f32 digits without rounding; negative zero has no sign. Focused `cargo xtask test-group format-float` passes (5 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-27 β RE-825 Rust f32 formatter truncation and original float dispatch | |
| Rust now reproduces original37498 fractional truncation and integer-only width padding, including negative-zero and ignored flag behavior. Focused `cargo xtask test-group rust-format-float` passes (19 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-27 β RE-826 Original exit-rule mode11 class guard and scan bound | |
| Mode11 exits on the first state2/team0 client whose signed class exceeds20, using the configured max-client count rather than the collected client count. Focused `cargo xtask test-group exit-class` passes (5 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-27 β RE-827 Rust exit-rule class guard with bounded configured scanning | |
| Rust reproduces the original first-offender mode11 guard and keeps the configured scan bound explicit and safe. Focused `cargo xtask test-group rust-exit-class` passes (9 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-27 β RE-828 Original exit-rule score and team limit priority | |
| The exit suffix requires at least two playing clients, selects limits across the raw mode5 boundary, and checks first/second global scores before a low-mode client scan. Focused `cargo xtask test-group exit-limits` passes (5 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-27 β RE-829 Rust source exit-limit selection and first-winner policy | |
| Rust matches all125 source suffix decisions, including nonzero negative limits, playing-count gates and configured low-mode scans. Focused `cargo xtask test-group rust-exit-limits` passes (9 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-27 β RE-830 Original exit timers round priority and mode9 reset effects | |
| The active round gate bypasses time-limit evaluation; expired mode9 time limits reset qualifying clients and populate supplied event records before exit requests. Focused `cargo xtask test-group exit-timers` passes (5 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-27 β RE-831 Rust exit timer priority and mode9 reset/event intentions | |
| Rust matches116 original timer cases, including active-round bypass, signed multiply/clock wrap and exact mode9 client resets. Focused `cargo xtask test-group rust-exit-timers` passes (9 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-27 β RE-832 Continuous original exit-rule body with all recovered priority branches | |
| Complete7805 execution now composes prefix, class, supplied predicate, round/time and limit policies with shared mutations across438 finite fixtures. Focused `cargo xtask test-group exit-complete` passes (5 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-27 β RE-833 Rust complete recovered exit-rule decision and mutation composition | |
| Rust now composes the full recovered7805 priority and matches438 continuous source cases, including pending clears and mode9 reset/event intentions. Focused `cargo xtask test-group rust-exit-complete` passes (9 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| RE-833 final review: added five explicit source-to-Rust dependency edges and registry regression assertions; the targeted registry test and repeated `rust-exit-complete` focused group pass. Added the ten-task batch summary and RE-834 follow-up scope. | |
| Batch RE-824β833 boundary: the single `cargo xtask test-full --since 1ed43d40` run passed after task ten: 1,628 Python tests, 127 Rust tests (assets 10, gameplay 89, xtask 28), 43 deterministic report producers, storage policy, 392 documentation files and whitespace checks. No generated report drift; validation notes amended into task ten. | |
| ## 2026-10-27 β RE-834 Original exit tie predicate and mode classifier | |
| Actual 7662 and child 33715 execute across 168 cases. Playing count and the enabled global gate ties; team-classified modes compare global scores, mode9 uses ranked field308, mode11 field696, and other modes field248. Raw numeric names remain conservative; ranked pointer legality and native execution remain open. Focused `cargo xtask test-group exit-predicate` passes (5 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-27 β RE-835 Rust ranked exit tie predicate | |
| Rust matches all 168 source cases with typed signed mode classification, global-score and ranked-field selection, early gate handling and safe rank rejection. A separate scoped intermission adapter avoids rebuilding unrelated lifecycle fixtures; original runtime remains open. Focused `cargo xtask test-group rust-exit-predicate` passes (9 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-27 β RE-836 Original intermission readiness scan and timeout policy | |
| 131 original 7525 cases recover connected/entity-flag8 exclusion, nonzero readiness, first16-slot mask and independent counts. Signed wrapped timestamp additions gate a five-second minimum and ten-second wait; all-ready includes an empty eligible set. Actual 6939 next-map transition remains captured. Focused `cargo xtask test-group intermission-ready` passes (5 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-27 β RE-837 Rust intermission readiness and timeout policy | |
| Rust matches 131 original readiness cases, including slot16 mask exclusion, empty eligible sets, nonzero ready/wait flags, signed wrap and exact timeout boundaries. Safe scan rejection preserves state; next-map execution remains an explicit exit intention. Focused `cargo xtask test-group rust-intermission-ready` passes (9 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-27 β RE-838 Original begin-intermission state and ordered effects | |
| 39 original 6825 cases recover the once-only blocked guard, clock assignment, optional slow setup, connected-client fallback ID, entity-client field4324 clear and ordered preparation/respawn/move/publication requests. Child effects remain captured; the zero clock case exposes the raw timestamp-as-guard behavior. Focused `cargo xtask test-group intermission-begin` passes (5 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-27 β RE-839 Rust begin-intermission state and effect intentions | |
| Rust matches 39 original begin-transition cases, preserving timestamp guard semantics, fallback IDs, entity-client field clear and preparation/slow/respawn/move/publication order. Native work stays typed effects; invalid counts reject before mutation. Focused `cargo xtask test-group rust-intermission-begin` passes (9 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-27 β RE-840 Original exit log publication and ranked row contracts | |
| 83 original 7367 cases recover Exit header, pending nowβ50, publication/configstring22 ordering, team score log, signed ping clamp and at most32 ranked connected nonspectator rows. Verified original format strings are recorded. Logging, publication and syscall effects remain captured. Focused `cargo xtask test-group exit-log` passes (5 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-27 β RE-841 Rust exit log ranked projection and pending clock | |
| Rust matches 83 original exit-log cases with signed ping clamp, negative/zero/over32 rank counts, ranked filters, optional team score projection and wrapping pending timestamp. Rendering and ordered publication/configstring/log effects remain caller-owned; invalid ranks reject before mutation. Focused `cargo xtask test-group rust-exit-log` passes (9 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-27 β RE-842 Original exit flow composed with recovered intermission children | |
| 150 continuous 7805 fixtures now execute actual tie, readiness, begin-transition and exit-log children on shared world memory with separate child frames. Independent policy and nested ABI checks cover conflicting gates, client mutations and publication intentions. Lower-level next-map/respawn/camera/I/O and allocation still remain captured. Focused `cargo xtask test-group intermission-flow` passes (5 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-27 β RE-843 Rust composed exit and intermission state machine | |
| Rust composes recovered tie, readiness, begin and exit-log policies with prior exit timers/limits across150 continuous source fixtures. Atomic staged updates preserve shared pending/client state; reset and lower-level world/I/O effects remain explicit intentions. Source branch labels are independently classified by the tested composition oracle; captured requests and actual final source state supply effect parity. Focused `cargo xtask test-group rust-intermission-flow` passes (9 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| RE-843 final review: targeted xtask registry regression passes for the intermission module and all five source-to-Rust report dependencies. Added batch evidence, validation cadence and RE-844 lower-level/runtime follow-ups. | |
| Batch RE-834β843 boundary: the single `cargo xtask test-full --since 5f7b2df8` run passed after task ten: 1,648 Python tests, 137 Rust tests (assets 10, gameplay 99, xtask 28), 45 deterministic report producers, storage policy, 403 documentation files and whitespace checks. No generated report drift; validation notes amended into task ten. Original assets unchanged. | |
| ## 2026-10-27 β RE-844 Original intermission camera placement and client indirection | |
| 72 original 6575 fixtures recover entity/player origin and view-angle copies, velocity clear, movement type5 and cleared entity/client fields. Coherent byte copies preserve arbitrary float words, including NaN payloads; two entity-to-client targets prove indirection. Mode/field4324 gates converge without extra effects. Native renderer/camera integration remains open. Focused `cargo xtask test-group camera-place` passes (5 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-27 β RE-845 Rust intermission camera placement | |
| Rust matches all 72 original camera fixtures, copying raw float words exactly and clearing the verified fields. The parity adapter resolves either entity-to-client target; the library accepts an already-resolved mutable client. Native camera/rendering and unrestricted pointer alias behavior remain open. Focused `cargo xtask test-group rust-camera-place` passes (9 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-27 β RE-846 Original intermission view selection and target direction | |
| 36 original 6717 cases recover fallback/selected view copies, optional target lookup and f32 target-minus-origin direction. Exact search/fallback/angle-conversion request ABI is checked. Search results and fallback writes are supplied; 62944 angle conversion and native selection/rendering remain open. Focused `cargo xtask test-group camera-select` passes (5 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-27 β RE-847 Rust camera view selection and aim intention | |
| Rust matches 36 original view-selection cases: supplied fallback/search results, copied angles and exact finite f32 direction subtraction, with typed ordered search/fallback/aim effects. Nonfinite arithmetic rejects; raw copies retain words. Angle conversion62944 and native selection remain open. Focused `cargo xtask test-group rust-camera-select` passes (9 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-27 β RE-848 Original next-map team-series priority and score carry | |
| 300 original 6939 cases recover the positive-phase/team-classified gate, option/flag2+4 restart priority, saved score order, flag clearing and configstring1005/2 requests. Normal reset stops at its boundary. Actual33715 executes; text formatting and downstream map/native effects remain supplied or captured. Focused `cargo xtask test-group nextmap-series` passes (5 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-27 β RE-849 Rust team-series transition policy | |
| Rust matches 300 original series-branch cases, reusing the verified mode classifier and preserving restart priority, saved score order, raw flags and pending/blocked clearing. Formatting/configstring/map calls remain ordered intentions; the normal branch is left for its own policy. Focused `cargo xtask test-group rust-nextmap-series` passes (9 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-27 β RE-850 Original normal next-map reset staging and connection changes | |
| 48 original 6939 suffix cases recover round/blocked/global score clears, connected-client score resets, extra mode9 field304/308 resets, then connection2β1 after captured249007. A mid-call snapshot proves ordering; pending, phase, series flags and saved scores remain unchanged. Actual map/command children remain captured. Focused `cargo xtask test-group nextmap-reset` passes (5 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-27 β RE-851 Rust staged normal map reset policy | |
| Rust matches 48 original normal-reset cases with separate pre-map score reset and post-map connection transition APIs. The adapter captures a no-op map child; production callers can apply its real mutations between stages. Safe count errors preserve state, and pending/phase/series data remain unchanged. Focused `cargo xtask test-group rust-nextmap-reset` passes (9 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-27 β RE-852 Original temporary event construction and origin snapping | |
| 144 original 277695/278138 cases recover tempEntity metadata, wrapped event kind+19, CVFI/CVIF origin snapping, trajectory/current-origin writes and link order. Five invalid float domains reject. Allocator flags424 and caller-owned84/140 are preserved; allocation277165 and native linking remain supplied/captured. Focused `cargo xtask test-group event-construct` passes (5 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-27 β RE-853 Rust temporary event construction and ownership boundaries | |
| Rust matches 144 original temporary-event cases, including exact snap words, event-kind wrapping, metadata and preservation of allocator/caller fields. Five invalid source domains reject atomically in Rust. Allocation and native linking remain caller-owned; source class tokens require runtime metadata resolution. Focused `cargo xtask test-group rust-event-construct` passes (9 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| RE-853 final review: targeted xtask registry regression passes for all five source-report parity edges, transition module selection and the shared intermission mode-classifier dependency. Added batch evidence, validation cadence and RE-854 integration/native follow-ups. | |
| Batch RE-844β853 boundary: the single `cargo xtask test-full --since 15d7fcac` run passed after commit ten: 1,668 Python tests, 147 Rust tests (assets 10, gameplay 109, xtask 28), 46 deterministic report producers, storage policy, 414 documentation files and whitespace checks. No generated report drift; validation notes amended into task ten. Original assets unchanged. | |
| ## 2026-10-27 β RE-854 Original entity class-hash search and cursor semantics | |
| 80 original 276433 cases recover nonzero active/class-pointer filtering, first match after cursor, scan limits and raw hash equality. Class text is never compared, so collisions return the first eligible hash match. Read-only world behavior is verified; unsafe pointers and native/runtime behavior remain open. Focused `cargo xtask test-group entity-hash` passes (5 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-27 β RE-855 Rust entity class-hash search | |
| Rust matches 80 original class-hash search cases, including inactive/null class filtering, collisions, nonzero signed active values and cursors beyond the scan count. Bounded safe entity slices reject invalid cursors/counts; class text is intentionally not compared because the source does not compare it. Focused `cargo xtask test-group rust-entity-hash` passes (9 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-27 β RE-856 Original field-string entity search with actual comparator | |
| 150 original 276505 searches and 256 actual 69386 comparisons recover cursor/active/null-field filtering, ASCII folding, signed high-byte ordering, embedded NUL, nullable pointer order and zero-count behavior. Source calls the comparator with99999. Safe finite strings only; raw invalid pointers and runtime integration remain open. Focused `cargo xtask test-group entity-field` passes (5 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-27 β RE-857 Rust case-insensitive field search and signed-byte comparator | |
| Rust matches 150 original field searches and 256 comparator cases, preserving nullable ordering, signed high bytes, ASCII folding, embedded NUL and count gates. The API receives resolved logical fields with bounded entity/string sizes; raw pointer/offset ABI remains outside this safe contract. Focused `cargo xtask test-group rust-entity-field` passes (9 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-27 β RE-858 Original target selection with actual field search and random generator | |
| 168 original 276586 cases compose actual 276505/69386 matching and actual36717 random state updates. At most32 matches are collected; random state advances exactly once only when matches exist, then selects by modulo. Five six-step RNG sequences and null/missing diagnostic paths are verified. Native initialization/world ownership remain open. Focused `cargo xtask test-group target-pick` passes (5 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-27 β RE-859 Rust target selection and original random-state update | |
| Rust matches 168 original target selections and five six-step RNG sequences. It preserves first32-match collection, actual xorshift word transitions, single conditional draw, modulo selection and null/missing diagnostic intentions. Native initialization, message rendering and live world ownership remain open. Focused `cargo xtask test-group rust-target-pick` passes (9 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-27 β RE-860 Corrected coherent vector-angle execution and legacy audit | |
| 96 actual 62944 cases use corrected repeated child reentry and coherent full/partial alias memory, preserving staged f32 arithmetic and exact output words. All24 older fixtures are compared explicitly. atan2/sqrt remain supplied finite f32 math models; original native library bit parity is not established. Focused `cargo xtask test-group camera-angles` passes (5 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| RE-860 environment correction: added flake.nix/flake.lock because this repository had no flake; pin uses the existing sibling project's nixpkgs revision. Analysis/xtask commands now use the declared Nix Python3.13.15 dependency and absolute `PYTHON`. A remaining bare-python Git-hook entry point was later identified and closed in RE-863. The pending focused camera-angle validation is repeated through that shell. | |
| RE-860 flake validation: the repeated focused group passes all5 Python tests with the explicit Nix-store Python executable, identical deterministic source reports and all guards. Flake evaluation exposes both macOS and both Linux architectures. | |
| ## 2026-10-27 β RE-861 Rust vector-angle policy with checked math transcripts | |
| Rust matches 96 corrected source angle cases exactly through checked math transcripts. A separate host-math path is compared within four f32 ULPs, preserving source staging and signed-zero behavior. Safe nonfinite domains and stale math transcripts reject; original native atan2/sqrt bit parity remains unverified. Focused `cargo xtask test-group rust-camera-angles` passes (9 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-27 β RE-862 Original camera world composition with recovered searches and angles | |
| 96 continuous setupβplacement cases now execute class-hash, field/string, capped random target, RNG and angle bodies on shared coherent world state, including collision/fallback/missing/self/capped target and client-indirection cases. Only fallback168114 and finite math responses remain supplied. Runtime/respawn integration and native math parity remain open. Focused `cargo xtask test-group camera-world` passes (5 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-27 β RE-863 Rust composed camera world selection and placement | |
| Rust matches all96 composed source setup/placement fixtures across searches, actual RNG state transitions, checked angle-math transcripts and resolved player indirection. Fallible resolution stages RNG before committing it and performs placement only after success. Fallback selection and native math parity remain explicit boundaries; intermission/respawn/runtime integration is still open. Focused `cargo xtask test-group rust-camera-world` passes (9 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| RE-863 hook correction: pre-commit/pre-push now require a Nix-store `PYTHON`, preventing implicit system-Python fallback. Final checks and remaining Git commit/push operations use the project flake shell. | |
| RE-863 final review: targeted xtask dependency-registry test passes, including all five new sourceβRust edges and shared transition composition. Both hooks pass shell syntax checks and reject missing PYTHON before invoking any interpreter. | |
| Batch RE-854β863 boundary: the single `cargo xtask test-full --since cedc6d02` run passed after commit ten through the flake shell and its declared Nix Python3.13.15: 1,688 Python tests, 157 Rust tests (assets 10, gameplay 119, xtask 28), 51 deterministic producers, storage policy, 425 documentation files and whitespace checks. No generated report drift; notes amended into task ten. Original assets unchanged. Remaining commit/push hooks use the explicit Nix-store interpreter. | |
| ## 2026-10-27 β Block remaining implicit system-Python runner entry points | |
| Prompt investigation found the ordinary shell resolves python3 to /usr/bin/python3, while xtask still had a PATH fallback and two Rust integration tests invoked that name directly. The Git hooks were already guarded. The runner and real Python-using tests now require the explicit Nix-store interpreter, rejecting missing/system paths without launching them. Direct analysis-script shebangs still require the documented flake shell. No active Python/xcrun process was observed at inspection; that snapshot cannot attribute an already-dispatched installer prompt. | |
| Validation: all30 xtask tests and the focused storage group (21 Python tests) pass using the flake-declared Nix Python. A real runner invocation with PYTHON unset exits with nix-develop guidance before starting Python. Full suite was not repeated for this focused runner correction. | |
| ## 2026-10-27 β RE-864 Original fallback spawn distance ranking and selection | |
| 112 original168114 cases execute actual class-hash search and RNG, recovering stable farthest-first insertion,64-entry cap, far-half draw at8+, first-class fallback when blocked, +9 Z and a no-spawn fatal boundary. Telefrag answers and finite sqrt remain supplied; collision/native/runtime parity is open. Focused `cargo xtask test-group spawn-fallback` passes (5 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-27 β RE-865 Rust fallback spawn ranking and view contract | |
| Rust matches112 original fallback cases with checked distance-math responses, stable64-candidate cap, far-half random selection at8+, blocked first-class fallback and +9 Z. Safe no-spawn/domain errors preserve random state. Actual telefrag/collision tests, native math and runtime spawn ownership remain open. Focused `cargo xtask test-group rust-spawn-fallback` passes (9 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-27 β RE-866 Original camera setup with actual fallback spawn selection | |
| 128 coherent setupβplacement cases replace supplied fallback view writes with actual168114 selection, composing searches, capped distance ranking, RNG and angle execution. Existing intermission-camera paths and two player indirections are checked together. Telefrag answers and finite native math remain supplied; respawn/runtime integration is open. Focused `cargo xtask test-group camera-spawn` passes (5 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| RE-866 review: expanded the standalone source fallback grid to80 entities so filtering still leaves more than64 matches, and asserted actual cap coverage. Focused spawn-fallback regeneration and downstream Rust parity checks pass (9 Python tests); existing case count remains112. | |
| ## 2026-10-27 β RE-867 Rust camera composition with recovered fallback | |
| Rust matches128 continuous source camera/fallback/placement cases with shared RNG state and checked native-math transcripts. The supplied fallback view has been replaced by recovered spawn ranking and +9 Z. Telefrag answers stay caller-owned; no-spawn errors preserve placement state. Native collision/math and runtime integration remain open. Focused `cargo xtask test-group rust-camera-spawn` passes (9 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-27 β RE-868 Original rotation cursor and refreshed filename callback policy | |
| 192 original122230 cases execute actual strlen and recover signed counter wrapping, threshold priority and refreshβoptional filename callback/clearβreset order. Engine-5 refresh writes are supplied explicitly, including empty, NUL and high-byte filenames. Actual122143/121987 callbacks and native runtime ownership remain open. Focused `cargo xtask test-group rotation-advance` passes (5 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-27 β RE-869 Rust refreshed rotation callback policy | |
| Rust matches192 original rotation cases, preserving signed cursor wrap, enable/threshold gating, refreshed filename C-string handling and ordered refresh/write/clear/reset intentions. Engine refresh input is explicit; invalid refreshed data rejects before boundary mutations. Native callbacks remain unimplemented. Focused `cargo xtask test-group rust-rotation-advance` passes (9 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-27 β RE-870 Original map command branch with recovered copy and formatter | |
| 90 original7188 cases compose actual strlen, bounded-copy wrapper and original formatter. A nonempty override mirror records current engine mapname in g_nextCycleMap, copies the override into a127-byte local command buffer, requests engine g_NextMap clear and emits mode2 map command. VM mirror bytes remain unchanged; engine/native-copy and lower effects remain supplied/captured. Focused `cargo xtask test-group map-select` passes (5 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-27 β RE-871 Rust cycle-mirror map command policy | |
| Rust matches90 original map-selection cases with empty/NUL mirror gates,127-byte engine-mapname truncation, raw non-UTF8 bytes, unchanged VM mirror and exact truncated-override mode2 map command text. The typed effect order matches source cvar/read/command requests. Engine callbacks, native copy and actual command dispatch remain outside the port. Focused `cargo xtask test-group rust-map-select` passes (9 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-27 β RE-872 Original normal next-map flow with recovered command children | |
| 192 actual6939 normal-path cases compose recovered rotation, map selection, mode classification, copy and formatter bodies on shared state. Optional supplied249007 connection changes prove the final scan sees child mutations. Cvar/engine bytes, native copy and lower callback/runtime effects remain explicit boundaries. Focused `cargo xtask test-group normal-map-flow` passes (5 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-27 β RE-873 Rust recovered normal next-map command and reset composition | |
| Rust matches192 original normal6939 cases, staging rotation, override map-command intentions, global/client resets and post-callback connection changes atomically. The API refuses team-series inputs and invalid callback indices. VM mirrors/pending/series data remain source-faithful; native callbacks, engine refresh and runtime integration remain open. Focused `cargo xtask test-group rust-normal-map-flow` passes (9 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| RE-873 final review: targeted xtask dependency-registry regression passes for all five parity report edges and shared camera/transition/intermission/map module consumers. Added the batch findings and RE-874 native/runtime follow-ups. | |
| Batch RE-864β873 boundary: the single `cargo xtask test-full --since 171bd705` run after commit ten passed with the flake-declared Nix Python: 1,708 Python tests, 169 Rust tests (assets 10, gameplay 129, xtask 30), 56 deterministic producers, storage policy, 436 documentation files and whitespace guards. No generated report drift. Validation notes were amended into task ten; original assets unchanged. | |
| ## 2026-10-28 β RE-874 Original bot genome write selection | |
| 64 actual122143 cases recover a 64-slot bot population scan, wrapping (wins<<1)-loss converted to f32, strict positive best score and first-wins ties. Only the winner handle and unchanged filename pointer reach captured native -546. Zero/negative fitness means no write. Extreme counters exercise signed wrap and f32 precision. Native botlib serialization remains open. Focused `cargo xtask test-group qvm-bot-best` passes (4 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-28 β RE-875 Rust bot genome winner policy | |
| Rust matches all64 original bot winner cases, with wrapping fitness arithmetic before f32 conversion, strict first-wins comparison and typed rejection of incomplete populations. Native botlib genome writes are returned as intentions, without assuming file serialization or runtime integration. Focused `cargo xtask test-group rust-bot-best` passes (9 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-28 β RE-876 Original bot breeding callback and counter reset | |
| 64 actual121987 cases recover all64 native fitness words, supplied native -565 parent/child selection, ordered -566 interbreed and -567 mutation(handle,1.0), then zeroing both counters of currently active slots. A supplied selection callback activates slot63 to prove reset rereads live state after native calls. Selection algorithm and native genetic/file behavior remain open; invalid native indices are excluded. Focused `cargo xtask test-group qvm-bot-breed` passes (4 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-28 β RE-877 Rust bot breeding and post-callback reset | |
| Rust matches all64 actual121987 fitness/selection/interbreed/mutation/reset transcripts, including callback activation before the counter reset. API validates supplied indices before mutation and retains inactive counters. Native bot selection and genetic mutation are explicit answer/effect boundaries, not Rust implementations of botlib. Focused `cargo xtask test-group rust-bot-breed` passes (9 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-28 β RE-878 Original post-map connected-client callbacks | |
| 72 actual249007 cases recover signed live client-count iteration and connected-state2 gating. Each accepted client calls246746 then246963 unconditionally; a supplied first-child disconnect does not suppress its second child, and activation of a later slot affects subsequent dispatch. This uses level count34992524, not max-clients cvar34089604. Child bodies, native effects and callback changes to count/base pointer remain open. Focused `cargo xtask test-group qvm-post-map-clients` passes (4 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-28 β RE-879 Rust post-map callback scheduling | |
| Rust matches all72 original249007 schedules and state snapshots, including disconnect-before-second-child and activation-before-later-scan cases. The bounded API accepts typed callbacks and validates the count before invoking them. Count/base remain stable; actual246746/246963 child bodies and engine integration remain open. Focused `cargo xtask test-group rust-post-map-clients` passes (9 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-28 β RE-880 Original spawn overlap query and client filter | |
| 32 actual167638 cases recover f32 origin-plus-six-source-bounds construction, native -33 box query with capacity1024 and returned-index iteration. Any entity with nonzero client pointer at offset520 blocks the spawn; other activity/health/team flags are not tested here. Covers duplicate indices, negative/zero query counts, signed/nonzero client words, f32 rounding and a client at result1024. Engine spatial query answers remain supplied; invalid engine counts/indices and nonfinite bounds are excluded. Focused `cargo xtask test-group qvm-spawn-overlap` passes (4 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-28 β RE-881 Rust spawn overlap boundary | |
| Rust matches all32 original167638 box/query/filter cases, including the full1024-result scan and f32 rounding. The API separates box construction from supplied engine indices, rejects nonfinite/overflow bounds and malformed positive counts/indices, and tests client-pointer nonzero alone. Actual collision broadphase and integration into fallback selection remain open. Focused `cargo xtask test-group rust-spawn-overlap` passes (9 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-28 β RE-882 Original rotation with recovered bot write and breeding children | |
| 96 actual122230 compositions execute actual122143/121987/36038 with shared population/cvar state. Engine refresh bytes and native genetic selection are supplied, while writes/interbreed/mutation are captured. Nonempty refreshed filename requests best-genome write before breeding; an empty filename still breeds and resets. Disabled/below-threshold paths preserve population. A supplied selection callback activates slot63 before reset. Native algorithm/file/engine/runtime parity remains open. Focused `cargo xtask test-group qvm-bot-rotation` passes (4 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-28 β RE-883 Rust composed bot rotation and callback ownership | |
| Rust matches all96 original122230/122143/121987 compositions, with staged counter/cvar changes and write-before-breed ordering. Winner selection uses pre-reset fitness; supplied activity changes affect reset only at the native selection boundary. Disabled/below-threshold paths preserve bot state. Invalid callback indices reject atomically. Native botlib algorithms, files and engine dispatch remain open. Focused `cargo xtask test-group rust-bot-rotation` passes (9 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ### RE-874β883 full batch validation (2026-10-28) | |
| After the tenth commit, `cargo xtask test-full --since 40af75ff` passed with the flake-declared Nix Python: 1,723 Python tests,180 Rust tests (assets10, gameplay140, xtask30),64 affected report producers regenerated twice deterministically, storage policy,447 documentation link checks and whitespace guards. No generated report drift. Ten task commits since40af75ff; results are amended into the tenth commit. [Findings and next work](research/QVM_BOT_COLLISION_BATCH.md). | |
| ## 2026-10-28 β RE-884 Original fallback spawn with actual overlap queries | |
| 64 actual168114/167638 compositions replace supplied telefrag booleans with original query/filter execution. Native -33 spatial result lists are supplied, including empty/nonclient/blocked/mixed/duplicate results. Class filtering determines query order; accepted candidates then consume modeled sqrt before RNG, preserving64-cap and all-blocked/no-spawn behavior. Native broadphase, math and runtime ownership remain open. Focused `cargo xtask test-group qvm-queried-spawn` passes (10 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-28 β RE-885 Rust queried fallback spawn policy | |
| Rust matches64 original168114/167638 compositions and their ordered box query transcripts. The typed spatial-query callback runs only after class filtering and before each candidate distance. Existing boolean-based callers retain behavior. Query/domain errors preserve RNG; native broadphase/math and external callback effects remain open. Focused `cargo xtask test-group rust-queried-spawn` passes (11 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-28 β RE-886 Original camera placement with queried fallback | |
| 128 coherent6717/168114/167638/6575 cases execute box construction and client filtering inside camera fallback. Existing primary cameras issue no spatial queries; fallback class matches issue ordered native -33 requests. Result/view/player fields and checked math match the prior boolean-boundary fixtures. Native broadphase and math remain supplied; respawn and complete intermission/runtime remain open. Focused `cargo xtask test-group qvm-queried-camera` passes (4 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-28 β RE-887 Rust camera with lazy spatial queries | |
| Rust matches128 original continuous camera/queried-fallback/placement cases, including exact query order and primary-camera bypass. Spatial callbacks use the same recovered box/filter policy as standalone fallback. Existing camera/spawn APIs retain their contracts; native broadphase/math and complete respawn/intermission remain open. Focused `cargo xtask test-group rust-queried-camera` passes (13 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-28 β RE-888 Original session and ignore-list cvar serialization | |
| 60 actual246963 cases execute original70458/37914 integer formatting and70031/36038/69338 bounded concatenation. Five raw integers and four normalized booleans populate sessionN; sessIgnoreN follows entity client-pointer indirection, accepts flag exactly1, keeps duplicates, caps scan64 and truncates to127 bytes. Includes negative/oversized counts, two slots, INT_MIN formatter behavior and saturation. Native memset/strncpy are modeled and engine cvar writes captured; restore/engine persistence remain open. Focused `cargo xtask test-group qvm-session-write` passes (4 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-28 β RE-889 Rust session and bounded ignore-list serialization | |
| Rust matches60 actual246963 byte-for-byte cvar fixtures, preserving recovered integer formatting, booleans, pointer-indirected duplicates,64-entry scan cap,127-byte saturation and original formatter-ring advance. Checked typed indices reject malformed inputs. Native cvar storage, session restore and runtime ownership remain open. Focused `cargo xtask test-group rust-session-write` passes (9 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-28 β RE-890 Original post-map dispatch with session persistence | |
| 64 continuous249007/246963 compositions execute session cvar serialization after the captured246746 child. Supplied first-child disconnection still allows persistence; later activation affects dispatch, and changed session fields are serialized immediately. Source formatter ring carries between clients. Native first-child behavior, engine cvars and count/base changes remain open. Focused `cargo xtask test-group qvm-post-map-session` passes (4 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-28 β RE-891 Rust post-map persistence composition | |
| Rust matches64 original249007/246963 compositions, including first-child disconnect/activation/field updates, exact cvar bytes and carried formatter-ring advance. Client changes stage atomically on typed callback errors. The first child and engine storage remain caller-owned; native effects and count/base mutation are outside this contract. Focused `cargo xtask test-group rust-post-map-session` passes (9 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-28 β RE-892 Original normal map flow with session persistence | |
| 64 actual6939 normal-path compositions execute122230/7188/249007/246963 and recovered formatter/string bodies on shared state. Distinct max-clients and level counts prove reset, persistence dispatch and final state2-to1 scan use their own bounds. First-child disconnect/activation/session-field effects are supplied and observed before persistence and final scan. Bot children, map-list fallback221662, first client child246746 and engine behavior remain explicit boundaries. Focused `cargo xtask test-group qvm-normal-map-session` passes (8 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-28 β RE-893 Rust normal map transition with session persistence | |
| Rust matches64 continuous original6939/249007/246963 compositions. Independent max-clients/live-level bounds preserve score-reset, session-write and final connection-scan ordering; supplied first-child field/connection changes are staged with global/cvar intentions. Invalid counts reject without partial state commits. Native first child, bot/map-list callbacks and engine persistence remain open. Focused `cargo xtask test-group rust-normal-map-session` passes (9 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ### RE-884β893 full batch validation (2026-10-28) | |
| After the tenth commit, `cargo xtask test-full --since b9a94452` passed with the flake-declared Nix Python: 1,738 Python tests,188 Rust tests (assets10, gameplay148, xtask30),33 affected report producers regenerated twice deterministically, storage policy,458 documentation link checks and whitespace guards. No generated-report drift. Ten task commits sinceb9a94452; results are amended into the tenth commit. [Findings and next work](research/QVM_QUERIED_PERSISTENCE_BATCH.md). | |
| ## 2026-10-28 β RE-894 Original userinfo key lookup and alternating buffers | |
| 96 actual70503 cases execute actual36038/69386, recovering optional leading separator, case-insensitive first-match keys, incomplete-pair rejection, empty values, embedded NUL and null-pointer early exits. Non-null calls XOR the two-buffer selector even on misses; null arguments preserve it. Oversized info fatal/aliasing/native userinfo retrieval remain open. Focused `cargo xtask test-group qvm-info-lookup` passes (4 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-28 β RE-895 Rust userinfo lookup and buffer ownership | |
| Rust matches96 original70503 key/value and selector cases, preserving first-match case folding, incomplete-pair rejection, empty values, embedded NUL and null early exits. Oversized logical inputs reject without changing the selector. Native userinfo retrieval, raw pointer aliases and fatal semantics remain open. Focused `cargo xtask test-group rust-info-lookup` passes (9 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-28 β RE-896 Original integer and float comma scanner | |
| 72 actual38326/38355/37159/36779 cases recover comma-template numeric scanning with partial writes. Integer conversions accept leading digits only, including wrapping overflow; signs/leading spaces write0 without assignment. Floats use staged f32 accumulation, sign/whitespace and decimal scaling; lowercase e terminates the number. Literal mismatch returns-1 even after assignments. Empty/unparsed final fields still write0. Uppercase exponent, other scanf conversions and unsafe destinations remain open. Focused `cargo xtask test-group qvm-numeric-scan` passes (4 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-28 β RE-897 Rust original comma numeric scanner | |
| Rust matches72 actual38326/38355/37159/36779 cases, preserving digits-only integer entry, wrapping overflow, staged f32 decimal arithmetic, partial destination writes and literal-mismatch return-1. Caller supplies untouched destination words. Uppercase exponent, non-ASCII input and other scanf conversions reject; native ABI and complete scanner semantics remain open. Focused `cargo xtask test-group rust-numeric-scan` passes (9 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-28 β RE-898 Original saved-position write and file ownership | |
| 96 actual246746 cases execute70503/69386/36038,70458/37914,70386 and float formatting. Mode9, enabled>=1, nonempty cl_guid and nonzero position gate file writes; angles alone do not. Mapname truncates63 bytes and GUID bytes pass into positions/map/GUID.pos without sanitization in this body. Open return is ignored; a nonzero supplied handle leads to exact float/name bytes, write then close. Engine buffers, native strncpy and file effects remain supplied/modeled/captured. Focused `cargo xtask test-group qvm-position-save` passes (4 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-28 β RE-899 Rust saved-position write and handle intentions | |
| Rust matches96 original246746 cases with recovered userinfo, path construction and floating formatter bytes. Mode/enabled/position gates,63-byte map truncation, unsanitized GUID path bytes, ignored open return and write/close ordering are preserved. Typed unsupported format errors preserve the selector. Engine userinfo, native files and unsafe paths/ABI ownership remain open. Focused `cargo xtask test-group rust-position-save` passes (9 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-28 β RE-900 Original saved-position read and all-six assignment gate | |
| 96 actual246554 cases execute70503,70458/37914 and38326/38355/36779. A nonzero handle and signed length>0 with unsigned length<1023 permit reading. Exactly6 scanner assignments replace all position/angle words; malformed or truncated input preserves the original six words. Successful read paths close even after scan failure; zero/negative/oversized lengths return without a close in this body. Native file buffers/handles and real engine ownership remain supplied/captured. Focused `cargo xtask test-group qvm-position-load` passes (7 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-28 β RE-901 Rust saved-position read and assignment ownership | |
| Rust matches96 original246554 read cases, preserving mode/enabled/userinfo gating, strict1..1022 byte lengths, exact scan-result gating, all-six position updates and read/close order. Invalid-length exits retain the observed absence of close. Native file ownership and unsupported scanner domains remain open; this API returns intentions and supplied answers rather than performing file IO. Focused `cargo xtask test-group rust-position-load` passes (9 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-28 β RE-902 Original session restore with actual saved-position load | |
| 144 actual247219 compositions execute original scanner, signed atoi, comma search, mode classifier and246554 load. Session scan result is ignored: partial fields and explicitly supplied caller-scratch words determine subsequent values; restored booleans use>0, with the final one also requiring team mode and flag1. Ignore tokens set in-range entries to1 without clearing old entries; invalid text maps to0. Actual saved-position load follows cvar restoration. Engine cvars/file bytes and initial scratch are supplied, not assumed initialized; native ownership and full reload integration remain open. Focused `cargo xtask test-group qvm-session-restore` passes (10 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-28 β RE-903 Rust session restore with caller-scratch ownership | |
| Rust matches144 actual247219/scanner/atoi/mode/position-load compositions, preserving ignored parse result, explicit caller scratch, positive-only booleans and final team/flag gate. Ignore entries accumulate without clearing and invalid numeric text addresses slot0. State and selector stage atomically on unsupported domains. Native cvars/files, real scratch provenance and full map reload remain open. Focused `cargo xtask test-group rust-session-restore` passes (9 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ### RE-894β903 full batch validation (2026-10-28) | |
| After the tenth commit, `cargo xtask test-full --since 6e01995b` passed with the flake-declared Nix Python: 1,753 Python tests,199 Rust tests (assets10, gameplay159, xtask30),22 affected report producers regenerated twice deterministically, storage policy,469 documentation link checks and whitespace guards. No generated-report drift. Ten task commits since6e01995b; results are amended into the tenth commit. [Findings and next work](research/QVM_SAVED_RESTORE_BATCH.md). | |
| ## 2026-10-28 β RE-904 Original session initialization and immediate persistence | |
| 96 actual247520 compositions execute team classification, userinfo lookup, bounded copy, saved-position load and session serialization. Team/default/capacity policy, wrapping timeout arithmetic, native tick snapshot, byte-only versus word clears,36-byte text initialization and64 ignored-client clears are recovered. Existing position fields persist unless the recovered load succeeds. Diagnostic7259 and engine/file operations remain captured/supplied; caller authentication and post-initialization behavior remain open. Focused `cargo xtask test-group qvm-session-init` passes (4 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-28 β RE-905 Rust session initialization and raw-field ownership | |
| Rust matches96 original247520 initialization/load/write cases, preserving raw byte/word clears, timeout wrapping, team/capacity selection,64 ignore clears and immediate session cvar bytes. Existing coordinates survive failed/suppressed loads. Engine clock/userinfo/files and diagnostic logging remain supplied/intended; caller behavior and native lifecycle remain open. Focused `cargo xtask test-group rust-session-init` passes (9 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-28 β RE-906 Original post-map file and cvar persistence | |
| 48 actual249007/246746/246963 compositions execute both post-map children on shared state. Ordered native file intentions precede each client session/ignore cvar pair; mode/enabled/zero-position/open-handle gates, pointer-indirected ignore lists and shared formatter/userinfo selectors are verified. Connected-state filtering remains original. Engine userinfo/files/cvars and native copy remain supplied/modeled/captured. Focused `cargo xtask test-group qvm-post-map-files` passes (4 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-28 β RE-907 Rust complete post-map persistence intentions | |
| Rust matches48 original249007 compositions with both actual saved-file and session-cvar children. Typed file/cvar actions preserve per-client order and shared selector/ring advances, and invalid domains preserve selector state. Native open answers remain supplied; no actual engine file/cvar dispatch or map reload is claimed. Focused `cargo xtask test-group rust-post-map-files` passes (9 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-28 β RE-908 Original normal transition with both persistence children | |
| 64 actual6939 normal transitions compose122230/7188/249007/246746/246963. File actions and per-client session writes occur between score/global resets and the final connection2-to1 scan; reset maximum and level count vary independently. Engine-map bytes are coherent across map-command and saved-file paths. Bot children, map-list fallback221662, native IO and actual command dispatch remain supplied/captured boundaries. Focused `cargo xtask test-group qvm-normal-map-files` passes (4 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-28 β RE-909 Rust normal map with full persistence | |
| Rust matches64 original normal transitions with actual saved-file and cvar child policies. Shared client counts, score/reset ordering, native file intentions, command bytes and formatter/selector carry are preserved. Existing standalone persistence uses the same action assembly. Native engine dispatch, bot internals and map-list parsing remain open. Focused `cargo xtask test-group rust-normal-map-files` passes (11 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-28 β RE-910 Original write-to-restore persistence round trip | |
| 144 finite original246746/246963/247219/246554 compositions feed actual captured cvar/file bytes into a fresh destination snapshot. Negative and INT_MIN integer formatting is deliberately not assumed invertible; original partial scanner writes and supplied scratch are preserved. Ignore entries accumulate over the destination table, and six-float file prefixes survive appended names. The engine is a supplied in-memory transcript, not a native filesystem or real map reload. Focused `cargo xtask test-group qvm-persistence-roundtrip` passes (4 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-28 β RE-911 Rust in-memory persistence round trip | |
| Rust matches144 original save/session-write/restore/read compositions using owned in-memory cvar/file bytes. Partial integer parsing and caller scratch preserve the observed non-invertibility of negative/INT_MIN session text; file prefixes and ignore accumulation remain exact. Engine/destination/selector changes stage atomically on errors. This adapter does not own native handles or perform OS file IO. Focused `cargo xtask test-group rust-persistence-roundtrip` passes (9 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-28 β RE-912 Original connect clear and session-branch caller | |
| 96 bounded173979 caller-path executions cover174081..174173 after userinfo/authentication: entity-client linking, actual6336-byte clear via modeled native memset, connecting-state/client-slot writes and the first-time OR new-session choice between actual247520 initialization and247219 restore. Both children execute recovered load/format/scanner policies. Uppercase team S below capacity is not the lowercase s shortcut. Authentication before the slice, post-branch normalization and native engine integration remain open. Focused `cargo xtask test-group qvm-connect-session` passes (4 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-28 β RE-913 Rust connect clear and session lifecycle branch | |
| Rust matches96 bounded173979 caller paths, including client/entity initialization, first-time OR new-session dispatch, actual initialization/restore policies and saved-position loading. Client memory clear does not erase supplied caller scratch. Errors stage client/entity/selector changes. Authentication and later caller normalization, native IO and full client-connect acceptance remain open. Focused `cargo xtask test-group rust-connect-session` passes (9 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ### RE-904β913 full batch validation (2026-10-28) | |
| At the tenth-commit boundary, the first full attempt exposed a helper filename collision with the pre-existing health lifecycle module. The original helper was restored byte-for-byte, session helpers moved to qvm_session_lifecycle_support.py, and an import smoke check added to the scoped registry regression. After focused repair checks, `cargo xtask test-full --since 6d0ce63f` completed successfully with the flake-declared Nix Python: 1,768 Python tests,207 Rust tests (assets10, gameplay167, xtask30),39 affected report producers regenerated twice deterministically, storage policy,480 documentation link checks and whitespace guards. No generated-report drift. Ten task commits since6d0ce63f; repair and results are amended into the tenth commit. [Findings and next work](research/QVM_SESSION_LIFECYCLE_BATCH.md). | |
| ## 2026-10-28 β RE-914 Original unsigned byte string comparison | |
| 256 actual36306 cases recover the word-at-a-time comparison used by admission/password filtering. Result is the exact unsigned-byte difference at the first mismatch, with NUL termination, case sensitivity, high bytes and all four synthetic pointer alignments checked. Guard bytes are explicit fixture memory; native pointer validity and aliases remain open. Focused `cargo xtask test-group qvm-byte-compare` passes (4 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-28 β RE-915 Rust unsigned comparison for admission | |
| Rust matches256 original36306 fixtures across alignment/case/NUL/high-byte domains, preserving the exact byte difference rather than only its sign. Typed logical strings reject oversized inputs. Raw word lookahead, invalid pointers and aliases remain outside the portable contract. Focused `cargo xtask test-group rust-byte-compare` passes (9 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-28 β RE-916 Original address parsing and filter table policy | |
| 270 actual252643/36306 cases recover exact localhost bypass, byte-wrapping components, permissive single-byte separators, colon termination and little-endian mask matching. Short/empty inputs preserve explicit prior scratch bytes; nonzero filter mode rejects matches and zero mode rejects misses. Signed negative table count skips scanning. This is the observed policy, not strict IP validation; parser scratch provenance, table writers and native network acceptance remain open. Focused `cargo xtask test-group qvm-address-filter` passes (4 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-28 β RE-917 Rust original address filter and scratch ownership | |
| Rust matches270 original252643 parser/filter cases, retaining byte wrapping, permissive separators, colon/localhost rules, supplied scratch bytes, signed table-count behavior and mode inversion. Malformed positive counts reject. Table population, native network behavior and actual scratch provenance remain open. Focused `cargo xtask test-group rust-address-filter` passes (9 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-28 β RE-918 Original connect admission and password gates | |
| 160 actual173979 prefix cases execute userinfo70503, address252643, unsigned36306 and case-folded69386. Native userinfo is fetched first; nonzero bot flag bypasses address/password checks. Banned rejection precedes password lookup. Empty server password or case-insensitive none disables the final case-sensitive check. Rejections occur before client clear; exact messages, lookup order and selector carry are verified. Filter scratch, engine userinfo/password and native admission remain explicit boundaries. Focused `cargo xtask test-group qvm-connect-admission` passes (4 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-28 β RE-919 Rust connect admission and password ordering | |
| Rust matches160 original173979 admission prefixes, preserving bot bypass, address-before-password rejection, none/empty server password behavior, exact case-sensitive password results, messages and userinfo selector order. Typed invalid domains preserve selector state. Native userinfo/filter population and complete caller acceptance remain open. Focused `cargo xtask test-group rust-connect-admission` passes (9 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-28 β RE-920 Original post-session connect normalization and callbacks | |
| 144 actual173979 suffix cases execute original mode classification and broadcast formatting with explicit bot/userinfo answers. Team normalization precedes bot flags/admission; failed bots return after those mutations. First-time paths clear selected ranges and overwrite timeout without the initializer60-second default. Updated userinfo/name precedes broadcast and a second team decision; ranking is requested last. Bot, userinfo, join, ranking, logs/network and native memset remain supplied/captured/modeled boundaries. Focused `cargo xtask test-group qvm-connect-tail` passes (4 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-28 β RE-921 Rust post-session connect callbacks and normalization | |
| Rust matches144 original173979 suffix cases with ordered bot admission, first-time clears, timeout wrapping, supplied userinfo changes, original broadcast bytes, team callback and ranking intentions. Bot rejection retains prior team/flag mutations. Native callbacks/logging/network/ranking and real caller acceptance remain open. Focused `cargo xtask test-group rust-connect-tail` passes (9 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-28 β RE-922 Complete original connect caller with recovered admission/lifecycle/tail | |
| 96 complete173979 executions compose actual userinfo/address/password admission, native client-clear boundary,247520 initialization or247219 restore, team normalization and bot/callback completion. Ordinary authentication rejection preserves client/entity state; bot rejection occurs after lifecycle side effects. Initializer-persisted timeout can precede a first-time overwrite. Client-wide checksums, watched bytes, exact messages, cvar order and selector/formatter carry are verified. Native admission/userinfo/team/ranking/IO/network callbacks remain supplied/captured; this is not native multiplayer acceptance. Focused `cargo xtask test-group qvm-connect-complete` passes (13 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-28 β RE-923 Rust complete connect policy composition | |
| Rust matches96 complete173979 executions across admission, client clear, initialization/restore, bot admission and callback completion. Auth denial preserves client/entity state; bot denial retains lifecycle effects. Source messages, cvar timing, full-client checksums, raw watched bytes and selector/formatter carry match. Native callback bodies, actual network/IO acceptance and runtime integration remain open. Focused `cargo xtask test-group rust-connect-complete` passes (9 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ### RE-914β923 full batch validation (2026-10-28) | |
| After the tenth commit, `cargo xtask test-full --since 2b1ac7ec` passed on its first full attempt with the flake-declared Nix Python: 1,783 Python tests,216 Rust tests (assets10, gameplay176, xtask30),32 affected report producers regenerated twice deterministically, storage policy,491 documentation link checks and whitespace guards. No generated-report drift. Ten task commits since2b1ac7ec; validation notes are amended into the tenth commit. [Findings and next work](research/QVM_CONNECT_POLICY_BATCH.md). | |
| ## 2026-10-28 β RE-924 Original bot settings admission wrapper | |
| 288 actual161744 cases execute original userinfo lookup, bounded copy and37144/36779 float conversion. The292-byte setup record contains144-byte characterfile, raw f32 skill and144-byte team fields; logical strings truncate143 bytes and pad with NUL. Three lookups alternate the userinfo buffer selector. Supplied125185 setup result is normalized to0/1; zero requests native client drop with exact text. Actual bot setup125185, engine userinfo/drop and native strncpy remain supplied/captured/modeled boundaries. Focused `cargo xtask test-group qvm-bot-settings` passes (4 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-28 β RE-925 Rust bot setup record and drop policy | |
| Rust matches288 original161744 fixed-record and effect cases, preserving143-byte logical string caps, raw f32 skill, userinfo lookup order, restart forwarding and nonzero-result normalization. Typed unsupported skills preserve selector state. Actual125185 bot setup and engine userinfo/drop remain open. Focused `cargo xtask test-group rust-bot-settings` passes (9 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-28 β RE-926 Original team announcement callback and spectator suppression | |
| 162 actual182896 cases execute original70458/37914 integer/string formatting and capture broadcast-18. Teams0/1/2 emit ccprint payloads with code5 and team number; team3 emits spectator text only when the previous team differs from3. Other values do nothing. The body does not mutate team selection. Raw name bytes, exact quote/newline framing and wrapping formatter counter are verified; native network delivery and other team-switch callbacks remain open. Focused `cargo xtask test-group qvm-team-announcement` passes (4 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-28 β RE-927 Rust team announcements and spectator suppression | |
| Rust matches162 original182896 payload/counter cases, retaining exact ccprint/spectator framing, raw name bytes, previous-team suppression and wrapping formatter counter. It does not select or mutate teams. Native broadcast delivery and additional team-switch logic remain open. Focused `cargo xtask test-group rust-team-announcement` passes (9 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-28 β RE-928 Original connect suffix with bot wrapper and announcements | |
| 144 original173979 suffix cases execute actual161744 settings/drop wrapper and182896 announcement body instead of supplied bot booleans and captured team callback. Parent control/state remains source-identical; extra userinfo selector toggles, setup records, drops, exact announcement bytes and formatter carry are verified. Native125185 setup,171668 userinfo mutation, ranking/network/logging remain supplied/captured. Focused `cargo xtask test-group qvm-resolved-connect-tail` passes (4 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-28 β RE-929 Rust connect suffix with recovered bot and announcement children | |
| Rust matches144 original suffix compositions with actual161744/182896 policies, retaining caller mutations/messages while adding precise bot records, drop requests, announcement bytes and selector/counter carry. The wrapper stages typed errors and preserves ordinary rejection mutations. Native bot setup/userinfo/ranking/network/logging remain open. Focused `cargo xtask test-group rust-resolved-connect-tail` passes (11 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-28 β RE-930 Complete original connect with bot/announcement children | |
| 96 complete173979 executions replace supplied161744 booleans and captured182896 with actual bot settings/drop and announcement bodies. Parent decisions, client/entity bytes and persistence timing are preserved; setup records, exact broadcasts and extra selector/formatter carry are verified. Native125185 setup,171668 mutation, ranking/logging/network/IO remain supplied/captured. Focused `cargo xtask test-group qvm-resolved-connect-complete` passes (7 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-28 β RE-931 Rust complete connect with recovered child policies | |
| Rust matches96 complete source173979/161744/182896 compositions, including settings/drop records, extra selector toggles and announcement/counter carry while preserving prior caller state, cvar timing and return decisions. Typed errors stage all caller state. Native setup/userinfo/ranking/network/IO remain explicit boundaries. Focused `cargo xtask test-group rust-resolved-connect-complete` passes (11 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-28 β RE-932 Original address-filter table insertion and wildcard parser | |
| 132 actual252829/252304/37159 cases recover first-hole reuse, append/count growth,4096 capacity, wildcard/numeric masks, modulo-byte values and permissive separators. Parsing failure still returns outer success1, marks comparison-1 and preserves other fields; count growth is not rolled back. Successful insert sets metadata-1. Optional252500 export is requested even after parse failure; full-capacity refusal skips it. Full-table scans execute with a bounded262144-instruction budget. Table/export/network provenance and malformed counts remain open. Focused `cargo xtask test-group qvm-filter-insert` passes (4 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| ## 2026-10-28 β RE-933 Rust filter insertion and non-rollback semantics | |
| Rust matches132 original252829/252304 table cases including4096-capacity scans, first-hole reuse, wildcard/numeric masks and comparison-1 sentinel behavior. Parser failure retains count growth and requests optional export, matching the source. Typed malformed counts/token-overflow domains reject atomically. Export body252500, live table writers and native network acceptance remain open. Focused `cargo xtask test-group rust-filter-insert` passes (9 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity. | |
| Batch RE-924β933 boundary: the single `cargo xtask test-full --since bc3e7621` run after commit ten passed with the flake-declared Nix Python: 1,798 Python tests, 225 Rust tests (assets 10, gameplay 185, xtask 30), 42 deterministic report producers, storage policy, 502 documentation files and whitespace guards. No generated report drift. Validation notes were amended into task ten; original assets unchanged. See [batch findings and next work](research/QVM_BOT_ANNOUNCEMENT_FILTER_BATCH.md). | |
| ## 2026-10-28 β RE-934 Original filter export and native file-operation order | |
| Actual252500 exports comparison bytes and signed metadata while ignoring masks. It skips comparison-1 rows, performs no IO for count zero, but truncates/writes an empty file for a nonempty all-hole table. Supplied zero/negative handles still reach write and close. The INT_MIN metadata case retains the original formatter wrapping-negation punctuation instead of host decimal output. Eighteen fixtures execute actual70386/37914/69338; native memory operations are modeled and file operations captured. Aggregate overflow and actual filesystem acceptance remain open. Focused `cargo xtask test-group qvm-filter-export` passes with deterministic report regeneration, relevant regressions and storage/documentation/whitespace checks. Full suite deferred to the tenth-commit boundary. Original assets unchanged; native IO effects remain captured. | |
| ## 2026-10-28 β RE-935 Rust filter export policy and bounded storage | |
| Rust matches all18 original export cases, including mask loss, all-hole truncation, invalid handles and original INT_MIN formatter bytes. Empty tables produce no plan; other tables produce ordered print/open/write/close effects. A4096-row table is bounded by28 bytes per row, below the131072-byte source buffer; unit tests check that maximum and reject4097 rows. Native IO remains an adapter boundary. Focused `cargo xtask test-group rust-filter-export` passes with deterministic report regeneration, relevant regressions and storage/documentation/whitespace checks. Full suite deferred to the tenth-commit boundary. Original assets unchanged; native IO effects remain captured. | |
| ## 2026-10-28 β RE-936 Original exact-match filter removal | |
| Thirty actual253296 cases execute parser252304/37159, scan exact mask/comparison pairs and remove only the first duplicate by storing comparison-1. Mask/metadata/count remain unchanged. Parse failure and no match return0; successful removal prints Removed and requests export. A preexisting comparison-1 record can match255.255.255.255 and report successful removal again. Export is captured in this stage. Focused `cargo xtask test-group qvm-filter-remove` passes with deterministic report regeneration, relevant regressions and storage/documentation/whitespace checks. Full suite deferred to the tenth-commit boundary. Original assets unchanged; native IO effects remain captured. | |
| ## 2026-10-28 β RE-937 Rust exact-match filter removal and diagnostics | |
| Rust matches all30 original removal cases, retaining first-match ordering, unchanged mask/metadata/count, repeated sentinel matches, parser diagnostics and conditional export requests. Unsupported token domains fail atomically. Unit tests cover duplicate preservation and unsupported input without mutation; native export remains captured at this stage. Focused `cargo xtask test-group rust-filter-remove` passes with deterministic report regeneration, relevant regressions and storage/documentation/whitespace checks. Full suite deferred to the tenth-commit boundary. Original assets unchanged; native IO effects remain captured. | |
| ## 2026-10-28 β RE-938 Original filter metadata update and save gating | |
| Across180 actual252127 fixtures, parser252304/37159 precedes an exact mask/comparison scan; only the first match receives the supplied raw metadata word. Comparison/mask/count remain unchanged. Export is requested only after a successful match with a nonzero save argument. Invalid parse and missing match return0 with diagnostics. A comparison-1 sentinel can match and receive metadata without becoming active; timestamp interpretation and native callers remain open. Focused `cargo xtask test-group qvm-filter-metadata` passes with deterministic report regeneration, relevant regressions and storage/documentation/whitespace checks. Full suite deferred to the tenth-commit boundary. Original assets unchanged; native IO effects remain captured. | |
| ## 2026-10-28 β RE-939 Rust first-match filter metadata policy | |
| Rust matches180 original metadata-update cases, retaining the first exact pair, every unaffected row, raw metadata bits, parser/missing-match diagnostics and save gating. Unit tests verify negative save requests, duplicate preservation, sentinel matching and atomic rejection of unsupported tokens. Metadata is deliberately a raw word; native time/expiry interpretation remains open. Focused `cargo xtask test-group rust-filter-metadata` passes with deterministic report regeneration, relevant regressions and storage/documentation/whitespace checks. Full suite deferred to the tenth-commit boundary. Original assets unchanged; native IO effects remain captured. | |
| ## 2026-10-28 β RE-940 Original insertion composed with recovered export | |
| Twenty-four original252829/252304/252500 compositions verify table checksums plus exact export records and file-operation order. Parse failure still retains count growth and exports, including an empty write through a supplied zero handle. Valid broadcast sentinel values are skipped by export, and wildcard masks are lost in serialized output. Native file IO remains captured; insertion table/caller provenance remains open. Focused `cargo xtask test-group qvm-filter-insert-export` passes with deterministic report regeneration, relevant regressions and storage/documentation/whitespace checks. Full suite deferred to the tenth-commit boundary. Original assets unchanged; native IO effects remain captured. | |
| ## 2026-10-28 β RE-941 Rust insertion with recovered export composition | |
| Rust matches24 source insertion/export compositions, including all table checksums, optional export payloads, sentinel omission, mask loss and zero-handle empty writes after parser failure. The staged API preserves ordinary source mutation semantics and rejects unsupported domains atomically. Unit tests also cover4096-capacity refusal without export and unsupported-token rollback. Native filesystem operations remain plans for a future adapter. Focused `cargo xtask test-group rust-filter-insert-export` passes with deterministic report regeneration, relevant regressions and storage/documentation/whitespace checks. Full suite deferred to the tenth-commit boundary. Original assets unchanged; native IO effects remain captured. | |
| ## 2026-10-28 β RE-942 Original removal composed with export and survivor serialization | |
| Thirty original253296/252304/252500 compositions verify first-match removal, retained row metadata/masks/count, diagnostics and exact survivor export bytes. A sole removed record leaves a nonzero count and therefore causes an empty file write. Duplicate survivors remain serialized in original order. Parse failures and misses never invoke export. Native console/file operations are captured; actual filesystem errors and reload semantics remain open. Focused `cargo xtask test-group qvm-filter-remove-export` passes with deterministic report regeneration, relevant regressions and storage/documentation/whitespace checks. Full suite deferred to the tenth-commit boundary. Original assets unchanged; native IO effects remain captured. | |
| ## 2026-10-28 β RE-943 Rust removal with survivor export and typed file effects | |
| Rust matches30 original removal/export compositions, retaining first-match mutation, duplicate survivor order, unchanged count and metadata, diagnostics, sentinel omission and empty writes after sole removal. A typed four-effect sequence exposes print/open/write/close in source order and retains raw supplied handles. Unit tests cover zero handles, duplicate survivor bytes, misses without IO and atomic unsupported-domain rejection. Native execution, reload and time/expiry semantics remain open. Focused `cargo xtask test-group rust-filter-remove-export` passes with deterministic report regeneration, relevant regressions and storage/documentation/whitespace checks. Full suite deferred to the tenth-commit boundary. Original assets unchanged; native IO effects remain captured. | |
| Batch RE-934β943 boundary: the single `cargo xtask test-full --since 7bb397d4` run after commit ten passed with the flake-declared Nix Python: 1,818 Python tests, 236 Rust tests (assets10, gameplay196, xtask30), 92 deterministic report producers, storage policy, 513 documentation files and whitespace guards. No generated report drift. The focused dependency-selection regression also passed after adding the shared module/adapter edges for gameplay test-count metadata. Validation notes were amended into task ten; original assets unchanged. See [batch findings and next work](research/QVM_FILTER_PERSISTENCE_BATCH.md). | |
| ## 2026-10-28 β RE-944 Original filter time flattening and asymmetric inverse | |
| Eighty-four actual251995/252024 conversion pairs recover wrapping day-of-year/hour/minute arithmetic, signed division and unchanged structure fields. The inverse stores computed hour modulo60 into the minute field, so normal minute values do not round trip. INT_MIN/MAX and negative fields are covered; calendar/year/native clock interpretation remains open. Focused `cargo xtask test-group qvm-filter-time` passes with deterministic report regeneration, relevant regressions and storage/documentation/whitespace checks. Full suite deferred to the tenth-commit boundary. Original assets unchanged; native IO effects remain captured. | |
| ## 2026-10-28 β RE-945 Rust filter time arithmetic and asymmetric inverse | |
| Rust matches84 original conversion pairs using wrapping arithmetic and truncating signed division, retaining the inverse minute-field quirk and all unrelated structure words. Unit tests cover signed extremes, arithmetic wrap and unchanged sentinel fields. Native clock acquisition and calendar interpretation remain supplied boundaries. Focused `cargo xtask test-group rust-filter-time` passes with deterministic report regeneration, relevant regressions and storage/documentation/whitespace checks. Full suite deferred to the tenth-commit boundary. Original assets unchanged; native IO effects remain captured. | |
| ## 2026-10-28 β RE-946 Original full-table filter expiry and unsigned time gates | |
| Twelve actual252067 scans execute all4096 slots with actual251995 and supplied native time. Metadata other than-1 expires only when unsigned-less-than current minutes; equality is retained. Expiry changes comparison only, ignores and preserves active count, and never exports. Fixtures verify the last slot mutates even at count zero, permanent markers and high-bit timestamps. Calendar rollover and invocation cadence remain open. Focused `cargo xtask test-group qvm-filter-expiry` passes with deterministic report regeneration, relevant regressions and storage/documentation/whitespace checks. Full suite deferred to the tenth-commit boundary. Original assets unchanged; native IO effects remain captured. | |
| ## 2026-10-28 β RE-947 Rust full-table expiry with unsigned metadata gates | |
| Rust matches12 full4096-slot original scans and table-wide checksums. The API requires exactly4096 records and has no active-count parameter, preserving expiry beyond active rows. It retains masks/metadata, strict unsigned comparisons, permanent-1 and no-export behavior. Unit tests cover high-bit/equality/permanent gates, last-slot mutation and atomic rejection of incomplete storage. Focused `cargo xtask test-group rust-filter-expiry` passes with deterministic report regeneration, relevant regressions and storage/documentation/whitespace checks. Full suite deferred to the tenth-commit boundary. Original assets unchanged; native IO effects remain captured. | |
| ## 2026-10-28 β RE-948 Original banlist loading and duplicate metadata routing | |
| Thirty-two original252933 fixtures compose actual insertion/metadata/parser/search/integer children. Loading retains the old count, splits on LF, skips zero/one-byte lines, accepts a final unterminated line and truncates callback text at NUL. It reads/closes even supplied zero or missing-file handles. Partial reads expose explicit initial bytes. Metadata updates the first matching prior row rather than a newly inserted duplicate. Native filesystem, long lines and arbitrary negative lengths remain open. Focused `cargo xtask test-group qvm-filter-load` passes with deterministic report regeneration, relevant regressions and storage/documentation/whitespace checks. Full suite deferred to the tenth-commit boundary. Original assets unchanged; native IO effects remain captured. | |
| ## 2026-10-28 β RE-949 Rust bounded loading with explicit read replies | |
| Rust matches32 original loader compositions, preserving active count, first-prior-match metadata routing, short-read buffer provenance, NUL/line handling and unconditional read/close effects. The staged API accepts explicit declared length, delivered bytes, initial buffer and raw handle. It rejects unsafe negative lengths, overlong lines/tokens and insufficient table storage atomically. Unit tests cover duplicates, missing-file replies, stale partial reads and rollback after an unsupported later line. Focused `cargo xtask test-group rust-filter-load` passes with deterministic report regeneration, relevant regressions and storage/documentation/whitespace checks. Full suite deferred to the tenth-commit boundary. Original assets unchanged; native IO effects remain captured. | |
| ## 2026-10-28 β RE-950 Original expiration-duration command and usage paths | |
| Eighty actual252213 fixtures compose integer/time/metadata children, preserving wrapping duration-plus-current-minute arithmetic, exact first-match metadata writes and save requests. Empty arguments emit exact console or client usage without clock/update calls; client formatting advances and wraps the ring. Negative/overflowing duration prefixes are retained. Native clock/calendar semantics, sends and export execution remain explicit boundaries. Focused `cargo xtask test-group qvm-filter-duration` passes with deterministic report regeneration, relevant regressions and storage/documentation/whitespace checks. Full suite deferred to the tenth-commit boundary. Original assets unchanged; native IO effects remain captured. | |
| ## 2026-10-28 β RE-951 Rust expiration command with typed time and usage effects | |
| Rust matches80 original duration/usage command fixtures, preserving wrapping numeric prefixes, first-match metadata save requests, exact client/console text and formatter-counter wrap. Typed effects preserve time-before-update order; usage skips both. Unit tests cover client-only ring changes, negative duration producing permanent-1 metadata, duplicate preservation and atomic unsupported-address rejection. Native replies remain supplied or captured. Focused `cargo xtask test-group rust-filter-duration` passes with deterministic report regeneration, relevant regressions and storage/documentation/whitespace checks. Full suite deferred to the tenth-commit boundary. Original assets unchanged; native IO effects remain captured. | |
| ## 2026-10-28 β RE-952 Original export reload and lossy persistence behavior | |
| Twenty-four actual export/reload compositions transfer captured file bytes through explicit native replies. Empty-table export leaves the prior file intact, whereas all-hole export truncates. Reload loses masks, converts the original INT_MIN formatter punctuation to metadata0, routes duplicate updates to the first match and grows retained tables. Source formatter/parser/load bodies execute; actual filesystem acceptance and unlimited reload/capacity remain open. Focused `cargo xtask test-group qvm-filter-roundtrip` passes with deterministic report regeneration, relevant regressions and storage/documentation/whitespace checks. Full suite deferred to the tenth-commit boundary. Original assets unchanged; native IO effects remain captured. | |
| ## 2026-10-28 β RE-953 Rust export reload composition and persistence-loss regressions | |
| Rust matches24 original export/reload compositions, retaining stale prior files when export is absent, all-hole truncation, wildcard-mask loss, INT_MIN metadata reload as0, duplicate routing and retained-table growth. The staged loader rejects unsupported domains without mutation. Unit tests cover these losses, duplicate growth and atomic unsupported prior-file rejection. Captured write bytes are supplied as read replies; actual filesystem acceptance remains open. Focused `cargo xtask test-group rust-filter-roundtrip` passes with deterministic report regeneration, relevant regressions and storage/documentation/whitespace checks. Full suite deferred to the tenth-commit boundary. Original assets unchanged; native IO effects remain captured. | |
| Batch RE-944β953 boundary: the single `cargo xtask test-full --since ed9db0e6` run after commit ten passed with the flake-declared Nix Python: 1,838 Python tests, 249 Rust tests (assets10, gameplay209, xtask30), 96 deterministic report producers, storage policy, 524 documentation files and whitespace guards. No generated report drift. Focused dependency-selection regression covers all five new source/Rust pairs and shared loading/lifecycle/native-policy/formatter inputs, including gameplay test-count metadata. Validation notes were amended into task ten; original assets unchanged. See [batch findings and next work](research/QVM_FILTER_LOADING_BATCH.md). | |
| ## 2026-10-28 β RE-954 Original add-filter client lookup and queued kick command | |
| Ninety-six actual253100 wrappers recover length-under3 client-number routing, active-slot gating, supplied1024-byte userinfo and actual70503 ip lookup, insertion and exact usage/kick formatting. Non-numeric short input can select slot0. A clientkick command is queued even after missing-ip insertion failure. Selector and formatter wraps, invalid slots and direct masks are verified; exports and native effects remain captured. Focused `cargo xtask test-group qvm-filter-add-command` passes with deterministic report regeneration, relevant regressions and storage/documentation/whitespace checks. Full suite deferred to the tenth-commit boundary. Original assets unchanged; native IO effects remain captured. | |
| ## 2026-10-28 β RE-955 Rust add-filter wrapper and unconditional queued kick | |
| Rust matches96 original add-filter command cases, retaining short-input numeric routing, active-slot/userinfo gates, selector toggles, exact usage/kick text and formatter wrap. Missing IP insertion failures still queue clientkick; an extra unit test verifies full-table refusal also queues a kick. Unsupported domains reject atomically. Native userinfo, queued commands, network and export remain captured plans. Focused `cargo xtask test-group rust-filter-add-command` passes with deterministic report regeneration, relevant regressions and storage/documentation/whitespace checks. Full suite deferred to the tenth-commit boundary. Original assets unchanged; native IO effects remain captured. | |
| ## 2026-10-28 β RE-956 Original remove-filter command and usage routing | |
| Twenty-four actual253245 wrappers compose actual253296 removal and source client-usage formatting. Empty input emits exact console/client usage and skips mutation; client usage wraps the formatter ring. Nonempty input retains first-match duplicate/sentinel behavior, count, diagnostics and conditional export requests. Userinfo selector remains untouched. Native sends/console and export requests are captured. Focused `cargo xtask test-group qvm-filter-remove-command` passes with deterministic report regeneration, relevant regressions and storage/documentation/whitespace checks. Full suite deferred to the tenth-commit boundary. Original assets unchanged; native IO effects remain captured. | |
| ## 2026-10-28 β RE-957 Rust remove-filter wrapper and source usage effects | |
| Rust matches24 original removal-wrapper cases, preserving exact client/console usage, formatter wrap, first-match duplicate/sentinel mutations, child diagnostics and conditional export. The API leaves caller table length and userinfo selector ownership untouched. Unit tests cover empty-input child suppression, duplicate metadata retention, ordinary parser failure and atomic unsupported-token rejection. Native effects remain captured plans. Focused `cargo xtask test-group rust-filter-remove-command` passes with deterministic report regeneration, relevant regressions and storage/documentation/whitespace checks. Full suite deferred to the tenth-commit boundary. Original assets unchanged; native IO effects remain captured. | |
| ## 2026-10-28 β RE-958 Original duration command with metadata and export resolved | |
| Eighty actual252213/252127/252500 compositions resolve the prior captured export request into source-generated bytes and ordered print/open/write/close effects. Duplicate metadata updates only the first row, then export serializes both rows in order. Usage, invalid parsing and absent matches skip export. Supplied zero handles still reach write/close; time/network/file execution remains captured or supplied. Focused `cargo xtask test-group qvm-filter-duration-export` passes with deterministic report regeneration, relevant regressions and storage/documentation/whitespace checks. Full suite deferred to the tenth-commit boundary. Original assets unchanged; native IO effects remain captured. | |
| ## 2026-10-28 β RE-959 Rust duration command with resolved persistence plan | |
| Rust matches80 original duration/update/export compositions, deriving exact file payloads and typed effects from a successful metadata save request. Duplicate order, zero handles, usage/miss export suppression and formatter counters are retained. Unit tests cover first-row update with two-row export and atomic unsupported-domain rejection. Native time/file/network execution remains supplied or captured. Focused `cargo xtask test-group rust-filter-duration-export` passes with deterministic report regeneration, relevant regressions and storage/documentation/whitespace checks. Full suite deferred to the tenth-commit boundary. Original assets unchanged; native IO effects remain captured. | |
| ## 2026-10-28 β RE-960 Original expiry composed with full-capacity address admission | |
| Forty-eight original252067/252643 compositions cover4096-slot expiry and address scans through the last entry, mode inversion, localhost bypass and explicit scratch. After the first match expires, a live last-slot match still rejects in blacklist mode. Comparison-1 holes remain eligible for mask matching and can reject broadcast addresses. Active count and all table checksums are verified; native time and live network acceptance remain supplied/open. Focused `cargo xtask test-group qvm-filter-expiry-admission` passes with deterministic report regeneration, relevant regressions and storage/documentation/whitespace checks. Full suite deferred to the tenth-commit boundary. Original assets unchanged; native IO effects remain captured. | |
| ## 2026-10-28 β RE-961 Rust full-capacity expiry and address-admission composition | |
| Rust matches48 original full-table expiry/admission cases and all table checksums. The address helper now accepts the actual4096-entry capacity, including last-slot matches, and rejects4097. Expiry writes persist on ordinary rejection; typed errors remain atomic. Unit tests cover last-slot survival, broadcast matching an expired hole, capacity bounds and unsupported-address rollback. Native time/network acceptance remains supplied/open. Focused `cargo xtask test-group rust-filter-expiry-admission` passes with deterministic report regeneration, relevant regressions and storage/documentation/whitespace checks. Full suite deferred to the tenth-commit boundary. Original assets unchanged; native IO effects remain captured. | |
| ## 2026-10-28 β RE-962 Original client-frame prefix with unconditional expiry | |
| Forty actual150692 prefix executions through150791 compose source65613 squared horizontal motion and252067 full-table expiry. Strict elapsed>3000 and square>100 gate activity, z is discarded, entity bit64 copies to the client flag, and the timer wraps. Every prefix invocation reaches expiry regardless of movement gates/count. Direct sites place loader252933 at3924 inside3877 and expiry252067 at150789 inside150692. Whole callback/cadence and native runtime remain open. Focused `cargo xtask test-group qvm-filter-frame-prefix` passes with deterministic report regeneration, relevant regressions and storage/documentation/whitespace checks. Full suite deferred to the tenth-commit boundary. Original assets unchanged; native IO effects remain captured. | |
| ## 2026-10-28 β RE-963 Rust client-frame prefix with source motion gates and expiry | |
| Rust matches40 original frame-prefix cases, retaining squared horizontal motion, strict elapsed/square gates, ignored z, source bit64 copy, wrapping accumulation and unconditional full-table expiry. Unit tests cover ignored NaN z, equality, tick wrap and atomic rejection of unsupported horizontal values/incomplete storage. This ports only150692..150791; full callback/caller cadence and native runtime remain open. Focused `cargo xtask test-group rust-filter-frame-prefix` passes with deterministic report regeneration, relevant regressions and storage/documentation/whitespace checks. Full suite deferred to the tenth-commit boundary. Original assets unchanged; native IO effects remain captured. | |
| Batch RE-954β963 boundary: the single `cargo xtask test-full --since 696a4794` run after commit ten passed with the flake-declared Nix Python: 1,858 Python tests, 260 Rust tests (assets10, gameplay220, xtask30), 106 deterministic report producers, storage policy, 535 documentation files and whitespace guards. No generated report drift. Focused dependency-selection regression covers all five new source/Rust pairs and shared command/loading/lifecycle/native-policy/formatter inputs, including scoped gameplay test-count metadata. Validation notes were amended into task ten; original assets unchanged. See [batch findings and next work](research/QVM_FILTER_COMMANDS_BATCH.md). | |
| ## 2026-10-28 β RE-964 Original client timer deadline and terminal-counter fragments | |
| A144-case source contract executes disjoint150791..150810 and151085..151131 fragments. Entity cooldown multiplication/addition wraps before signed comparison; exact equality preserves flags. Client bit2 clears only after a strict deadline, unrelated bits and deadline/stamp words survive, and elapsed-total accumulation wraps. Intervening loop and native scheduling remain outside this fragment contract. Focused `cargo xtask test-group qvm-client-timer-terminal` passes with deterministic report regeneration, relevant regressions and storage/documentation/whitespace checks. Full suite deferred to the tenth-commit boundary. Original assets unchanged; native IO effects remain captured. | |
| ## 2026-10-28 β RE-965 Rust client timer deadlines and terminal accumulation | |
| Rust matches144 original terminal-fragment cases, preserving wrapping cooldown arithmetic before signed comparisons, strict equality behavior, unrelated flag bits and elapsed-total wrap. Separate pre-loop and post-loop APIs allow later composition in original order. Unit tests cover equal/expired deadlines and signed overflow; this contract does not execute the intervening timer loop or native scheduling. Focused `cargo xtask test-group rust-client-timer-terminal` passes with deterministic report regeneration, relevant regressions and storage/documentation/whitespace checks. Full suite deferred to the tenth-commit boundary. Original assets unchanged; native IO effects remain captured. | |
| ## 2026-10-28 β RE-966 Original100ms timer phase loop and damage-request ABI | |
| A288-case source loop contract covers signed residual thresholds, wrapping phase increments and signed remainder with rates0/1/2/5. Rate0 reads preceding word1120403456 instead of a zero divisor. Flag256 plus positive supplied health and phase0 request damage1, means23 and caller weapon/owner pointers. Damage effects remain captured and flag512 is disabled in this stage; health mutation and other branches remain open. Focused `cargo xtask test-group qvm-client-timer-ticks` passes with deterministic report regeneration, relevant regressions and storage/documentation/whitespace checks. Full suite deferred to the tenth-commit boundary. Original assets unchanged; native IO effects remain captured. | |
| ## 2026-10-28 β RE-967 Rust100ms phase loop and captured damage requests | |
| Rust matches288 original tick-loop cases with signed residual/remainder and wrapping phase behavior. Rate0 retains the preceding-word divisor1120403456. Typed damage requests retain all source arguments without mutating supplied health. Unit tests cover alias behavior, signed wrap, exact request ABI and atomic invalid-rate rejection. Flag512 is deliberately outside this first loop subset; the residual budget bounds execution. Focused `cargo xtask test-group rust-client-timer-ticks` passes with deterministic report regeneration, relevant regressions and storage/documentation/whitespace checks. Full suite deferred to the tenth-commit boundary. Original assets unchanged; native IO effects remain captured. | |
| ## 2026-10-28 β RE-968 Original float countdown and flag-recovery loop | |
| A216-case source contract extends the tick loop through flags512/256/128 and f32 subtraction of0.1. Crossing zero resets flag256/rate/timer but delays secondary flag128/status cleanup until a later tick; initially nonpositive timers can clear immediately. Reset rate0 changes later modulo through the preceding-word alias. Damage stays captured and health supplied; nonfinite/unsafe table domains remain open. Focused `cargo xtask test-group qvm-client-timer-recovery` passes with deterministic report regeneration, relevant regressions and storage/documentation/whitespace checks. Full suite deferred to the tenth-commit boundary. Original assets unchanged; native IO effects remain captured. | |
| ## 2026-10-28 β RE-969 Rust float countdown and ordered flag recovery | |
| Rust matches216 original full-loop cases with repeated f32 subtraction, delayed secondary cleanup, raw flag/status preservation and rate0 divisor switching. The existing tick API now supports flag512 through these recovered branches. Unit tests cover countdown crossing versus initial nonpositive cleanup and atomic nonfinite rejection; damage effects remain requests against supplied health. Focused `cargo xtask test-group rust-client-timer-recovery` passes with deterministic report regeneration, relevant regressions and storage/documentation/whitespace checks. Full suite deferred to the tenth-commit boundary. Original assets unchanged; native IO effects remain captured. | |
| ## 2026-10-28 β RE-970 Complete original client timer body with expiry and ordered damage requests | |
| Sixteen original150692 executions compose the previously separate motion/expiry prefix, entity cooldown, full100ms loop and terminal counters through the void-return boundary. The same residual word receives msec before loop consumption; native time precedes captured damage requests. All persistent fields and4096-row checksums agree with independent composition. Source math/expiry children execute, but native clock and health mutation remain supplied/captured; full caller154089 remains open. Focused `cargo xtask test-group qvm-client-timer-complete` passes with deterministic report regeneration, relevant regressions and storage/documentation/whitespace checks. Full suite deferred to the tenth-commit boundary. Original assets unchanged; native IO effects remain captured. | |
| ## 2026-10-28 β RE-971 Rust complete client timer with transactional persistent state | |
| Rust matches16 whole original timer cases, composing the shared residual, source prefix/expiry, cooldown, full float/phase loop and terminal counters in order. Typed time/damage records preserve source event order; all persistent fields and4096-row checksums match. Unit tests cover combined wrap/cleanup/expiry and rollback of prefix/table writes after unsupported loop input. Native time/health execution and full caller remain outside this supplied/captured contract. Focused `cargo xtask test-group rust-client-timer-complete` passes with deterministic report regeneration, relevant regressions and storage/documentation/whitespace checks. Full suite deferred to the tenth-commit boundary. Original assets unchanged; native IO effects remain captured. | |
| ## 2026-10-28 β RE-972 Original timer caller timing preparation and early gates | |
| Ninety-six original154089-prefix cases recover connection-word gating, original command timestamp copies, command-time bounds, signed delta calculation/cap and the word3108==2 exception for nonpositive deltas. Optional8ms rounding occurs after the delta and does not recompute it. Execution stops at154210 or the verified early-return boundary155716; intervening caller processing and dispatch155714 are not skipped or claimed recovered. Focused `cargo xtask test-group qvm-client-timer-prepare` passes with deterministic report regeneration, relevant regressions and storage/documentation/whitespace checks. Full suite deferred to the tenth-commit boundary. Original assets unchanged; native IO effects remain captured. | |
| ## 2026-10-28 β RE-973 Rust caller timestamp preparation and delta semantics | |
| Rust matches96 original caller-prefix cases, preserving connection-word gating, pre-clamp timestamp copies, signed wrapping bounds, the nonpositive-delta exception,200ms cap and post-delta8ms rounding. Unit tests cover unchanged disconnected state, retained pre-round delta, negative exception deltas and sequential bounds at signed wrap. The remaining caller body and actual timer dispatch are explicitly unrecovered. Focused `cargo xtask test-group rust-client-timer-prepare` passes with deterministic report regeneration, relevant regressions and storage/documentation/whitespace checks. Full suite deferred to the tenth-commit boundary. Original assets unchanged; native IO effects remain captured. | |
| Batch RE-964β973 boundary: the single `cargo xtask test-full --since c1e91e2e` run after commit ten passed with the flake-declared Nix Python: 1,878 Python tests, 270 Rust tests (assets10, gameplay230, xtask30), 106 deterministic report producers, storage policy, 546 documentation files and whitespace guards. No generated report drift. Focused dependency-selection regression covers all five new source/Rust pairs and shared timer/command/loading/lifecycle/native-policy/formatter inputs, including scoped gameplay test-count metadata. Validation notes were amended into task ten; original assets unchanged. See [batch findings and next work](research/QVM_CLIENT_TIMER_BATCH.md). | |
| ## 2026-10-28 β RE-974 Original client intermission and spectator routing | |
| Sixteen source154210-prefix paths recover intermission precedence, team3/follow gates and spectator-word3 callback suppression. Normal paths stop at154256; routed paths stop at the original early return155716. Callback151133/149671 effects remain captured, with their client/command inputs recorded. Later command and movement processing are outside this first contract. Focused `cargo xtask test-group qvm-client-routing` passes with deterministic report regeneration, relevant regressions and storage/documentation/whitespace checks. Full suite deferred to the tenth-commit boundary. Original assets unchanged; native IO effects remain captured. | |
| ## 2026-10-28 β RE-975 Rust early client routing with captured callbacks | |
| Rust matches16 source routing cases, preserving intermission precedence and spectator callback suppression. Typed effects carry source slot/command-time inputs and keep actual callback bodies outside this contract. Unit tests cover outer-gate precedence and spectator-word suppression without conflating normal clients with routed ones. Focused `cargo xtask test-group rust-client-routing` passes with deterministic report regeneration, relevant regressions and storage/documentation/whitespace checks. Full suite deferred to the tenth-commit boundary. Original assets unchanged; native IO effects remain captured. | |
| ## 2026-10-28 β RE-976 Original command angle preservation and movement-byte masking | |
| Forty-eight source command-rewrite cases recover pause-mask1 and mode10/client-mask16 locking, saved-angle restore versus update, and independent server override. Clearing bytes493..495 preserves the low byte492 and command timestamp; buttons clear separately. Other pause bits alone do not trigger this lock. Native later movement execution remains outside this fragment. Focused `cargo xtask test-group qvm-client-command-rewrite` passes with deterministic report regeneration, relevant regressions and storage/documentation/whitespace checks. Full suite deferred to the tenth-commit boundary. Original assets unchanged; native IO effects remain captured. | |
| ## 2026-10-28 β RE-977 Rust client command rewriting and byte preservation | |
| Rust matches48 source command rewrites, retaining pause-mask1 selection, mode10/client-mask16 locking, saved-angle direction and independent server masking. The low adjacent command byte survives clearing movement bytes, and command time is not modified by this API. Unit tests cover non-locking pause bits, angle restore/save order and low-byte preservation. Focused `cargo xtask test-group rust-client-command-rewrite` passes with deterministic report regeneration, relevant regressions and storage/documentation/whitespace checks. Full suite deferred to the tenth-commit boundary. Original assets unchanged; native IO effects remain captured. | |
| ## 2026-10-28 β RE-978 Original inactivity policy and ordered warning timeout effects | |
| A120-case source contract executes actual150382 through all bounded policy branches: protected entities, disabled config, pause anchoring, signed movement bytes/attack, dead-client deadline extension, exemptions, warnings and timeout. Word arithmetic wraps before signed comparisons. Mode1 requests callback183102 with team string s, then a message; other modes request a drop. Native effects remain captured; source deadline/warning fields and supplied health are verified. Focused `cargo xtask test-group qvm-client-inactivity` passes with deterministic report regeneration, relevant regressions and storage/documentation/whitespace checks. Full suite deferred to the tenth-commit boundary. Original assets unchanged; native IO effects remain captured. | |
| ## 2026-10-28 β RE-979 Rust inactivity deadlines and typed timeout effects | |
| Rust matches120 original inactivity cases, including signed wrap, pause anchoring, negative movement bytes, warning suppression, strict deadlines and mode-specific effect order. Dead-client extension precedes exemption, and activity clears warning state without shortening a later deadline. Unit tests cover warning equality/repetition, team-before-message ordering, pause bits and wrapped extension. Native callbacks remain captured plans. Focused `cargo xtask test-group rust-client-inactivity` passes with deterministic report regeneration, relevant regressions and storage/documentation/whitespace checks. Full suite deferred to the tenth-commit boundary. Original assets unchanged; native IO effects remain captured. | |
| ## 2026-10-28 β RE-980 Original movement parameter selection and packed words | |
| Ninety-six source setup cases recover movement-type precedence, pause-mask1 handling, finite gravity multiplication/truncation and unpaused speed220. A present controller is consumed only on unpaused paths. Packed words use raw shift/OR without byte masking, and the old event sequence is saved. Execution stops at154544 before scratch initialization and later callbacks; actual movement remains open. Focused `cargo xtask test-group qvm-client-movement-setup` passes with deterministic report regeneration, relevant regressions and storage/documentation/whitespace checks. Full suite deferred to the tenth-commit boundary. Original assets unchanged; native IO effects remain captured. | |
| ## 2026-10-28 β RE-981 Rust finite movement parameters and one-shot controller handling | |
| Rust matches96 original movement-setup cases, preserving type precedence, pause-mask1 behavior, f32 multiplication/truncation, controller consumption and unmasked packed words. Unsupported unpaused float/conversion domains reject atomically; the paused path ignores unused float inputs. Unit tests cover negative truncation, high-bit packing, controller retention and rollback. Actual movement callbacks remain open. Focused `cargo xtask test-group rust-client-movement-setup` passes with deterministic report regeneration, relevant regressions and storage/documentation/whitespace checks. Full suite deferred to the tenth-commit boundary. Original assets unchanged; native IO effects remain captured. | |
| ## 2026-10-28 β RE-982 Original pre-movement client pipeline and early-exit state | |
| Forty-eight source154089 executions compose preparation, routing, rewritten inputs, actual inactivity and movement setup through154544. Blocking movement can turn an otherwise active command into a timeout; early exits retain preceding timestamp/command mutations. Inactivity receives the pre-round delta, including the allowed negative exception. Native routing/team/send/drop effects remain captured; scratch setup and actual movement are beyond the boundary. Focused `cargo xtask test-group qvm-client-pre-movement` passes with deterministic report regeneration, relevant regressions and storage/documentation/whitespace checks. Full suite deferred to the tenth-commit boundary. Original assets unchanged; native IO effects remain captured. | |
| ## 2026-10-28 β RE-983 Rust composed pre-movement pipeline with source early-exit mutations | |
| Rust matches48 original pre-movement executions, composing shared timing/spectator state, command masking, actual inactivity policy and finite movement setup. Ordinary early exits commit preceding writes; unsupported typed domains stage all state and effects atomically. Unit tests verify blocked-activity timeout, pre-round delta forwarding, timestamp persistence on routing and rollback after a late float error. Captured callbacks and later physics remain open. Focused `cargo xtask test-group rust-client-pre-movement` passes with deterministic report regeneration, relevant regressions and storage/documentation/whitespace checks. Full suite deferred to the tenth-commit boundary. Original assets unchanged; native IO effects remain captured. | |
| Batch RE-974β983 boundary: the single `cargo xtask test-full --since 74af72a2` run after commit ten passed with the flake-declared Nix Python: 1,898 Python tests, 280 Rust tests (assets10, gameplay240, xtask30), 111 deterministic report producers, storage policy, 557 documentation files and whitespace guards. No generated report drift. Focused dependency-selection regression covers all five new source/Rust pairs and shared processing/timer/command/loading/lifecycle/native-policy/formatter inputs, including scoped gameplay test-count metadata. Validation notes were amended into task ten; original assets unchanged. See [batch findings and next work](research/QVM_CLIENT_PROCESSING_BATCH.md). | |
| ## 2026-10-29 β RE-984 Recover movement scratch initialization and mode dispatch | |
| Twelve original-QVM probes recover a 268-byte zero fill at frame+56, preserving four-byte guards on both sides. Mode10 requests152792 then152673; mode8 requests153419; other modes request neither. Zeroing precedes callbacks. Native memset is modeled with coherent byte writes; callback bodies and their state feedback remain unresolved. Focused `cargo xtask test-group qvm-client-move-scratch` passes with deterministic report regeneration and selected regressions. Full suite deferred to task ten. Original assets unchanged; Python uses the flake-declared Nix runtime. | |
| ## 2026-10-29 β RE-985 Port movement scratch initialization and callback plans | |
| Rust owns an exact268-byte scratch slice and returns ordered zero/mode-callback plans. Twelve source/Rust fixtures compare every scratch word, guards and callback order. Invalid client slots reject before mutation; slice ownership prevents overwriting neighboring frame words. Callback execution and feedback are deliberately left to a future native adapter. Focused `cargo xtask test-group rust-client-move-scratch` passes with deterministic report regeneration and selected regressions. Full suite deferred to task ten. Original assets unchanged; Python uses the flake-declared Nix runtime. | |
| ## 2026-10-29 β RE-986 Recover movement suppression and command snapshot | |
| 90 original-QVM fixtures recover live/non-following client mask2 suppression. Forward/right command bytes clear; positive signed up input clears, while zero and negative up values survive. Buttons, angles, timestamp and adjacent low byte survive. The rewritten24-byte command is then copied into scratch and the client pointer bound. Dead clients, followers and absent mask2 bypass suppression. Focused `cargo xtask test-group qvm-client-move-suppression` passes with deterministic report regeneration and selected regressions. Full suite deferred to task ten. Original assets unchanged; Python uses the flake-declared Nix runtime. | |
| ## 2026-10-29 β RE-987 Port signed movement suppression and snapshot | |
| Rust snapshots six raw command words after source-backed suppression, retaining negative up bytes and all unrelated command words. Ninety source/Rust fixtures compare both the mutated command and scratch copy. Unit cases cover signed byte boundaries, neighboring button preservation and dead/follow/other-mask bypasses. The typed return represents binding to the supplied client rather than a raw address. Focused `cargo xtask test-group rust-client-move-suppression` passes with deterministic report regeneration and selected regressions. Full suite deferred to task ten. Original assets unchanged; Python uses the flake-declared Nix runtime. | |
| ## 2026-10-29 β RE-988 Recover movement masks and linked overlap cleanup | |
| Forty source probes recover mask precedence and execute actual151954 overlap checks. Movement-type3 bypasses links and selects65537; overlapping live type0 linked entities select the same mask. Failed overlap clears both link words and selects33619969. Unlinked entity mask8 selects37814273 before mode9/nonzero client3704 selects67174401. The helper uses strict lower-X versus upper-X overlap, inclusive remaining comparisons, positive entity health and movement-type0 on both clients; boundary fixtures expose this asymmetry. Focused `cargo xtask test-group qvm-client-move-mask` passes with deterministic report regeneration and selected regressions. Full suite deferred to task ten. Original assets unchanged; Python uses the flake-declared Nix runtime. | |
| ## 2026-10-29 β RE-989 Port linked overlap and movement mask selection | |
| Rust ports the actual linked overlap conditions and mask precedence across forty source/Rust cases. Failed overlap clears both supplied link states before returning the default mask; movement-type3 bypasses overlap entirely. Finite f32 bounds/sums are validated before mutation. Unit tests cover asymmetric touching faces, flag precedence, reciprocal cleanup, nonfinite rollback and bypassing unused invalid geometry. Native collision traces remain outside this policy. Focused `cargo xtask test-group rust-client-move-mask` passes with deterministic report regeneration and selected regressions. Full suite deferred to task ten. Original assets unchanged; Python uses the flake-declared Nix runtime. | |
| ## 2026-10-29 β RE-990 Recover native movement context and vector snapshots | |
| 108 original-QVM cases recover callback words -25/-26, raw debug/quantize/option fields, boolean bot/entity-mask8 flags and pause-mask1 selection. Two exact12-byte copies preserve origin into client4072 and client152 into frame336. High-bit and NaN payload words are copied unchanged; no float arithmetic is performed. Four neighboring sentinels survive. Stop154867 precedes movement54475, so native collision callbacks and physics are not executed. Focused `cargo xtask test-group qvm-client-move-context` passes with deterministic report regeneration and selected regressions. Full suite deferred to task ten. Original assets unchanged; Python uses the flake-declared Nix runtime. | |
| ## 2026-10-29 β RE-991 Port typed native movement context assembly | |
| Rust constructs a typed movement context with original callback ABI identifiers, boolean bot/entity/pause fields and unnormalized configuration words. Raw origin/vector snapshots retain sign bits and NaN payloads without conversion.108 source/Rust fixtures compare every field and copy; typed arrays own copy boundaries. Native trace/contents adapters and movement54475 execution remain open. Focused `cargo xtask test-group rust-client-move-context` passes with deterministic report regeneration and selected regressions. Full suite deferred to task ten. Original assets unchanged; Python uses the flake-declared Nix runtime. | |
| ## 2026-10-29 β RE-992 Compose source movement setup through physics boundary | |
| Thirty coherent original-QVM probes compose scratch clearing, ordered mode callbacks, input suppression, command snapshot, actual linked overlap/mask selection and native context/vector assembly. Supplied callback feedback changes client health/follow/mask/type before later consumers; it is applied only when the corresponding mode callback runs. Failed overlap clears links before physics. Modes0/8/10, signed up input, callback feedback, paused state and failed links are covered. Callback bodies remain captured and supplied feedback is not evidence of their actual behavior. Execution stops before54475. Focused `cargo xtask test-group qvm-client-move-assembly` passes with deterministic report regeneration and selected regressions. Full suite deferred to task ten. Original assets unchanged; Python uses the flake-declared Nix runtime. | |
| ## 2026-10-29 β RE-993 Compose Rust movement setup with callback feedback | |
| Rust stages the complete movement-setup plan, applies pure supplied callback feedback in original order, then suppresses/snapshots commands, resolves linked masks and assembles context/vectors. Thirty source/Rust cases compare all projected state and ordered effects. Unit tests verify feedback changes later decisions, no callback runs in mode0, failed geometry or feedback rejects without committing state, and prior snapshots update on success. No native IO or actual physics executes. Focused `cargo xtask test-group rust-client-move-assembly` passes with deterministic report regeneration and selected regressions. The single `cargo xtask test-full --since 99a6f51a` run at the tenth-commit boundary passed: **1,918 Python tests** across509 modules, **289 Rust tests** (assets10, gameplay249, xtask30), **116 deterministic affected report producers**, storage policy, links across **568 documentation files** and whitespace guards. Regeneration left the tree clean. Focused dependency-registry regression also passed. Validation notes are amended into task ten, preserving ten commits. Original assets unchanged; Python uses the flake-declared Nix runtime. | |
| ## 2026-10-29 β RE-994 Recover meter completion and thaw event effects | |
| 90 original-QVM fixtures execute152386: signed integer meter converts to f32, adds carry, truncates and clamps below zero; carry clears. At32000 or greater the meter resets, client mask16384 and flag104 mask16 clear, and movement type becomes0. Melt completion requests event107 then log; assisted completion requests score/recipient reset, event108 then log. The supplied event receives owner168 and mask32. Optional receiver meter mirroring runs after completion. Nested score/recipient reset effects remain captured. Focused `cargo xtask test-group qvm-move-meter` passes with deterministic report regeneration and selected regressions. Full suite deferred to task ten. Original assets unchanged; Python uses the flake-declared Nix runtime. | |
| ## 2026-10-29 β RE-995 Port meter completion and captured thaw effects | |
| Rust ports meter f32 conversion, truncation, clamping, completion masks, event ownership and optional receiver mirroring across ninety source cases. Completion effects preserve source ordering. Nonfinite/out-of-range conversion, invalid client indices and assisted completion without a receiver reject before state mutation. Teleport/reset/log/event allocation remain effect plans and supplied event state rather than native execution. Focused `cargo xtask test-group rust-move-meter` passes with deterministic report regeneration and selected regressions. Full suite deferred to task ten. Original assets unchanged; Python uses the flake-declared Nix runtime. | |
| ## 2026-10-29 β RE-996 Recover timed mode10 self-recovery | |
| Thirty-six original-QVM cases execute152673 with actual meter child152386. Entity/client existence, mode10, connection2, positive signed health, zero follow and client mask16384 gate processing. Progress uses staged f32 operations32000/(seconds*1000)*signed wrapped elapsed, adds carry, advances clock6324, then runs self-melt completion. Negative elapsed/duration, wrapped ticks, fractional carry and all admission exits are covered. Early exits preserve clock and carry; event/log effects remain captured. Focused `cargo xtask test-group qvm-move-self-recovery` passes with deterministic report regeneration and selected regressions. Full suite deferred to task ten. Original assets unchanged; Python uses the flake-declared Nix runtime. | |
| ## 2026-10-29 β RE-997 Port timed self-recovery with atomic state updates | |
| Rust ports actual self-recovery gates, wrapped signed elapsed time, staged f32 progress and the meter child across36 source cases. Admission exits preserve state without reading unused float configuration. Active invalid duration, nonfinite progress or unsupported conversion reject without advancing clock or committing meter/event changes. Unit tests cover wrapped elapsed time, inactive NaN preservation and late-error rollback. Focused `cargo xtask test-group rust-move-self-recovery` passes with deterministic report regeneration and selected regressions. Full suite deferred to task ten. Original assets unchanged; Python uses the flake-declared Nix runtime. | |
| ## 2026-10-29 β RE-998 Recover mode10 assistance admission and cleanup scan | |
| Twenty-eight original-QVM fixtures recover152792 admission and its first entity-pool scan through152994. Protected self mask16384 clears own assistance mask8192, active6316 and target6320, then returns. Otherwise active helpers lose those fields when their target disconnects, dies or follows; healthy targets retain assistance. Loop order, zero/64 counts, absent entity/client, high-bit preservation and all self admission exits are covered. The subsequent distance/assistance search remains outside this boundary. Focused `cargo xtask test-group qvm-move-assist-cleanup` passes with deterministic report regeneration and selected regressions. Full suite deferred to task ten. Original assets unchanged; Python uses the flake-declared Nix runtime. | |
| ## 2026-10-29 β RE-999 Port assistance cleanup and typed target ownership | |
| Rust ports152792 admission and first scan across28 original cases, including full64-slot and zero-count pools. Typed indices replace supplied entity/client pointers; inactive targets are not dereferenced. Protected self returns before scanning, preserving other helpers. Dead/disconnected/following targets clear only assistance mask8192, active state and target. Invalid active indices/counts reject atomically; unit tests cover high-bit preservation, early bypass and rollback after a prior planned cleanup. Focused `cargo xtask test-group rust-move-assist-cleanup` passes with deterministic report regeneration and selected regressions. Full suite deferred to task ten. Original assets unchanged; Python uses the flake-declared Nix runtime. | |
| ## 2026-10-29 β RE-1000 Recover mode8 eligibility and teammate exclusion | |
| Sixty-six original-QVM cases recover153419 admission through153596. Both global enables, strict signed wrapped elapsed greater than delay*1000, incomplete state, connected/live/non-following self and selected team are required. Selector exactly1 chooses team2; other values choose team1. A live connected non-following teammate with nonzero6164 blocks entry, while self is excluded. All fields remain unchanged. Exact/negative/wrapped times, three selectors, zero/64 pools and teammate bypasses are covered; flag search and objective effects remain open. Focused `cargo xtask test-group qvm-move-mode8-eligibility` passes with deterministic report regeneration and selected regressions. Full suite deferred to task ten. Original assets unchanged; Python uses the flake-declared Nix runtime. | |
| ## 2026-10-29 β RE-1001 Port mode8 eligibility and teammate exclusion | |
| Rust ports the read-only mode8 eligibility boundary across66 original cases. Time comparisons wrap as signed words; selector exactly1 chooses team2. Typed teammate scanning excludes self and requires connected/live/non-following same-team busy state before blocking. Counts and indices reject explicitly when used. Unit tests cover strict timing, selector2, self exclusion, inactive teammates and input immutability. Objective search and mutation remain unimplemented. Focused `cargo xtask test-group rust-move-mode8-eligibility` passes with deterministic report regeneration and selected regressions. Full suite deferred to task ten. Original assets unchanged; Python uses the flake-declared Nix runtime. | |
| ## 2026-10-29 β RE-1002 Compose actual mode10 self callbacks with movement setup | |
| Twenty-four coherent source probes replace supplied mode10 feedback with actual152792,152673 and152386 while executing movement setup through154867 and actual overlap151954. Assistance pool count is zero, so the unresolved proximity search does not execute. Protected self clears assistance before timed recovery; thaw completion changes movement type/masks before command suppression and collision-mask selection. Clock/carry, command snapshots, links, native context and vector copies are checked together. Nested native effects remain captured; no mode8 objective or actual physics executes. Focused `cargo xtask test-group qvm-move-resolved-self` passes with deterministic report regeneration and selected regressions. Full suite deferred to task ten. Original assets unchanged; Python uses the flake-declared Nix runtime. | |
| ## 2026-10-29 β RE-1003 Compose actual Rust self callbacks with movement setup | |
| Rust replaces supplied mode10 feedback with recovered assistance cleanup and timed self-recovery before movement setup. Twenty-four source/Rust cases compare meter/clock, assistance, masks, commands, links, context, vectors and captured effects. The assistance pool is explicitly empty. Shared flags/movement views must agree; all state and effect plans stage atomically, including late geometry errors after completion. Native nested effects, nonempty proximity search and physics remain open. Focused `cargo xtask test-group rust-move-resolved-self` passes with deterministic report regeneration and selected regressions. The single `cargo xtask test-full --since ad83778f` run at the tenth-commit boundary passed: **1,938 Python tests** across519 modules, **299 Rust tests** (assets10, gameplay259, xtask30), **121 deterministic affected report producers**, storage policy, links across **579 documentation files** and whitespace guards. Regeneration left no changes. Focused dependency-registry regression also passed. These validation notes are amended into task ten, preserving ten commits. Original assets unchanged; Python uses the flake-declared Nix runtime. | |
| ## 2026-10-29 β RE-1004 Recover assistance acquisition and target ownership | |
| Thirty-six original-QVM cases recover assistance acquisition after near/protected-target routing. A helper already holding mask8192 and nonzero active6316 cannot switch away from a different target6320. Otherwise acquisition sets mask8192, active1, target and clock6328, then requests event104 with target entity word0 followed by the source thaw-start log. Raw high bits and wrapped tick values survive; event/log bodies and preceding distance/admission gates are excluded. Focused `cargo xtask test-group qvm-assist-acquire` passes with deterministic report regeneration and selected regressions. Full suite deferred to task ten. Original assets unchanged; Python uses the flake-declared Nix runtime. | |
| ## 2026-10-29 β RE-1005 Port assistance acquisition and ownership guard | |
| Rust ports the conditional assistance ownership lock across36 source cases. Typed target indices preserve stale-state behavior, raw flag bits and wrapped clocks. Event104 precedes the original source log; both remain plans. Unit tests cover locked switching, inactive stale-target replacement, event ordering and atomic invalid-target rejection. Caller admission and proximity selection remain separate. Focused `cargo xtask test-group rust-assist-acquire` passes with deterministic report regeneration and selected regressions. Full suite deferred to task ten. Original assets unchanged; Python uses the flake-declared Nix runtime. | |
| ## 2026-10-29 β RE-1006 Recover far and unprotected assistance cancellation | |
| Seventy-two source cases recover both cancellation branches. Only a helper with mask8192, nonzero active state and matching target loses assistance: mask8192 clears, active becomes0 and target becomes null. Clock6328 and unrelated bits survive. Both far and no-longer-protected paths request event105 with parameter0xffffffff; unmatched or incomplete ownership is untouched. Native event publication remains captured. Focused `cargo xtask test-group qvm-assist-cancel` passes with deterministic report regeneration and selected regressions. Full suite deferred to task ten. Original assets unchanged; Python uses the flake-declared Nix runtime. | |
| ## 2026-10-29 β RE-1007 Port conditional assistance cancellation | |
| Rust matches both original cancellation branches across72 source cases. Matching flagged active ownership clears only assistance state and emits event105; repeated cancellation is silent. Clocks and high bits survive, mismatched targets remain intact, and invalid indices reject before mutation. Native publication remains an explicit effect plan. Focused `cargo xtask test-group rust-assist-cancel` passes with deterministic report regeneration and selected regressions. Full suite deferred to task ten. Original assets unchanged; Python uses the flake-declared Nix runtime. | |
| ## 2026-10-29 β RE-1008 Recover assisted thaw progress and target completion | |
| Twenty-four original-QVM cases execute staged f32 progress using34062368 and helper clock6328, then actual152386 on the target with helper meter mirroring. Negative/wrapped elapsed time, signed duration, fractional carry, precision and threshold completion are covered. Assisted completion orders score/recipient reset/event108/log and mirrors zero to the helper. Helper clock advances after the target child; ownership remains until later cancellation. Native nested effects remain captured or supplied. Focused `cargo xtask test-group qvm-assist-progress` passes with deterministic report regeneration and selected regressions. Full suite deferred to task ten. Original assets unchanged; Python uses the flake-declared Nix runtime. | |
| ## 2026-10-29 β RE-1009 Port assisted progress with target meter feedback | |
| Rust matches24 assisted progress cases, including f32 rounding, negative/wrapped elapsed time and completion. Target meter completion mirrors its result to the helper and preserves original nested effect order. Clock and target updates stage together, so invalid duration or late conversion errors leave both unchanged. Unit cases verify wrapped416-unit progress, zero mirroring at completion and rollback. Focused `cargo xtask test-group rust-assist-progress` passes with deterministic report regeneration and selected regressions. Full suite deferred to task ten. Original assets unchanged; Python uses the flake-declared Nix runtime. | |
| ## 2026-10-29 β RE-1010 Recover complete mode10 assistance callback | |
| Sixty coherent original-QVM cases execute complete152792 with actual distance65655 and target-meter152386. Admission, cleanup, ascending candidate order, same-team/live/follow filtering, strict distance below75, ownership, acquisition/progress/cancellation and target completion are checked together. Fixtures include two competing targets, exact radius, 64-slot pools, early exits, negative/wrapped progress and stale state. Distance sqrt is modeled; publication/native completion effects remain captured or supplied. Focused `cargo xtask test-group qvm-assist-complete` passes with deterministic report regeneration and selected regressions. Full suite deferred to task ten. Original assets unchanged; Python uses the flake-declared Nix runtime. | |
| ## 2026-10-29 β RE-1011 Port complete mode10 assistance scan | |
| Rust composes recovered admission/cleanup, finite f32 distance, acquisition/cancellation and actual target meter policies across60 complete source cases. Candidate order and strict radius75 are preserved; typed identity and shared flags are validated. All clients and effects stage atomically, including a late invalid distance after an earlier acquisition. Tests cover radius/order, ownership retention and rollback. Native completion/publication effects remain plans. Focused `cargo xtask test-group rust-assist-complete` passes with deterministic report regeneration and selected regressions. Full suite deferred to task ten. Original assets unchanged; Python uses the flake-declared Nix runtime. | |
| ## 2026-10-29 β RE-1012 Recover assistance transitions across repeated calls | |
| Twenty five-call source scenarios preserve one coherent memory state across acquisition, progress, thaw completion and later cancellation/reacquisition. Competing target order, wrapped ticks, positive/negative duration and64-slot traversal are checked across100 complete callback executions. Reports compare every client word, distance, event request and allocated event state at each call. Native score/recipient reset/publication/log effects remain captured; the broader frame scheduler and self-recovery callback are excluded. Focused `cargo xtask test-group qvm-assist-sequence` passes with deterministic report regeneration and selected regressions. Full suite deferred to task ten. Original assets unchanged; Python uses the flake-declared Nix runtime. | |
| ## 2026-10-29 β RE-1013 Port bounded assistance replay and transition snapshots | |
| Rust replays five recovered callback calls across20 source scenarios, comparing all100 state/effect snapshots. Acquisition, progress, completion, cancellation and target reacquisition preserve source order and clocks. Replay stores immutable snapshots and stages the batch on typed errors; unit tests verify exactly-on-transition requests and rollback when invalid duration becomes active only on a later call. Native IO and frame scheduling remain excluded. Focused `cargo xtask test-group rust-assist-sequence` passes with deterministic report regeneration and selected regressions. The single `cargo xtask test-full --since 19fce7e8` run at the tenth-commit boundary passed: **1,958 Python tests** across529 modules, **309 Rust tests** (assets10, gameplay269, xtask30), **126 deterministic affected report producers**, storage policy, links across **590 documentation files** and whitespace guards. Regeneration left no changes. Focused dependency-registry regression passed. Validation notes are amended into task ten, preserving ten commits. Original assets unchanged; Python uses the flake-declared Nix runtime. | |
| ## 2026-10-29 β RE-1014 Recover bomb-defuse start and weapon state changes | |
| Seventy-two original-QVM probes recover defuse start after near/eligible routing. Mask32 clears masks32/64 and stores animation148=2; different low-byte weapon kinds do not change this projected outcome. Begin stores shared clock35000484, busy6164=1, client mask4 and flag104 mask16, then allocates event83 with configured duration and mask32 before requesting sound7. Weapon word and neighboring event fields remain unchanged. Native allocation/sound and caller gates are excluded. Focused `cargo xtask test-group qvm-defuse-begin` passes with deterministic report regeneration and selected regressions. Full suite deferred to task ten. Original assets unchanged; Python uses the flake-declared Nix runtime. | |
| ## 2026-10-29 β RE-1015 Port bomb-defuse start and effect ordering | |
| Rust ports start-state masks, animation selection, shared clock, duration payload and event83-before-sound7 ordering across72 source cases. Raw weapon/duration/tick words remain bit-exact. Typed weapon/client indices reject before mutation; unit tests distinguish flag32 from flag64-only behavior and preserve neighboring fields by ownership. Native allocation and sound remain effect plans. Focused `cargo xtask test-group rust-defuse-begin` passes with deterministic report regeneration and selected regressions. Full suite deferred to task ten. Original assets unchanged; Python uses the flake-declared Nix runtime. | |
| ## 2026-10-29 β RE-1016 Recover bomb-defuse cancellation branches | |
| Forty-eight original-QVM cases compare far-target and unflagged cancellation. Any nonzero busy6164 clears busy, shared clock35000484, client mask4 and flag104 mask16, then allocates event84 with payload0 and event mask32. Zero busy leaves all fields unchanged, even stale flags or clock. Weapon/animation and unrelated bits survive. Both branches match; native event allocation and caller routing remain excluded. Focused `cargo xtask test-group qvm-defuse-cancel` passes with deterministic report regeneration and selected regressions. Full suite deferred to task ten. Original assets unchanged; Python uses the flake-declared Nix runtime. | |
| ## 2026-10-29 β RE-1017 Port conditional bomb-defuse cancellation | |
| Rust matches48 far/unflagged cancellation cases. Any nonzero busy state clears the shared clock and owned flags and emits event84 payload0; inactive stale state remains untouched. Weapon/animation words and unrelated bits survive. Unit tests verify idempotence, nonzero high-bit busy values, inactive unused-index preservation and active error atomicity. Native allocation remains a plan. Focused `cargo xtask test-group rust-defuse-cancel` passes with deterministic report regeneration and selected regressions. Full suite deferred to task ten. Original assets unchanged; Python uses the flake-declared Nix runtime. | |
| ## 2026-10-29 β RE-1018 Recover timed bomb-defuse completion and effect order | |
| Thirty-two source cases recover active completion when signed wrapped elapsed reaches duration*1000, including equality, negative duration and overflow. Waiting preserves every field. Completion logs first, latches35000396=1, clears clock/busy and owned flags, allocates event84 payload1 with mask32, then requests score update205260 and counter283463 index5. Weapon/animation and neighboring event fields survive. Native nested effects remain captured or supplied. Focused `cargo xtask test-group qvm-defuse-finish` passes with deterministic report regeneration and selected regressions. Full suite deferred to task ten. Original assets unchanged; Python uses the flake-declared Nix runtime. | |
| ## 2026-10-29 β RE-1019 Port timed bomb-defuse completion and captured effects | |
| Rust matches32 active source completion cases with signed wrapped elapsed/duration arithmetic and equality completion. The original log/event84/score/counter order is preserved as plans. Inactive selected state reuses start policy; waiting avoids unused index evaluation, while ready invalid client indices reject before mutation. Unit cases cover exact and wrapped completion, high-bit preservation and waiting/error atomicity. Focused `cargo xtask test-group rust-defuse-finish` passes with deterministic report regeneration and selected regressions. Full suite deferred to task ten. Original assets unchanged; Python uses the flake-declared Nix runtime. | |
| ## 2026-10-29 β RE-1020 Recover complete mode8 bomb-defuse callback | |
| Ninety-six source scenarios connect original admission/teammate scan to actual276433 bomb hash lookup and65655 distance, then start/wait/cancel/complete transitions. Three selectors, radius75 equality, zero/64 teammate counts, inactive/classless/hash-mismatched decoys, wrapped time, completed latch and missing bomb are covered. Missing lookup stops before original2319 fatal handler. Native sqrt is modeled; event/native effect feedback is captured or supplied, not executed. Focused `cargo xtask test-group qvm-defuse-complete` passes with deterministic report regeneration and selected regressions. Full suite deferred to task ten. Original assets unchanged; Python uses the flake-declared Nix runtime. | |
| ## 2026-10-29 β RE-1021 Port complete bomb-defuse lookup and state policy | |
| Rust composes verified eligibility, first eligible bomb hash lookup, finite f32 distance and start/cancel/finish across96 source cases. Missing bomb returns the source fatal boundary diagnostic without inventing subsequent behavior. Radius equality does not start defusing; decoy identity and selector semantics match source. State and effect plans stage before commit, with missing/invalid geometry unit tests preserving prior state. Native effects remain captured plans. Focused `cargo xtask test-group rust-defuse-complete` passes with deterministic report regeneration and selected regressions. Full suite deferred to task ten. Original assets unchanged; Python uses the flake-declared Nix runtime. | |
| ## 2026-10-29 β RE-1022 Recover bomb-defuse sequences and completion latching | |
| Thirty coherent source scenarios replay up to five complete callbacks, producing138 snapshots. Scripted motion, held-button changes and teammate release test cancellation/restart; shared state persists through waiting and exact completion. Completed latch prevents repeated allocation/log/award. Missing-bomb boundary stops after one call. Actual lookup/distance bodies execute, while native effect feedback and scheduling remain modeled/captured inputs. Focused `cargo xtask test-group qvm-defuse-sequence` passes with deterministic report regeneration and selected regressions. Full suite deferred to task ten. Original assets unchanged; Python uses the flake-declared Nix runtime. | |
| ## 2026-10-29 β RE-1023 Port bomb-defuse replay and fatal/completion boundaries | |
| Rust matches138 source snapshots across30 scripted sequences. Motion/button/teammate inputs apply before each call, while clock/flags/event state persist. Completion latch suppresses duplicate reward requests and missing-bomb diagnostic ends replay. Bounded typed replay stages all updates and snapshots on errors; tests verify exactly one reward, fatal-boundary stop and rollback after a prior successful start. Native effects and frame scheduling remain outside scope. Focused `cargo xtask test-group rust-defuse-sequence` passes with deterministic report regeneration and selected regressions. The single `cargo xtask test-full --since 26cfc686` run at the tenth-commit boundary passed: **1,978 Python tests** across539 modules, **319 Rust tests** (assets10, gameplay279, xtask30), **131 deterministic affected report producers**, storage policy, links across **601 documentation files** and whitespace guards. Regeneration left no changes. Focused dependency-registry regression passed. Validation notes are amended into task ten, preserving ten commits. Original assets unchanged; Python uses the flake-declared Nix runtime. | |
| ## 2026-10-29 β RE-1024 Correct native effect identities and recover objective counter | |
| Twelve original-QVM cases prove283463 increments exactly client3036+4*index by1 with word wrapping; the supplied5 is a counter index, not a five-point score delta. Source205260 was already recovered as score update, and193620 emits team radio commands. Earlier defuse/assistance capture labels score/counter/sound were misleading historical names. Counter guards and unrelated words survive. New findings use numeric IDs and corrected semantics; historical report schemas remain compatible. Focused `cargo xtask test-group qvm-effect-counter` passes with deterministic report regeneration and selected regressions. Full suite deferred to task ten. Original assets unchanged; Python uses the flake-declared Nix runtime. | |
| ## 2026-10-29 β RE-1025 Port indexed objective counters and label compatibility notes | |
| Rust implements caller-indexed wrapping counter increments across12 source cases. Index5 increases one word by1, not five score points; invalid indices preserve the supplied window. Historical enum/report tags remain compatible but now carry explicit score/radio/counter semantic corrections. True counter-enum ownership and larger state lifecycle remain open. Focused `cargo xtask test-group rust-effect-counter` passes with deterministic report regeneration and selected regressions. Full suite deferred to task ten. Original assets unchanged; Python uses the flake-declared Nix runtime. | |
| ## 2026-10-29 β RE-1026 Recover team radio routing and marker state | |
| Thirty-four original-QVM scenarios recover193620 with actual mode classifier33715. Live non-following non-spectator sender obtains supplied location text, then sends rsay sender/-1/type/text to connected same-team recipients in team modes or mode9. Mode11 and signed negative modes do not route. Sender marker84 becomes tick+3500 and marker204 becomes1 only when a command is sent. Empty/quoted payloads, failed text lookup, zero/64 counts and wrap are covered. Native sending and location lookup remain boundaries; fixed formatter is modeled. Focused `cargo xtask test-group qvm-effect-radio` passes with deterministic report regeneration and selected regressions. Full suite deferred to task ten. Original assets unchanged; Python uses the flake-declared Nix runtime. | |
| ## 2026-10-29 β RE-1027 Port team radio command planning and marker feedback | |
| Rust matches34 source team-radio scenarios, including the mode9 exception, mode11/signed exclusions, failed location text, raw quote preservation and64-recipient tables. Only actual sends update an existing marker; empty routing leaves it unchanged. Tests cover connected same-team routing, wrapped marker deadlines and invalid payload atomicity. Text location and native network sends remain boundaries. Focused `cargo xtask test-group rust-effect-radio` passes with deterministic report regeneration and selected regressions. Full suite deferred to task ten. Original assets unchanged; Python uses the flake-declared Nix runtime. | |
| ## 2026-10-29 β RE-1028 Resolve defuse completion score and objective counter | |
| Sixty-four source probes execute defuse completion with actual205260 and283463. Ready completion adds one player score point and requests ranking unless paused, then increments counter index5 by1 regardless of pause. Both score and counter wrap independently. Waiting does neither. Corrected ordered requests are log, allocate, score, optional rank, counter; allocation/log/ranking remain boundaries. This replaces the earlier misleading teleport/five-point labels with actual state feedback. Focused `cargo xtask test-group qvm-effect-defuse-finish` passes with deterministic report regeneration and selected regressions. Full suite deferred to task ten. Original assets unchanged; Python uses the flake-declared Nix runtime. | |
| ## 2026-10-29 β RE-1029 Port resolved defuse score and counter feedback | |
| Rust executes the existing score policy and indexed counter update for defuse completion across64 source cases. Paused score remains unchanged without a ranking request, while counter index5 wraps independently. Correct semantic trace tags replace historical aliases in these new reports. Whole completion and feedback state stage atomically; unit tests cover paused behavior and late counter failure after a planned score update. Ranking/log/allocation remain boundaries. Focused `cargo xtask test-group rust-effect-defuse-finish` passes with deterministic report regeneration and selected regressions. Full suite deferred to task ten. Original assets unchanged; Python uses the flake-declared Nix runtime. | |
| ## 2026-10-29 β RE-1030 Resolve defuse start event construction and radio feedback | |
| Sixteen source cases execute defuse start with actual277695/278138 event construction and193620/33715 team radio. Event83 type/class/hash/time and snapped origin are materialized before caller payload/flags and radio routing. Marker state and commands reflect supplied/failed location text. Negative fractional origins snap toward zero. Allocation, native linking and sends remain supplied/captured; this is not direct sound playback. Focused `cargo xtask test-group qvm-effect-defuse-begin` passes with deterministic report regeneration and selected regressions. Full suite deferred to task ten. Original assets unchanged; Python uses the flake-declared Nix runtime. | |
| ## 2026-10-29 β RE-1031 Port resolved defuse event and radio feedback | |
| Rust composes the recovered event constructor and team-radio policies across16 source cases. Metadata, snapped origins, caller event flags and radio commands/marker state match actual source bodies. Explicit allocate/link/radio order replaces the historical sound tag. Tests verify origin snapping and unchanged score/counters, plus rollback of prior start writes on an unsupported origin. Base allocation, linking, location and sending remain boundaries. Focused `cargo xtask test-group rust-effect-defuse-begin` passes with deterministic report regeneration and selected regressions. Full suite deferred to task ten. Original assets unchanged; Python uses the flake-declared Nix runtime. | |
| ## 2026-10-29 β RE-1032 Resolve full defuse callback effect feedback | |
| Forty-eight coherent source cases execute full defuse gates/lookup/distance with actual constructor, team-radio, score and counter bodies. Reports compare event records, command plans, marker deadlines, player/team scores and counters alongside defuse state. Paused scoring, inactive gates, decoy bombs and missing-bomb boundary are covered. Base allocation, location/formatting and native link/send/ranking/log remain supplied/modeled/captured. No teleport or five-point award is inferred. Focused `cargo xtask test-group qvm-effect-defuse-complete` passes with deterministic report regeneration and selected regressions. Full suite deferred to task ten. Original assets unchanged; Python uses the flake-declared Nix runtime. | |
| ## 2026-10-29 β RE-1033 Port full defuse policy with resolved effect bodies | |
| Rust matches48 full-source scenarios with actual constructor/radio/score/counter policies. Selected bomb origin and live teammate table feed the resolved effects rather than fixed synthetic responses. Missing-bomb and paused-score boundaries are preserved; world and feedback stage together on late errors. Tests materialize event84, wrapped score/counter changes and missing/error preservation. Native allocation/link/send/ranking/log and location/formatter boundaries remain explicit. Focused `cargo xtask test-group rust-effect-defuse-complete` passes with deterministic report regeneration and selected regressions. The single `cargo xtask test-full --since 74572275` run at the tenth-commit boundary passed: **1,998 Python tests** across549 modules, **329 Rust tests** (assets10, gameplay289, xtask30), **141 deterministic affected report producers**, storage policy, links across **612 documentation files** and whitespace guards. Regeneration left no changes, including earlier defuse outputs. Focused dependency-registry regression passed. Validation notes are amended into task ten, preserving ten commits. Original assets unchanged; Python uses the flake-declared Nix runtime. | |
| ## 2026-10-29 β RE-1034 Recover cached trigger and nearest location selection | |
| Sixteen original-QVM cases recover268248. A cached pointer returns only before its signed expiry. Otherwise a supplied box query over originΒ±40/40/52 chooses the first case-insensitive trigger_location candidate, or a linked-list fallback selects visible squared-distanceβ€best, so later equal-distance entries win. PVS is queried only for candidates within the current bound201326592. Cache fields are not written. Native box/PVS replies and linked identity remain supplied. Focused `cargo xtask test-group qvm-location-nearest` passes with deterministic report regeneration and selected regressions. Full suite deferred to task ten. Original assets unchanged; Python uses the flake-declared Nix runtime. | |
| ## 2026-10-29 β RE-1035 Port cached trigger and nearest location policy | |
| Rust matches16 original location-selection cases with signed cache expiry, supplied query order, trigger precedence, PVS filtering and later-wins distance ties. Typed indices and finite math reject unsupported domains. Cache values remain unchanged; tests show live cache bypasses unused invalid geometry and trigger selection bypasses the fallback list. Engine query/PVS and identity remain supplied inputs. Focused `cargo xtask test-group rust-location-nearest` passes with deterministic report regeneration and selected regressions. Full suite deferred to task ten. Original assets unchanged; Python uses the flake-declared Nix runtime. | |
| ## 2026-10-29 β RE-1036 Recover location text wrapper and bounded formatting | |
| Twenty-four source cases execute268637 with actual70386/37914 formatting and bounded-copy helpers. Missing location returns0 without clearing the destination. Found location returns1 even for empty or clipped text; capacity clipping emits the original warning and preserves neighboring bytes. Empty/quoted text and capacities1/4/16/150 are covered. The selected location pointer remains supplied in this wrapper contract. Focused `cargo xtask test-group qvm-location-text` passes with deterministic report regeneration and selected regressions. Full suite deferred to task ten. Original assets unchanged; Python uses the flake-declared Nix runtime. | |
| ## 2026-10-29 β RE-1037 Port bounded location text and missing-result semantics | |
| Rust composes one location lookup with the recovered bounded formatter across24 source cases. Missing location preserves destination bytes; found empty/clipped text returns true with matching warning behavior and zero padding. Typed slices preserve guards. Unit cases cover one lookup, quoted bytes, capacity1, missing zero-capacity bypass and unsupported found-capacity rejection. Focused `cargo xtask test-group rust-location-text` passes with deterministic report regeneration and selected regressions. Full suite deferred to task ten. Original assets unchanged; Python uses the flake-declared Nix runtime. | |
| ## 2026-10-29 β RE-1038 Resolve team radio location and source formatting chain | |
| Thirty-five source scenarios execute radio with actual location selection/text and bounded/ring formatter bodies. Commands now derive from cache/trigger/PVS results rather than supplied text responses. Missing locations become empty text through the original caller path. Ring state advances per recipient, quoted bytes remain unchanged, and a160-byte label clips to149 with a warning. Engine box/PVS and native send remain explicit boundaries. Focused `cargo xtask test-group qvm-location-radio` passes with deterministic report regeneration and selected regressions. Full suite deferred to task ten. Original assets unchanged; Python uses the flake-declared Nix runtime. | |
| ## 2026-10-29 β RE-1039 Port located team radio and formatter state | |
| Rust composes nearest selection, bounded location text, team routing and the recovered ring formatter across35 source scenarios. Ring state wraps per recipient and149-byte clipping matches source warnings. Sender admission bypasses unused geometry; radio/marker/ring updates stage atomically. Tests cover long text, per-recipient ring advancement and inactive/error preservation. Engine box/PVS and sending remain external. Focused `cargo xtask test-group rust-location-radio` passes with deterministic report regeneration and selected regressions. Full suite deferred to task ten. Original assets unchanged; Python uses the flake-declared Nix runtime. | |
| ## 2026-10-29 β RE-1040 Recover objective-event allocator reuse and terminal boundaries | |
| Sixteen source cases execute allocator277165 and initializer277125. First-pass reuse respects signed start+2000 and age1000 gates; a full pool retries without that age gate. Extension increments count before registration/init. Count1022 stops at diagnostics; a fully occupied1024 pool reaches fatal boundary with count1025. Initialization writes only index/in-use/class/hash/field512 sentinel and preserves other words, including free time. Native registration and terminal effects remain captured/stopped. Focused `cargo xtask test-group qvm-location-allocation` passes with deterministic report regeneration and selected regressions. Full suite deferred to task ten. Original assets unchanged; Python uses the flake-declared Nix runtime. | |
| ## 2026-10-29 β RE-1041 Port fixed-pool allocation and terminal-state semantics | |
| Rust matches16 actual allocator cases, including recent-free retry, count extension/registration, signed time gates and partial initialization. Terminal diagnostic/fatal outcomes preserve the source count and scan state, including count1025 before fatal handling. The supplied pool retains unrelated words. Unit tests cover retry without zeroing, terminal count behavior and rejection of subsequent allocation from invalid terminal count. Native registration/fatal handling remain plans/boundaries. Focused `cargo xtask test-group rust-location-allocation` passes with deterministic report regeneration and selected regressions. Full suite deferred to task ten. Original assets unchanged; Python uses the flake-declared Nix runtime. | |
| ## 2026-10-29 β RE-1042 Resolve defuse start through actual event allocation | |
| Twenty-four source scenarios execute defuse start with actual allocator277165, initializer277125, constructor277695 and origin setter278138. Reuse, extension, recent-free extension and full-pool retry feed real selected records into caller payload/flag writes. Snapped origins, retained canary/free-time fields, registration counts and link targets are compared. Execution stops153917 before radio. Allocation terminals remain covered separately; native registration/linking are captured. Focused `cargo xtask test-group qvm-location-allocated-defuse` passes with deterministic report regeneration and selected regressions. Full suite deferred to task ten. Original assets unchanged; Python uses the flake-declared Nix runtime. | |
| ## 2026-10-29 β RE-1043 Port allocated defuse start with preserved record state | |
| Rust matches24 source scenarios composing real fixed-pool selection/init, event construction and caller defuse writes through the pre-radio boundary. Initial record flags and timestamps are retained rather than fabricated or zeroed. Source allocation/registration/link metadata and snapped event records match. Unsupported constructor/allocation outcomes reject atomically in this successful-allocation adapter; generic allocator terminal states remain separately exposed. Tests cover real payload flags and rollback after allocation. Focused `cargo xtask test-group rust-location-allocated-defuse` passes with deterministic report regeneration and selected regressions. The single `cargo xtask test-full --since a1fd4e2b` run at the tenth-commit boundary passed: **2,018 Python tests** across559 modules, **339 Rust tests** (assets10, gameplay299, xtask30), **146 deterministic affected report producers**, storage policy, links across **623 documentation files** and whitespace guards. Regeneration left no changes, including earlier radio consumers. Focused dependency-registry regression passed. Validation notes are amended into task ten, preserving ten commits. Original assets unchanged; Python uses the flake-declared Nix runtime. | |