# Ranking, leaderboard and wire-model Rust batch RE-769–778 continues from `799143f3`, with ten separately committed tasks. The goal remains full Rust/Bevy/Solari gameplay on macOS and Linux. This batch advances bounded ranking/leaderboard evidence and three Rust primitives. Original binary parity, networking and an interactive runtime remain open. | Task | Scope | Evidence | | --- | --- | --- | | RE-769 | Complete5441 raw ranking comparator | [Comparator](QVM_RANK_COMPARATOR.md) | | RE-770 | Actual aligned35095 small insertion sort and callback tracing | [Small sort](QVM_RANK_SMALL_SORT.md) | | RE-771 | Complete finite5864 ranking with actual small sort and rank words | [Ranking](QVM_RANKING_COMPLETE.md) | | RE-772 | Leaderboard20-slot mapping and sparse sentinels | [Layout](QVM_LEADERBOARD_LAYOUT.md) | | RE-773 | Complete284610 joint-threshold selector | [Selector](QVM_LEADERBOARD_SELECTOR.md) | | RE-774 | First four283622 category selections with actual children | [Categories](QVM_LEADERBOARD_CATEGORIES.md) | | RE-775 | Original recipient templates, copy wrapper and explicit byte model | [Wire model](QVM_RECIPIENT_WIRE.md) | | RE-776 | Rust raw comparator and caller-ordered rank words | [Rust ranking](RUST_RANKING.md) | | RE-777 | Rust mapping, sentinels and joint selector | [Rust leaderboard](RUST_LEADERBOARD.md) | | RE-778 | Rust modeled recipient byte serializer | [Rust wire](RUST_RECIPIENT_WIRE.md) | The comparator has non-ordering prefilter behavior: two deferred or connecting clients can return+1 in both directions, including self. Rust exposes a raw comparator and does not implement Ord. Actual35095 source executes its aligned four-byte n<7 insertion branch with actual5441 callbacks; larger quicksort/byte swaps/recursion remain open. Complete5864 finite fixtures then publish individual/team rank words and tie bit16384.7805/6328 remain captured publication boundaries. Rust rank publication validates a supplied permutation and eligible clients; it does not implement the original sort. The leaderboard mapping has20 slots.284610 requires all nine metrics to strictly exceed current thresholds, including sentinel-valued fields, and updates only nonsentinels. An all-sentinel record can therefore pass comparisons without ever selecting an entity. Source scan order and strict ties are preserved. First category selections execute actual284555/284610/278587, but the prefix stops before the fourth-category total post-filter and remaining categories. Original command templates are scoress/scoresd with12 numeric fields and a name per participant. The valid69338 wrapper requests31 bytes from native-103 and then explicitly zeros byte31. Source fallback literals are---. The serializer preserves C-string byte length,31-byte truncation, signed decimal values and a trailing NUL.37914 formatting, real native strncpy and server send are not executed here; Rust parity is to the explicit original-template/native-copy model. It must not be described as native wire parity. ## Tracer finding and required audit Actual repeated sort callbacks exposed a bounded-tracer issue: excluding the current return boundary for an entire segment can miss later visits to the same call site. New opt-in `repeated_calls=True` skips the initial boundary once and honors later reentries. Dynamic CALL return offsets are also explicit because callback-pointer loads can follow the destination LOCAL. Unsigned LEU/GEU evaluation is covered by boundary tests for all four unsigned comparisons. New sort/ranking/leaderboard compositions opt in to corrected tracing. Earlier consumers retain their legacy setting. Existing regression success confirms compatibility, not semantic correctness for every earlier repeated-call analysis. Audit each such consumer, including similar bounded resumers such as `qvm_research_support.execute`, migrate it deliberately and review regenerated reports/oracles before extending parity claims. Also verify dynamic-CALL return-destination inference at every affected call site; the new explicit-offset path does not retroactively validate legacy dynamic callbacks. This is a substantive remaining research requirement. ## Validation cadence Focused `cargo xtask test-group` runs precede each task's final commit. Selected reports regenerate twice, followed by affected tests and storage/link/whitespace guards. Rust gameplay groups run scoped package tests and13 parity reports. After commit ten, the single `cargo xtask test-full --since 799143f3` run passed1504 Python tests and92 Rust tests (10 assets,54 gameplay,28 xtask). All290 affected report producers regenerated twice byte-identically; storage, documentation links across337 files and whitespace guards passed. Three older reports refreshed only byte-memory snapshots:448 added cells in [authentication queries](auth-queries.json),1808 in [chat expansion](chat-expansion.json) and532 in [selector bounds](selector-bounds.json). No old byte cells or other fields changed. The tenth task commit includes these reviewed snapshots and validation documentation. The legacy tracing audit remains open despite regression compatibility. ## Remaining limits and next tasks 1. Audit legacy repeated-call trace consumers and revise any affected findings/oracles with corrected reentry semantics. 2. Recover35095 large/unaligned sort paths, recursion and comparator helper34964, then7805/6328 publication internals. 3. Extend complete5864 ranking to deferred/connecting/spectator domains without assuming strict comparator ordering. 4. Complete283622 leaderboard categories/post-filters/publication and native/runtime ownership. 5. Execute37914 formatter, original strlen/native copy and send boundaries to establish real serialized-command parity. 6. Compose recovered score/stat/recipient/ranking effects through full health/contact/shared-pellet callers using audited tracing. 7. Establish owned Rust simulation state, event lifetimes, inventory reset/obituary and recipient/network identities. 8. Continue original native executable/DLL/library parity and loader ownership. 9. Connect asset VFS, simulation and world collision to macOS/Linux Bevy runtime validation. 10. Port rendering/materials to Solari and establish interactive full-game acceptance on both platforms. RE-768 remains partially advanced. Native, Linux, rendering and complete gameplay acceptance remain open.