Networking gate: fake-grid integration and observability audit #58

Closed
opened 2026-08-08 08:19:18 +00:00 by hugo · 1 comment
Owner

Objective

Complete the networking milestone with an offline fake-grid scenario and full lifecycle/coverage audit.

Deliverables

  • Drive login, seed caps, UDP connect, event queue, packets, region crossing/reconnect, downloads, cancellation, and logout end to end.
  • Add sanitized tracing/statistics assertions and task-leak detection.
  • Audit backpressure, timeouts, resource limits, docs, and remaining networking shims.

Validation

  • All networking/client tests and the fake-grid scenario pass.
  • No live grid is required in CI.
  • Workspace gates pass and owned coverage contains no unimplemented body.

Prerequisite

Wire codegen and the foundational implementation milestones are complete; the fixed API/test gates remain authoritative.

Project constraints

  • Native Rust networking only; no C# bridge, helper service, subprocess, or fallback.
  • Keep mapped APIs and translated assertions fixed, use bounded resources, and never log secrets.
  • Validate offline with deterministic fake servers before live-grid use and update docs/coverage evidence.
## Objective Complete the networking milestone with an offline fake-grid scenario and full lifecycle/coverage audit. ## Deliverables - Drive login, seed caps, UDP connect, event queue, packets, region crossing/reconnect, downloads, cancellation, and logout end to end. - Add sanitized tracing/statistics assertions and task-leak detection. - Audit backpressure, timeouts, resource limits, docs, and remaining networking shims. ## Validation - All networking/client tests and the fake-grid scenario pass. - No live grid is required in CI. - Workspace gates pass and owned coverage contains no unimplemented body. ## Prerequisite Wire codegen and the foundational implementation milestones are complete; the fixed API/test gates remain authoritative. ## Project constraints - Native Rust networking only; no C# bridge, helper service, subprocess, or fallback. - Keep mapped APIs and translated assertions fixed, use bounded resources, and never log secrets. - Validate offline with deterministic fake servers before live-grid use and update docs/coverage evidence.
hugo added this to the 08 - Networking and client lifecycle milestone 2026-08-08 08:19:18 +00:00
hugo added the enhancement label 2026-08-08 08:19:18 +00:00
Author
Owner

Implemented and verified in commit c8b2317 (Complete networking integration gate (#58)).

Implementation:

  • Added a native, thread-safe Rust SimulatorSimStats implementation for the complete mapped C# surface, including atomic counters, C# midpoint rounding for server statistics, ping/pong lag accounting, and sanitized aggregate-only diagnostics.
  • Wired real UDP receive/send/resend/drop accounting and SimStats packet handling into Simulator.
  • Added payload-free DownloadManager lifecycle observability.
  • Added a deterministic offline fake-grid scenario covering login, seed CAPS, a real UDP circuit, event-queue region enablement, packet flow, region handoff, capability download, cancellation, logout, secret redaction, and worker/socket cleanup.
  • Added tools/check_milestone_08.py to audit owned networking sources, native mappings, fake-grid evidence, and bounded queue/retry/payload policies; integrated it into the existing Ubuntu-only codegen workflow.
  • Updated README, networking/CAPS documentation, and generated coverage (79 native types / 14,127 native members).

Verification:

  • cargo test -p libremetaverse --test udp_transport --locked -j1: 12/12
  • cargo test -p libremetaverse --test caps_http --locked -j1: 11/11
  • cargo test -p libremetaverse --test network_manager --locked -j1: 25/25
  • translated offline networking compatibility filters: 4/4
  • generated wire/catalog and compatibility gates: all passed
  • codegen tests, deterministic output, release-artifact audit, API mapping/coverage/compile fixture: all passed
  • strict Clippy for codegen and libremetaverse, rustfmt, rustdoc with warnings denied: passed
  • cargo check --workspace --all-targets --locked -j1: passed
  • milestone 08 owned-shim/bounds audit: passed

The unfiltered crate unit command also confirms 71 passing tests but still encounters 70 pre-created failure-only shims assigned to later appearance/assets/avatar/inventory/world milestones; no milestone 08 networking-owned test fails.

Implemented and verified in commit `c8b2317` (`Complete networking integration gate (#58)`). Implementation: - Added a native, thread-safe Rust `SimulatorSimStats` implementation for the complete mapped C# surface, including atomic counters, C# midpoint rounding for server statistics, ping/pong lag accounting, and sanitized aggregate-only diagnostics. - Wired real UDP receive/send/resend/drop accounting and `SimStats` packet handling into `Simulator`. - Added payload-free `DownloadManager` lifecycle observability. - Added a deterministic offline fake-grid scenario covering login, seed CAPS, a real UDP circuit, event-queue region enablement, packet flow, region handoff, capability download, cancellation, logout, secret redaction, and worker/socket cleanup. - Added `tools/check_milestone_08.py` to audit owned networking sources, native mappings, fake-grid evidence, and bounded queue/retry/payload policies; integrated it into the existing Ubuntu-only codegen workflow. - Updated README, networking/CAPS documentation, and generated coverage (79 native types / 14,127 native members). Verification: - `cargo test -p libremetaverse --test udp_transport --locked -j1`: 12/12 - `cargo test -p libremetaverse --test caps_http --locked -j1`: 11/11 - `cargo test -p libremetaverse --test network_manager --locked -j1`: 25/25 - translated offline networking compatibility filters: 4/4 - generated wire/catalog and compatibility gates: all passed - codegen tests, deterministic output, release-artifact audit, API mapping/coverage/compile fixture: all passed - strict Clippy for codegen and libremetaverse, rustfmt, rustdoc with warnings denied: passed - `cargo check --workspace --all-targets --locked -j1`: passed - milestone 08 owned-shim/bounds audit: passed The unfiltered crate unit command also confirms 71 passing tests but still encounters 70 pre-created failure-only shims assigned to later appearance/assets/avatar/inventory/world milestones; no milestone 08 networking-owned test fails.
hugo closed this issue 2026-08-09 19:45:55 +00:00
Sign in to join this conversation.