# MRVB API Types

**Public API boundary for Multi-Rail Verification Bus**

This crate contains ONLY the public types that external consumers (like UVB) can depend on.

## Design Principle

- **This is the contract** between MRVB and its consumers
- NO internal implementation details should leak through this crate
- Changes to types here are breaking changes
- Core MRVB logic lives in `mrvb-core` and is NOT exposed

## Usage in UVB

```rust
// UVB can depend on mrvb-api-types
use mrvb_api_types::{
    VerificationRequest,
    VerificationResponse,
    RailKind,
};

// UVB should NOT depend on mrvb-core directly!
```

## Split Plan

When MRVB is extracted to its own repo:

- This crate becomes a published crate (crates.io or private registry)
- UVB depends on `mrvb-api-types` as an external dependency
- Internal MRVB crates stay private
