# Runtime Model [Architecture and design home](../../architecture.md) ## Reader Question Which components own definition, compilation, execution, lifecycle, and governance? ## Short Answer `Aether` owns process-level runtime state and `AethericFrame` partitions it into worlds. Within a frame, a `Spellbook` defines and compiles graph structure; a `Conduit` hosts one execution scope; `Meld` resolves objects; `Creations` and `SpellSpace` enforce lifetimes; frame-local DevOps state governs structural mutation and stale-resolution refusal. ![Melder core runtime components](../../../media/architecture/diagrams/rendered/core_runtime_components.svg) {download}`Editable diagram source <../../../media/architecture/diagrams/source/core_runtime_components.mmd>` ## Responsibility Split | Component | Owns | Does not own | | --- | --- | --- | | Aether | Frames and process roots | Application domain behavior | | AethericFrame | World-local registries, posture, control plane | Cross-frame linking | | Spellbook | Bindings, compilation, one root conjure | Arbitrary repeated roots | | Conduit | Runtime scope, contracts, pools, creation front door | Global process state | | Meld | Lookup, validity gates, instance realization | Structural registration | | Creations | Live instances and teardown metadata | Graph definition | | DevOps plane | Mutation admission, dirty roots, validity | Normal read-path resolution | ## Core Flow 1. A spellbook binds objects and their addresses/lifetimes. 2. Conjure compiles and validates structural and resolution artifacts. 3. The resulting conduit becomes the caller's runtime scope. 4. Meld resolves through compiled creation contexts and creation stores. 5. Structural changes mark affected truth dirty so later resolution can refuse or rebuild. ## Why This Design Is Strong Responsibilities are separated by ownership and phase. Definition work does not leak into the hot resolve path, while mutation governance does not charge every reader a transaction cost. ## Tradeoffs The split introduces more named components than a small service locator. In return, each component has a narrower lifecycle and the system can reason about changes, scopes, and failures without one global container object doing everything. ## Where to Go Next - [Ownership and lifetimes](ownership_and_lifetimes.md) - [Scope work](../03_usage/scope_work.md) - [Connect subsystems](../03_usage/connect_subsystems.md) Source entry points: - [`AethericFrame`](https://github.com/Synaptic724/melder/blob/4b364a338debcb1c010d0f6e9dcbbabb62945ba0/src/melder/aether/aetheric_frame/aetheric_frame.py) - [`Spellbook`](https://github.com/Synaptic724/melder/blob/4b364a338debcb1c010d0f6e9dcbbabb62945ba0/src/melder/aether/spellbook/spellbook.py) - [`Conduit`](https://github.com/Synaptic724/melder/blob/4b364a338debcb1c010d0f6e9dcbbabb62945ba0/src/melder/aether/conduit/conduit.py) - [`Meld`](https://github.com/Synaptic724/melder/blob/4b364a338debcb1c010d0f6e9dcbbabb62945ba0/src/melder/aether/conduit/meld/meld.py) --- [Canonical source](https://github.com/Synaptic724/melder/blob/4b364a338debcb1c010d0f6e9dcbbabb62945ba0/architecture_and_design/02_architecture/runtime_model.md) ยท [Full contents](../../../contents.md)