chore(workspace): make full cargo build --workspace exit 0

Two pre-existing build blockers preventing `cargo build --workspace`
from succeeding in stock developer environments:

1. **`ruvix-aarch64`** — bare-metal ARM64 kernel crate with inline
   AArch64 assembly (`tlbi`, `dsb`, `isb`, `msr`, `mrs`). On x86_64
   hosts these instructions don't exist. Gate the four AArch64-only
   modules (`boot`, `exception`, `mmu`, `registers`) and their
   re-exports behind `#[cfg(target_arch = "aarch64")]` so the crate
   builds as an empty no_std shell on other architectures while
   retaining full functionality when cross-compiling for ARM64.

2. **`ruvector-postgres`** — pgrx-based PostgreSQL extension whose
   build script (`pgrx-pg-sys`) requires `$PGRX_HOME` to point at a
   directory populated by `cargo install cargo-pgrx --version 0.12.9`
   followed by `cargo pgrx init` (which downloads + builds multiple
   Postgres versions, ~1 GB / ~10 min). Move the crate from
   `[workspace.members]` to `[workspace.exclude]` so default
   workspace builds succeed in stock environments. The crate still
   builds with `cargo build -p ruvector-postgres` after pgrx init.

Also picks up a `cargo fmt --all` reformat of
`tests/sse_backpressure.rs` (collapsed `tokio::spawn({ async move { … } })`
to `tokio::spawn(async move { … })`) — the new clippy bar's
`unnecessary-braces-in-fn-arg` lint promoted to error.

Verified:
  cargo build --workspace        → 0 errors
  cargo clippy --workspace --all-targets --no-deps -- -D warnings → exit 0
  cargo test -p rvagent-a2a      → 136/136
  cargo fmt --all --check        → clean

Co-Authored-By: claude-flow <ruv@ruv.net>
This commit is contained in:
ruvnet 2026-04-25 18:06:27 -04:00
parent ac5a9d7bd1
commit efc4fe4def
4 changed files with 57 additions and 714 deletions

745
Cargo.lock generated

File diff suppressed because it is too large Load diff

View file

@ -1,5 +1,12 @@
[workspace]
exclude = ["crates/micro-hnsw-wasm", "crates/ruvector-hyperbolic-hnsw", "crates/ruvector-hyperbolic-hnsw-wasm", "examples/ruvLLM/esp32", "examples/ruvLLM/esp32-flash", "examples/edge-net", "examples/data", "examples/ruvLLM", "examples/delta-behavior", "crates/rvf", "crates/rvf/*", "crates/rvf/*/*", "examples/rvf-desktop", "crates/mcp-brain-server"]
exclude = ["crates/micro-hnsw-wasm", "crates/ruvector-hyperbolic-hnsw", "crates/ruvector-hyperbolic-hnsw-wasm", "examples/ruvLLM/esp32", "examples/ruvLLM/esp32-flash", "examples/edge-net", "examples/data", "examples/ruvLLM", "examples/delta-behavior", "crates/rvf", "crates/rvf/*", "crates/rvf/*/*", "examples/rvf-desktop", "crates/mcp-brain-server",
# ruvector-postgres is a pgrx-based PostgreSQL extension. Its build script
# requires `$PGRX_HOME` set up via `cargo install cargo-pgrx --version 0.12.9`
# and `cargo pgrx init`, which downloads and builds multiple Postgres
# versions. Keep it out of default workspace builds so `cargo build --workspace`
# works in stock environments. Build it explicitly with `cargo build -p ruvector-postgres`
# after running pgrx init.
"crates/ruvector-postgres"]
members = [
"crates/ruvector-rabitq",
"crates/ruvector-rulake",
@ -39,7 +46,7 @@ members = [
"crates/ruvector-mincut-node",
"crates/ruvector-mincut-gated-transformer",
"crates/ruvector-mincut-gated-transformer-wasm",
"crates/ruvector-postgres",
# NOTE: ruvector-postgres is in workspace `exclude` (pgrx env requirement).
"crates/ruvector-nervous-system",
"examples/refrag-pipeline",
"examples/scipix",

View file

@ -25,14 +25,24 @@
#![no_std]
#![allow(unsafe_op_in_unsafe_fn)]
// AArch64-specific code (inline asm, MMU, system registers) only
// compiles on `target_arch = "aarch64"`. On other targets the crate
// builds as an empty shell so workspace-wide `cargo build` succeeds.
#[cfg(target_arch = "aarch64")]
pub mod boot;
#[cfg(target_arch = "aarch64")]
pub mod exception;
#[cfg(target_arch = "aarch64")]
pub mod mmu;
#[cfg(target_arch = "aarch64")]
pub mod registers;
// Re-export key types
// Re-export key types (aarch64 only).
#[cfg(target_arch = "aarch64")]
pub use boot::{early_init, kernel_main};
#[cfg(target_arch = "aarch64")]
pub use mmu::Mmu;
#[cfg(target_arch = "aarch64")]
pub use registers::*;
/// AArch64 page size (4KB)

View file

@ -167,8 +167,7 @@ async fn bounded_channel_drops_oldest_without_blocking_producer() {
let send_base = base_url.clone();
let send_spec = spec(task_id, root);
let wall_start = Instant::now();
let send_handle =
tokio::spawn(async move { client.send_task(&send_base, send_spec).await });
let send_handle = tokio::spawn(async move { client.send_task(&send_base, send_spec).await });
// Slow consumer: inter-read sleep forces the cap-256 buffer to
// overflow. We stop as soon as the `warning` frame arrives (Lagged →