- Promote world::STATE_SCHEMA/COMMIT_SCHEMA to pub(crate) and add
state_schema_compatibility_tag(), derived from STATE_SCHEMA, so mesh.rs and
idunn_health.rs stop hand-copying "ghostlight.world_state.foundation.v0" and
"foundation-v0" as second literals that had already drifted from the v1
kernel schema.
- A CreateWorld patch that declares only entities now fails inside
resolve_declarations with Mismatch::NoDecisionSubject instead of surviving
admission and dying in journal::verify_state_shape as a
CorruptJournal(requires_owner_restart) fault. Collapse the two hardcoded
admits_human literals in prepare_creation and WorldState::genesis onto the
same admits_human predicate the AdmitPatch lane uses (reshaped to take
revision/subjects directly, since the genesis lane resolves before any
WorldState exists).
- Mismatch::UnresolvedDraft and the draft-branch WrongKind now name their
DraftHandle field referent; Mismatch::UnknownCanonical and the
canonical-branch WrongKind now name theirs referrer. WrongKind carries both
referrer: DraftHandle and referent: Ref<EntityId> so every construction site
states which end each field names instead of overloading one `handle`
field with two different meanings.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>