Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,8 @@ cargo check --manifest-path Cargo.toml
cargo build --manifest-path Cargo.toml --bin openhuman-core
cargo check --manifest-path app/src-tauri/Cargo.toml # or: pnpm rust:check

# macOS Apple Silicon workaround (llama.cpp)
GGML_NATIVE=OFF cargo check --manifest-path Cargo.toml
# Standard root-crate validation
cargo check --manifest-path Cargo.toml
```

`pnpm core:stage` is a no-op (sidecar removed).
Expand Down Expand Up @@ -444,7 +444,7 @@ What it *did* change: **a lane that relies on default features no longer covers

```bash
# check / build without the voice family (incl. audio_toolkit)
GGML_NATIVE=OFF cargo check --manifest-path Cargo.toml \
cargo check --manifest-path Cargo.toml \
--no-default-features
```

Expand Down Expand Up @@ -568,7 +568,7 @@ When skills are off: the `skills` / `skill_runtime` / `skill_registry` controlle

**Scope note (`flows` deps):** the gate sheds `tinyflows` + its `jaq-core` / `jaq-std` / `jaq-json` JSON-query stack, and `rhai`. It does **not** shed `tinyagents` — 26+ domains consume that crate. The issue-level DoD line reading "sheds the rhai scripting engine" is therefore true only at the **feature** level: `rhai` arrives via `tinyagents/repl`, which the root `Cargo.toml` no longer enables directly — the `flows` feature turns it on. Dropping `flows` drops `repl`, which drops `rhai`; `tinyagents` itself stays. Verify a claimed shed with `cargo tree -i <crate> --no-default-features` (must return nothing) — compiling clean is **not** proof that a dep was dropped.

**Testing gotcha (applies to every gate).** The CI smoke lane runs `cargo check` only — it never runs `cargo test --no-default-features`, so CI stays green while the disabled-build **test** suite is broken. Tests that hard-assert a gated family (`.expect("a flows.* method exists")`, `assert!(full_ns.contains("flows"))`, `group_for_namespace("flows")`, built-in-agent id lists) must be `#[cfg]`-gated in lockstep with the feature. Run `GGML_NATIVE=OFF cargo test --lib --no-default-features core::` locally before pushing any gate change.
**Testing gotcha (applies to every gate).** The CI smoke lane runs `cargo check` only — it never runs `cargo test --no-default-features`, so CI stays green while the disabled-build **test** suite is broken. Tests that hard-assert a gated family (`.expect("a flows.* method exists")`, `assert!(full_ns.contains("flows"))`, `group_for_namespace("flows")`, built-in-agent id lists) must be `#[cfg]`-gated in lockstep with the feature. Run `cargo test --lib --no-default-features core::` locally before pushing any gate change.

#### The `mcp` gate

Expand Down
2 changes: 1 addition & 1 deletion docs/library-benchmarking.md
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ Default-feature builds link every compile-time domain gate (`voice`, `web3`,
recipe. The slim recipe drops everything not required by the harness:

```bash
GGML_NATIVE=OFF cargo build --release \
cargo build --release \
--no-default-features --features rss-bench \
--bin library-profile --bin rss-bench
```
Expand Down
12 changes: 4 additions & 8 deletions docs/library-minimal-recipe.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,19 +15,15 @@ execution.**
Opencompany recipe (production embed — no benchmark/harness code):

```bash
GGML_NATIVE=OFF cargo build --release \
cargo build --release \
--no-default-features --features "skills,flows"
```

- `GGML_NATIVE=OFF` was the Apple-Silicon dev workaround for whisper-rs/llama.
With whisper deleted it only matters for llama; on the x86-64 Linux target it
is unnecessary anyway (the historical always-on whisper build used the
AVX path). Keep it in the command for macOS developers.
- To build the profiling harness against the same recipe, add the dev-only
`rss-bench` feature and the two bench bins:

```bash
GGML_NATIVE=OFF cargo build --release \
cargo build --release \
--no-default-features --features "rss-bench,skills,flows" \
--bin library-profile --bin rss-bench
```
Expand Down Expand Up @@ -161,7 +157,7 @@ The disabled-build test gotcha (AGENTS.md: CI's smoke lane runs `cargo check`
only and never compiles `--no-default-features` test code) was checked directly:

```bash
GGML_NATIVE=OFF cargo test --lib --no-default-features --features "skills,flows" core::
cargo test --lib --no-default-features --features "skills,flows" core::
# result: ok. 660 passed; 0 failed; 1 ignored; 10513 filtered out
```

Expand Down Expand Up @@ -205,7 +201,7 @@ prioritization.
gated — it was **deleted**. `whisper-rs` / `whisper-rs-sys` (and the
`[patch.crates-io] whisper-rs-sys` fork entries in both Cargo worlds) are gone
from every build, not just the slim one, and with them the whisper.cpp + GGML
C++ static link that was the reason for the `GGML_NATIVE=OFF` build dance.
C++ static link that previously required a platform-specific build workaround.
Speech-to-text is a hosted call now, with the engine chosen by
`voice_server.stt_engine` (see the AGENTS.md scope note). The `inference`
feature survives with a narrower job: it gates `cpal` alone, which is what a
Expand Down
2 changes: 1 addition & 1 deletion examples/embed_headless.rs
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
//! Run with:
//!
//! ```bash
//! GGML_NATIVE=OFF cargo run --example embed_headless
//! cargo run --example embed_headless
//! ```
//!
//! To instead expose the core over HTTP for a single-core cloud deployment,
Expand Down
2 changes: 1 addition & 1 deletion examples/embed_kernel.rs
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
//! Run with:
//!
//! ```bash
//! GGML_NATIVE=OFF cargo run --example embed_kernel
//! cargo run --example embed_kernel
//! ```

use openhuman_core::{CoreBuilder, DomainSet, HostKind, ServiceSet};
Expand Down
Loading