Download docs/research/QVM_REPORTING_RUST_BATCH.md from nmarshall/urt-rs: direct link, hf CLI and curl.
- Browser
- Download file 5.19 kB
-
https://huggingface.co/nmarshall/urt-rs/resolve/main/docs/research/QVM_REPORTING_RUST_BATCH.md
- Command line
-
hf download hf://nmarshall/urt-rs/docs/research/QVM_REPORTING_RUST_BATCH.md
-
curl -L -o QVM_REPORTING_RUST_BATCH.md https://huggingface.co/nmarshall/urt-rs/resolve/main/docs/research/QVM_REPORTING_RUST_BATCH.md
Totals, reporting and ranking setup batch
RE-758–767 continues from 27a7f96f with ten independently committed tasks. The objective remains complete Rust/Bevy/Solari gameplay on macOS and Linux. This batch advances bounded QVM contracts and three Rust simulation primitives; it does not establish original executable parity or a playable runtime.
| Task | Scope | Evidence |
|---|---|---|
| RE-758 | Complete statistic total functions and20-slot field inclusion | Totals |
| RE-759 | Complete divisor and normalized ratio publication with actual totals | Ratios |
| RE-760 | Complete same-team pair counters and participant gates | Team counters |
| RE-761 | Complete recent-record awards with timestamp/count/index64 aliases | Awards |
| RE-762 | Single recipient numeric body, gates and cached ping | Single payload |
| RE-763 | Pair recipient numeric body, gates and cache aliases | Pair payload |
| RE-764 | Ranking reset/client scan through the sorting boundary | Ranking setup |
| RE-765 | Rust totals, divisor and ratio primitives | Rust totals |
| RE-766 | Rust recent-record awards and log ID intents | Rust awards |
| RE-767 | Rust recipient gates, numeric fields and cache effects | Rust payload |
The totals read20 slot counters although method classification currently maps19 slots. First legacy totals exclude indices13/17; second totals exclude17. Addition wraps. The divisor scans down from the signed maximum: mixed signs can still reduce, but a zero input or nonpositive signed maximum returns1. Rust uses Euclid with the same guards. Ratio publication preserves source float32 conversion/division order and zero-denominator behavior.
Recent-record awards accept index64 and preserve the alias between pair64 count and the3032 award word. Eligibility uses count at least40 and wrapped signed age at most30000, with no added nonnegative-age condition. Only64 recipient slots are scanned. Logs remain returned/captured intents rather than executed formatting.
Recipient numeric bodies cap ping above999, retain negative ping, optionally reuse follow-cache data and apply the entity-bit publication override after cache handling. Status precedence, wrapped elapsed minutes, signed packed fields and class bounds0..20 are independently checked. Pair aliases are processed in source order. Initial unaligned literal-copy setup is excluded from the source body boundaries; strlen lengths are supplied and copy/format/send effects remain captured. These are numeric payload/cache contracts, not serialized-text or networking parity.
Ranking5864 setup resets and counts clients, stores a scan-order enrolled list and the first two active slots, and stops before sorting35095/comparator5441. Sort ordering, tie handling, rank assignment and publication remain open. The first two active slots include entity-bit8 clients; human team counts exclude them.
Validation cadence
Focused cargo xtask test-group checks precede each task commit. Selected reports regenerate twice, followed by affected tests, storage/link checks and whitespace guards. Single-recipient regression also checks compatibility of the shared pair helper. Rust gameplay groups run scoped package tests and ten parity reports. After commit ten, the single cargo xtask test-full --since 27a7f96f run passed1473 Python tests and80 Rust tests (10 assets,42 gameplay,28 xtask). Seventeen affected report producers regenerated twice byte-identically; storage, documentation links across326 files and whitespace guards passed. Generated outputs matched committed reports and the working tree was clean. This documentation-only result is recorded by amending the tenth commit.
Remaining limits and next tasks
- Recover sorting35095/comparator5441 and the remaining5864 ranking assignment/publication branches.
- Execute the recipient literal/copy/strlen/formatting boundaries with original text, and verify exact serialized command payloads.
- Recover283622 statistic leaderboard selection and its284555/284610 dependencies.
- Compose actual279720/279586/285227 and recipient numeric bodies into the existing complete stat/lifecycle callers while retaining unresolved boundaries.
- Compose actual protected completion from full health mutation, including null attacker and original low-page reads.
- Extend actual health/contact/shared293732 and successful295018 pellet aggregation through all recovered lifecycle state.
- Establish owned Rust counters, events, record lifetimes, recipient identities, inventory resets and obituary serialization in a runtime.
- Continue original native executable/DLL/library parity and loader ownership.
- Connect assets, simulation and world collision to macOS/Linux Bevy runtime validation.
- Port rendering/materials to Solari and verify interactive full-game acceptance on both platforms.
RE-757 remains partially advanced. Native, Linux, rendering and full gameplay acceptance remain open.