# Dynamic mode and linking conduits **Intermediate.** Everything above works without this. Turn it on when separate parts of your system need to share. By default a world is **static** — bind, conjure, resolve. Turn on dynamic mode and conduits gain the ability to connect to each other at runtime. The mode is decided **once, by the first conjure**, and then inherited: ```python # SETTLEMENT — the first conjure on a fresh world sets the mode, and it locks owner = owner_book.conjure(dynamic=True, name="owner") # INHERITANCE — later books just attach; a plain conjure() inherits the mode. # You never repeat the flag. borrower = borrower_book.conjure(name="borrower") ``` Now link them and share a spell across the boundary: ```python owner.link(borrower) # open a contract between the two borrower.add_spell_to_contract( # ← the BORROWER asks spell_id=spell_id, conduit=owner, # ← from the conduit that OWNS it permissions="create", ) shared = borrower.meld("SharedDirectory") # resolves the owner's spell ``` **Sharing is a pull, never a push.** The conduit that wants the spell asks for it, and names the owner. An owner cannot force its objects into someone else's scope — so nothing arrives in your conduit that you didn't request. ## Runnable examples - [Dynamic linking basics](../examples/intermediate/21-dynamic-linking-basics.md) — Intermediate 21 - [Permissions linking vocabulary](../examples/intermediate/11-permissions-linking-vocabulary.md) — Intermediate 11 [All intermediate examples](../examples/intermediate/index.md) · [Level contents](index.md) · [Full contents](../contents.md) [Canonical page source](https://github.com/Synaptic724/melder/blob/a30a754d0bb61db0b142936010cdb82cffecec6f/README.md)