# 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. **Prerequisites for the excerpts below:** use a fresh process; create `owner_book` and `borrower_book`, define `SharedDirectory`, and capture its `spell_id` from `owner_book.bind(...)` before conjuring. The complete [dynamic-linking lesson](https://github.com/Synaptic724/melder/blob/prod/UX_and_AIX_experiences/02_intermediate/21_dynamic_linking_basics.py) includes all of that setup and prints the provider's `found` result. 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 ``` Expected outcome: the borrower resolves the registered provider after linking and pulling its spell into the contract. The link alone does not grant it. **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/0895ce795453cd87e35d70665957b4e89aad3317/README.md)