The packstruct spec - version 1
The normative document lives in the repo at spec/SPEC.md - this page mirrors its frame:
- Directory contract:
packs/public/<name>/=pack.json+ entry file - Manifest fields (frozen for v1) - crashtest’s production reality,
plus the three host-owned acknowledged keys (
env,plugins,package) - Entry profiles:
scenario(crashtest) /check(poststruct), declared by the host - Lifecycle norms: explicit loads, slug-namespaced ids, self-audit fixtures
- Errors: instant, nameable, never a deep stack trace
- Versioning: additive-first; removals are major bumps with migration notes
- Conformance tooling:
packstruct lint+ theaudit-conformanceharness (bundled verdict-claiming cases verify a HOST loader honors the spec - see the harness page)