# Rho V1 Architecture

This directory defines the target architecture for a simplified rebuild of Rho.

The main idea is to turn Rho into a set of small Rust-first CLI tools that can be:

- installed together as one product
- installed one at a time for narrower use cases
- composed through stable file protocols
- extended through plugins and middleware

The proposed top-level commands are:

- `rho id`
- `rho crypto`
- `rho auth`
- `rho repo`
- `rho tools`
- `rho messages`
- `rho agent`
- `rho run`
- `rho data`
- `rho doctor`
- `rho middleware`
- `rho telegram`

These docs intentionally use the old BioVault / SyftBox / Beaver work only as design input.
They do not assume that Rho must preserve the old repo graph or runtime shape.

## Read Order

- [overview.md](/Users/madhavajay/dev/rho/main/docs/architecture/overview.md)
- [principles.md](/Users/madhavajay/dev/rho/main/docs/architecture/principles.md)
- [data-structures.md](/Users/madhavajay/dev/rho/main/docs/architecture/data-structures.md)
- [url-schema.md](/Users/madhavajay/dev/rho/main/docs/architecture/url-schema.md)
- [v1-scope.md](/Users/madhavajay/dev/rho/main/docs/architecture/v1-scope.md)
- [actions.md](/Users/madhavajay/dev/rho/main/docs/architecture/actions.md)

Note: the shared model currently lives in [data-structures.md](/Users/madhavajay/dev/rho/main/docs/architecture/data-structures.md) under `# Shared Model`.

Command docs:

- [rho-id.md](/Users/madhavajay/dev/rho/main/docs/architecture/rho-id.md)
- [rho-crypto.md](/Users/madhavajay/dev/rho/main/docs/architecture/rho-crypto.md)
- [rho-auth.md](/Users/madhavajay/dev/rho/main/docs/architecture/rho-auth.md)
- [rho-repo.md](/Users/madhavajay/dev/rho/main/docs/architecture/rho-repo.md)
- [rho-tools.md](/Users/madhavajay/dev/rho/main/docs/architecture/rho-tools.md)
- [rho-messages.md](/Users/madhavajay/dev/rho/main/docs/architecture/rho-messages.md)
- [rho-agent.md](/Users/madhavajay/dev/rho/main/docs/architecture/rho-agent.md)
- [rho-run.md](/Users/madhavajay/dev/rho/main/docs/architecture/rho-run.md)
- [rho-data.md](/Users/madhavajay/dev/rho/main/docs/architecture/rho-data.md)
- [rho-doctor.md](/Users/madhavajay/dev/rho/main/docs/architecture/rho-doctor.md)
- [rho-middleware.md](/Users/madhavajay/dev/rho/main/docs/architecture/rho-middleware.md)
- [rho-audit.md](/Users/madhavajay/dev/rho/main/docs/architecture/rho-audit.md)
- [rho-telegram.md](/Users/madhavajay/dev/rho/main/docs/architecture/rho-telegram.md)

## Design Goal

Rho v1 should preserve the right ideas from the old system:

- local-first collaboration
- explicit trust boundaries
- file-backed coordination
- mock/private data separation
- approval-mediated protected actions

But it should simplify aggressively:

- fewer concepts
- fewer moving parts
- fewer transport modes
- fewer hidden path conventions
- fewer oversized runtimes
