# Connect Independently Owned Subsystems [Architecture and design home](../../architecture.md) ## Reader Question How can two subsystems keep separate registries while sharing selected capabilities? ## Short Answer Give each subsystem its own spellbook and conduit, enable dynamic posture, link the conduits, and let the consumer pull selected spells across the contract boundary. A `SpellContract` can leave a dependency socket intentionally unresolved until that link provides its provider. ![Link, contract, validate, and meld sequence](../../../media/architecture/diagrams/rendered/link_contract_meld.svg) {download}`Editable diagram source <../../../media/architecture/diagrams/source/link_contract_meld.mmd>` ## Representative Shape ```python platform = platform_book.conjure(dynamic=True, name="platform") services = services_book.conjure(name="services") platform.link(services) services.add_spell_to_contract( spell_id=config_id, conduit=platform, permissions="create", ) services.validate_contracts_and_define() service = services.meld("Service") ``` The provider keeps ownership. The borrower receives only the contracted visibility and permissions it requested. Links remain inside one aetheric frame. ## Why This Design Is Strong - Subsystems compile, configure, and clean up independently. - Sharing is explicit and consumer-pulled. - Permission and contract state remain inspectable. - Late binding connects categories without forcing provider imports into consumers. ## Tradeoffs Dynamic composition requires ordering: both conduits exist, the link is established, the consumer requests providers, and contract validation runs before use. That choreography buys an explicit boundary instead of a single registry where every subsystem sees everything. ## Where to Go Next - [Isolate worlds](isolate_worlds.md) for boundaries that must not link. - [Runtime model](../02_architecture/runtime_model.md) for ownership details. Evidence: - [Dynamic live-sim bootstrap](https://github.com/Synaptic724/melder/blob/0895ce795453cd87e35d70665957b4e89aad3317/tests/integration/melder/live_sim/bootstrap.py) - [Linked application integration](https://github.com/Synaptic724/melder/blob/0895ce795453cd87e35d70665957b4e89aad3317/tests/integration/melder/live_sim/test_live_sim_dynamic.py) --- [Canonical source](https://github.com/Synaptic724/melder/blob/0895ce795453cd87e35d70665957b4e89aad3317/architecture_and_design/03_usage/connect_subsystems.md) ยท [Full contents](../../../contents.md)