mirror of
https://github.com/ruvnet/RuView
synced 2026-06-09 10:13:17 +00:00
c7ddb2d7d1
* feat(worldmodel): ADR-147 — OccWorld integration, wifi-densepose-worldmodel v0.3.0 (#854) - New crate `wifi-densepose-worldmodel` v0.3.0: async Unix-socket bridge to OccWorld Python inference server; `OccWorldBridge`, `OccupancyGrid3D`, `TrajectoryPrior`, `worldgraph_to_occupancy` encoder (14/14 tests pass) - `scripts/occworld_server.py`: long-lived Python inference server for OccWorld TransVQVAE (72.4M params); applies API-bug patches; dummy mode for CI testing; graceful SIGTERM shutdown - `pose_tracker.rs`: `trajectory_prior` soft-blend injection (80/20 Kalman/prior) on torso keypoint; `set_trajectory_prior()` public method - CI: added `Run ADR-147 worldmodel tests` step - ADR-147: accepted — OccWorld primary (209 ms, 3.37 GB VRAM, RTX 5080); Cosmos deferred to ADR-148 (32.54 GB VRAM exceeds hardware) - Benchmark proof: 208.7 ms P50, 3.37 GB peak VRAM, 12.1 GB headroom Co-Authored-By: claude-flow <ruv@ruv.net> * chore: update ruvector.db state Co-Authored-By: claude-flow <ruv@ruv.net> * chore: ruvector.db sync Co-Authored-By: claude-flow <ruv@ruv.net> * fix(cli): add missing min_frames field to CalibrateArgs test helper E0063 in calibrate.rs:448 — CalibrateArgs gained min_frames in ADR-135 but the default_args() test helper was not updated. min_frames=0 means 'use tier default', matching the existing runtime behaviour. Co-Authored-By: claude-flow <ruv@ruv.net>
41 lines
1.5 KiB
Rust
41 lines
1.5 KiB
Rust
//! Error types for the OccWorld world-model bridge (ADR-147).
|
|
|
|
use thiserror::Error;
|
|
|
|
/// All errors that can be returned by the OccWorld bridge.
|
|
#[derive(Debug, Error)]
|
|
pub enum WorldModelError {
|
|
/// Could not connect to the Unix-domain socket served by the Python
|
|
/// OccWorld inference process.
|
|
#[error("could not connect to OccWorld socket at `{path}`: {source}")]
|
|
SocketConnect {
|
|
/// The socket path that was attempted.
|
|
path: String,
|
|
/// The underlying I/O error.
|
|
source: std::io::Error,
|
|
},
|
|
|
|
/// A request or response exceeded the 30-second wall-clock deadline.
|
|
#[error("OccWorld inference timed out after {timeout_s}s")]
|
|
Timeout {
|
|
/// The configured timeout in seconds.
|
|
timeout_s: u64,
|
|
},
|
|
|
|
/// The JSON payload received from the server could not be decoded, or the
|
|
/// payload we tried to send could not be encoded.
|
|
#[error("JSON (de)serialisation error: {0}")]
|
|
SerdeJson(#[from] serde_json::Error),
|
|
|
|
/// The server sent a response that violates the newline-delimited JSON
|
|
/// protocol (e.g. an unexpected EOF before the newline delimiter, or an
|
|
/// oversized frame that exceeded the read buffer limit).
|
|
#[error("protocol error: {0}")]
|
|
Protocol(String),
|
|
|
|
/// The OccWorld inference server reported that GPU VRAM is unavailable
|
|
/// (out-of-memory condition on the device side).
|
|
#[error("OccWorld server reports VRAM unavailable: {0}")]
|
|
VramUnavailable(String),
|
|
}
|