packstruct docs

The packstruct spec - version 1

The normative document lives in the repo at spec/SPEC.md - this page mirrors its frame:

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