Summary: Define and enforce domain invariants where Properties are entity-type baseline fields independent of ruleset, and SystemProperties are ruleset-specific fields. Ensure this contract is applied consistently in per-world entity type set behavior.
Scope:
- Define domain invariants for Properties vs SystemProperties.
- Ensure world-bound entity type set/system context is immutable after world creation.
- Ensure runtime load-on-world-select applies the world-bound contract.
- Ensure validation distinguishes baseline vs system-specific fields.
- Ensure fallback behavior for unknown system fields protects baseline data.
- Ensure additive evolution preserves backward compatibility.
Acceptance Criteria:
- Properties is explicitly baseline entity-type data independent of system.
- SystemProperties is explicitly system-specific data.
- World assignment of entity type set/system context is immutable.
- Runtime loading and validation honor the split consistently.
- Baseline semantics remain stable across systems for same entity type.
- Documentation includes clear examples (for example population as baseline, proficiency as system-specific).
Out of scope:
- Cross-world import/mapping.
- Full registry authoring UX.
Summary: Define and enforce domain invariants where Properties are entity-type baseline fields independent of ruleset, and SystemProperties are ruleset-specific fields. Ensure this contract is applied consistently in per-world entity type set behavior.
Scope:
Acceptance Criteria:
Out of scope: