|
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
5.19 kB
| # 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](QVM_STAT_TOTALS.md) | | |
| | RE-759 | Complete divisor and normalized ratio publication with actual totals | [Ratios](QVM_STAT_RATIOS.md) | | |
| | RE-760 | Complete same-team pair counters and participant gates | [Team counters](QVM_TEAM_COUNTERS.md) | | |
| | RE-761 | Complete recent-record awards with timestamp/count/index64 aliases | [Awards](QVM_RECENT_AWARDS.md) | | |
| | RE-762 | Single recipient numeric body, gates and cached ping | [Single payload](QVM_RECIPIENT_SINGLE.md) | | |
| | RE-763 | Pair recipient numeric body, gates and cache aliases | [Pair payload](QVM_RECIPIENT_PAIR.md) | | |
| | RE-764 | Ranking reset/client scan through the sorting boundary | [Ranking setup](QVM_RANKING_SETUP.md) | | |
| | RE-765 | Rust totals, divisor and ratio primitives | [Rust totals](RUST_STAT_TOTALS.md) | | |
| | RE-766 | Rust recent-record awards and log ID intents | [Rust awards](RUST_RECENT_AWARDS.md) | | |
| | RE-767 | Rust recipient gates, numeric fields and cache effects | [Rust payload](RUST_RECIPIENT_PAYLOAD.md) | | |
| 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 | |
| 1. Recover sorting35095/comparator5441 and the remaining5864 ranking assignment/publication branches. | |
| 2. Execute the recipient literal/copy/strlen/formatting boundaries with original text, and verify exact serialized command payloads. | |
| 3. Recover283622 statistic leaderboard selection and its284555/284610 dependencies. | |
| 4. Compose actual279720/279586/285227 and recipient numeric bodies into the existing complete stat/lifecycle callers while retaining unresolved boundaries. | |
| 5. Compose actual protected completion from full health mutation, including null attacker and original low-page reads. | |
| 6. Extend actual health/contact/shared293732 and successful295018 pellet aggregation through all recovered lifecycle state. | |
| 7. Establish owned Rust counters, events, record lifetimes, recipient identities, inventory resets and obituary serialization in a runtime. | |
| 8. Continue original native executable/DLL/library parity and loader ownership. | |
| 9. Connect assets, simulation and world collision to macOS/Linux Bevy runtime validation. | |
| 10. 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. | |