# soul-base
Data contract primitives for the Soul platform.
Provides foundational types shared across the Soul ecosystem: identifiers,
subjects, scopes, consent, envelopes, evidence, ownership, tenant context,
time helpers, tracing, and common validation utilities.
## Add to your project
```toml
[dependencies]
soul-base = "0.1"
```
## Modules
| `actor` | Actor identity and roles |
| `envelope` | Message envelope with payload, headers, metadata |
| `evidence` | Evidence records |
| `id` | ID generation and parsing |
| `ownership` | Ownership and access primitives |
| `scope` | Scopes and consent |
| `subject` | Subject/principal model |
| `tenant` | Tenant context |
| `time` | Time helpers |
| `trace` | Tracing context |
| `traits` | Shared trait definitions |
| `validate` | Common validation helpers |
## Features
- `schema` — enables `schemars`-based JSON Schema generation
- `serde_borrow` — opt-in borrow-style serde impls
## License
MIT