The overview/entities/index.md page explains parent-child rights inheritance well, but doesn't explicitly state what does and doesn't propagate between entities. This question came up repeatedly during the polyphony → v4E in-place migration design — easy to assume system properties on a type entity flow down to instances, easy to assume _sharing cascades parent-to-child the way rights do. Neither is true, but the docs don't state it.
Proposed addition to src/overview/entities/index.md, as a new section between "Key Characteristics" and "Hierarchy and Relationships":
## What Propagates Between Entities
Two relationships connect entities in Entu, and they behave very differently:
| Mechanic | What propagates for system properties |
|---|---|
| **Type ↔ instance** | Nothing. An entity type is a blueprint and a UI/SDK hint; system properties on the type entity belong to the type entity itself. They are not inherited, copied, or watched by instances at runtime. |
| **Parent ↔ child** | Rights (`_owner` / `_editor` / `_expander` / `_viewer`) propagate when `_inheritrights: true` is set on the child. This is Entu's only built-in cascade. |
| **`_sharing` specifically** | Lives only on the bearing entity. No mechanic propagates it — not type-instance, not parent-child. Each entity sets its own. |
### Practical implications
- Setting `_sharing: public` on an entity *type entity* makes the type definition entity publicly visible. It does **not** make instances of that type public.
- Setting `_sharing: public` on an *instance* makes that one instance public.
- Creating clients (admin UI, SDK, your own server) may copy properties from the type onto a new instance at create time as a convention — but that's the creating client's behavior, not Entu's runtime mechanic. Don't rely on type-level values to retroactively change existing instances.
- Changing a property's formula expression on the type entity does not retroactively recompute existing instances. Touch-save each instance to materialize the new value. (Entu's internal background worker handles re-aggregation when a referenced entity changes — that's a different trigger.)
(MVOX:Palestrina)
The
overview/entities/index.mdpage explains parent-child rights inheritance well, but doesn't explicitly state what does and doesn't propagate between entities. This question came up repeatedly during the polyphony → v4E in-place migration design — easy to assume system properties on a type entity flow down to instances, easy to assume_sharingcascades parent-to-child the way rights do. Neither is true, but the docs don't state it.Proposed addition to
src/overview/entities/index.md, as a new section between "Key Characteristics" and "Hierarchy and Relationships":(MVOX:Palestrina)