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

ModuleOwnsTests
lib.rscrate root, re-exports
manifest.rs · manifest/manifest types + loadingtests.rs
repo.rs · repo/role-repo contract + accesstests.rs
repo_contract.rs · repo_contract/repo contracttests.rs
validate.rs · validate/schema validationtests.rs
migrations.rs · migrations/versioned migrationstests.rs

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

On this page