Outcome
Load only versioned, bounded artifacts produced by content-toolkit, validate the entire package before publication, and expose an immutable stable-ID catalog to simulation domains.
Scope and invariants
- Define package/version/capability negotiation, content and resource digests, dependency ordering, and atomic catalog replacement.
- Validate magic/version, lengths, nesting, counts, string sizes, references, uniqueness, coordinate bounds, and semantic invariants before allocating unbounded data or touching live state.
- Keep parsing and validation in an adapter; gameplay packages consume typed immutable views, never legacy source syntax or toolkit internals.
- Support deterministic diagnostics with artifact/path/span identity but no partial live application.
- Define hot-reload policy explicitly: reject it initially or use a generation boundary with safe entity/reference behavior.
Acceptance criteria
- Golden artifacts and malformed corpus are shared with
content-toolkit; Go independently decodes every boundary case.
- Fuzzing covers truncation, oversize, duplicate IDs, bad references, unknown required features, corrupt digests, and allocation pressure.
- A package either becomes the complete active catalog or leaves the prior catalog untouched.
- Production startup never imports Python, reads legacy Flex/source formats, or invokes a compiler.
- Catalog lookup and load-time budgets are measured on the whole authored corpus.
Dependencies and parallelization
Depends on content-toolkit artifact specifications and the provenance policy. Simulation, persistence, and protocol work can use a small generated fixture before whole-corpus compilation exists.
Independent implementation
New code and tests are MIT-licensed independent work. Preserve public behavior and issue-level design choices, but do not copy or mechanically translate GPL server/Python implementation or tests. Mixed-license content remains external data with its own notices.
Outcome
Load only versioned, bounded artifacts produced by
content-toolkit, validate the entire package before publication, and expose an immutable stable-ID catalog to simulation domains.Scope and invariants
Acceptance criteria
content-toolkit; Go independently decodes every boundary case.Dependencies and parallelization
Depends on
content-toolkitartifact specifications and the provenance policy. Simulation, persistence, and protocol work can use a small generated fixture before whole-corpus compilation exists.Independent implementation
New code and tests are MIT-licensed independent work. Preserve public behavior and issue-level design choices, but do not copy or mechanically translate GPL server/Python implementation or tests. Mixed-license content remains external data with its own notices.