The Logic that owns the entity. Required (the constructor throws without it) and transient — held in memory, never written to JSON.
OptionalscopeThe call site's declared bindings. When supplied, an identifier the scope does not declare is rejected at construction; when omitted, any identifier is accepted and resolved from the evaluation context.
Construction/revival options shared by every SohlEntity, and the base each subclass's own
Optionsextends. Carries the transient owning Logic — supplied at construction and again on revival, never serialized.