Home - GuitarAlchemist/ix GitHub Wiki
Part of the GuitarAlchemist ecosystem, governed by Demerzel.
Read this first:
docs/MANUAL.md— the canonical user manual. Install, tool inventory, pipeline format, governance integration, extension guide, troubleshooting. Start there.
A Rust workspace of composable ML/math algorithms and AI governance, designed to be exposed as Claude Code skills via an MCP server and CLI. Part of the GuitarAlchemist ecosystem (ix + tars + ga + Demerzel).
For industrial engineering and robotics, IX is an offline/advisory co-processor. It can analyze telemetry, run reproducible optimization experiments, rank planner parameters, and orchestrate external engineering tools. It is not a CAD kernel, FEA/CFD solver, collision engine, complete digital twin, hard-real-time controller, safety PLC, consensus service, or authoritative distributed lock. See ADR-0005.
81 crates. 96 MCP tools. 80+ Claude Code skills. Pure Rust. No external ML frameworks.
# Build everything
cargo build --workspace
# Run tests
cargo test --workspace
# Run the CLI
cargo run -p ix-skill -- optimize --algo pso --function sphere --dim 10
# Build the optional local-only text embedding adapter
cargo build -p ix-skill --features embeddings --bin ix-embed
# Start the MCP server (for Claude Code integration)
cargo run -p ix-agentix-embed accepts an ix-local-embedding-request/1 JSON document on stdin (or
from --input <path>) and emits ix-local-embedding-response/1. The caller must
provide --model-cache <path> containing a complete cached
Xenova/bge-base-en-v1.5 revision. The adapter verifies every required cache
object before inference and forces any cache-miss fallback to loopback, so it
never downloads a model or calls a paid provider implicitly.
Rust workspace (81 crates) implementing foundational ML/math algorithms and AI governance as composable crates, exposed via MCP server (ix-agent) and CLI (ix-skill). Part of the GuitarAlchemist ecosystem (ix + tars + ga + Demerzel).
Crate map: see README.md for the full list of 81 crates grouped by domain.
cargo build --workspace
cargo test --workspace
cargo clippy --workspace -- -D warningsPre-PR gate — one command, actionable failures (ix#185):
cargo run -p ix-skill --bin ix -- doctor # fast repo-specific surface checks
cargo run -p ix-skill --bin ix -- doctor --full # plus the CI clippy + test invocationIt checks registry-snapshot drift (no hand-typed tool counts), orphan public
traits, and the governance/state environment. Per-change-type checklists —
MCP skill, DuckDB UDF, public API, @ai: invariant — live in
docs/CHECKLISTS.md (FR).
Repo harness verification:
pwsh scripts/verify.ps1MSRV: Rust 1.80+ (due to wgpu 28).
- Pure Rust; no external ML frameworks except
wgpufor GPU compute. - CPU algorithms use
f64andndarray::Array{1,2}<f64>; GPU usesf32via WGPU shaders. - Each crate defines traits (
Regressor,Classifier,Clusterer,Optimizer, etc.). - Builder pattern for algorithm configuration; seeded RNG for reproducibility.
- Governance: all agent actions subject to Demerzel constitution (see
governance/demerzel). - Before adding a new graph primitive, check
docs/guides/graph-theory-in-ix.md— IX already has 10 graph-theory modules. - Do NOT add
petgraph/daggy/graph-rsas new dependencies. Useix-graph,ix-pipeline::dag::Dag<N>,ix-search, orix-topo. - Cycles + concurrency + contention (locks, worker pools, "can these two lanes wedge?") are
ix-petri, not a DAG —Dag::add_edgerejects the cycle. Readdocs/guides/petri-nets-in-ix.mdbefore modelling one.
MCP peers in .mcp.json: ix (Rust, algorithms + governance), tars (F#, grammar + metacognition), ga (C#, music theory), sentrux (Rust, realtime structural-quality sensor), hari (Rust, belief-state substrate — batch tools hari_query_belief / hari_snapshot / hari_diff / hari_record_observation / hari_consensus plus live Phase-6 multiplexer hari_session_open / hari_session_event / hari_session_close). Capability registry: governance/demerzel/schemas/capability-registry.json.
Realtime vs offline code analysis boundary. Sentrux owns realtime structural quality (live treemap, regression gate, file-watcher feedback for in-progress agent edits). The ix-code-* crates own offline catalog work (large-corpus AST analysis, code-smell mining, code catalog snapshots that feed governance reports). When in doubt: if it's "what changed in the last 30 seconds," call sentrux; if it's "snapshot the whole codebase for the daily quality trend," use ix-code-analyze.