# Build System Coordination Specification
Rivox coordinates multi-ecosystem builds across Python, Rust, and Node monorepos.
---
## Workspace Layout & Manifest
Projects configure ecosystem paths and cross-ecosystem build edges in `rivox.toml`:
```toml
[project]
name = "my-polyglot-monorepo"
version = "1.0.0"
[ecosystems.python]
path = "services/api"
tool = "uv"
[ecosystems.rust]
path = "services/core"
tool = "cargo"
[ecosystems.node]
path = "services/web"
tool = "pnpm"
[[cross_refs]]
consumer = "python:services/api"
dependency = "rust:services/core"
type = "native_extension"
```
## Resolution Phase
During `rivox build`, Rivox invokes native tools in offline or lock-only mode:
- `uv lock` in `services/api`
- `cargo generate-lockfile` in `services/core`
- `pnpm install --lockfile-only` in `services/web`
Rivox never alters native lockfiles; it reads their outputs and records their SHA-256 digests in `rivox.lock`.
See also: [configuration.md](configuration.md), [cli.md](cli.md).