Behind jackin❯ — crates
jackin-manifest
Role manifest (jackin.role.toml) loading, validation, and migration. Owns the contract a role repository declares and the code that turns a role repo into a validated, current-shape manifest.
What this crate owns
- Manifest loading and parsing (
manifest,repo,repo_contract). - Validation against the role-manifest schema (
validate). - Versioned manifest migrations (
migrations) so older role repos keep working.
Architecture tier and allowed dependencies
L0 domain. Allowed workspace dependencies: jackin-core, jackin-config. No infrastructure or presentation dependencies — manifest handling stays a pure domain concern.
Structure
| Module | Owns | Tests |
|---|---|---|
| crate root, re-exports | — |
· | manifest types + loading | |
· | role-repo contract + access | |
· | repo contract | |
· | schema validation | |
· | versioned migrations | |
Public API
Validated manifest types and the load/validate/migrate entry points consumed by jackin-runtime, jackin-image, and jackin-instance. Migrations are idempotent and migrated manifests must re-validate.
How to verify
cargo nextest run -p jackin-manifest
cargo clippy -p jackin-manifest --all-targets -- -D warnings