On this page
🟡 Intermediate examples
37 saved lessons. Follow their order or choose a topic that answers your question.
Open the Intermediate guide · All examples
- 🟡 Intermediate · 01
Scan bind decorator
Declarative binding - tag classes where they live with @md.scan_bind, then register the whole module in one scan() call. The decorator stores intent only; nothing binds until scan time.
Registration - 🟡 Intermediate · 02
Spellbinder full chain
Every link in the fluent chain, one binder reused across registrations: existence (explicit and shorthand), permissions, spellframe grouping, binding names, and constructor kwargs.
RegistrationConnections - 🟡 Intermediate · 03
Registration hooks
Hooks ride the registration, not the call site - pre, activation, and post hooks attach through the fluent chain and fire around instance creation. The printed order IS the documentation;…
Registration - 🟡 Intermediate · 04
Spellspace scoped resolution
Spellspaces are entered resolution rooms - one conduit can open many, and unique_per_spell_space pins one instance per room: stable inside a space, separate across spaces.
- 🟡 Intermediate · 05
Existence unique per conduit lineage
unique_per_conduit_lineage - one instance per FAMILY: the root and every lesser descendant share the same object. A second family would need its own book (one book conjures ONE root -…
- 🟡 Intermediate · 06
Spell metadata kwargs
Spell metadata via bind kwargs (landed 2026-07-19): any extra keyword on bind() threads into the Spell's own kwargs channel and lands on spell.metadata - tag your registrations with…
RegistrationAgent rooms & codegenConcurrency - 🟡 Intermediate · 07
Lesser conduits child scopes
Lesser conduits - lightweight CHILD SCOPES grown from a root with create_lesser_conduit(). A lesser conduit rides its root's world: it resolves the same spells without being a second root…
ResolutionLifetimes & cleanup - 🟡 Intermediate · 08
Spell override construction
Two honest ways to construct with configuration: a factory that closes over its config (bind-site), and override at meld - a FLAT dict of keyword overrides for the melded spell's OWN…
RegistrationResolutionConfigurationResearch & change - 🟡 Intermediate · 09
Permissions block sharing
block, the third permission - declared today, felt when sharing and contracting exist (intermediate+). A beginner learns the word and that the book accepts it.
Connections - 🟡 Intermediate · 10
Spellbinder fluent basics
The fluent registration hand - SpellBinder reads like a sentence: bind(X).as_unique().named("primary").finalize(). finalize() returns the spell id string and resets the binder for the next…
Registration - 🟡 Intermediate · 11
Permissions linking vocabulary
Permissions are LINKING vocabulary (owner ruling): read / create / block govern what LINKED conduits may do with your bindings in dynamic worlds - they are not a local-meld concept at all.…
RegistrationResolutionConnections - 🟡 Intermediate · 12
Bind lambda spells
Even a lambda is a spell - it MUST carry a binding_name (the law the runtime enforces); melds address it by (frame, name) because binding_name alone is never an address. Callable = unique.
RegistrationResolution - 🟡 Intermediate · 13
Spell ids and lookup
bind() answers with the spell's id string - keep it, and the book will hand the living Spell record back on request.
Registration - 🟡 Intermediate · 14
Introspect the book
The book is inspectable - the spells mapping hands back every registration as SpellIndex -> Spell, the system's two domain nouns, straight off the root namespace.
RegistrationInspection - 🟡 Intermediate · 15
Constructor di by annotation
THE DI heart - annotate a constructor parameter with a bound class and melder injects it. Dependencies resolve recursively; you meld the top and the graph assembles itself.
Resolution - 🟡 Intermediate · 16
Spellmap defaults
SpellMap - the declarative DI placeholder. As a constructor DEFAULT it declares exactly which spell fills the parameter, including frame + binding_name targeting. Exactly-one law: ambiguous…
RegistrationResolution - 🟡 Intermediate · 17
Collection di
Collection DI - annotate list[Shape] and receive EVERY bound implementation in registration order. The plugin pattern in one annotation; zero matches is a legal empty list.
RegistrationResolution - 🟡 Intermediate · 18
Live creation probe
"Is it already alive?" without creating it - has_live_creation mirrors meld's exact lookup but stops before construction. Doc-canon: the no-create probe for agents and diagnostics.
ResolutionInspectionAgent rooms & codegen - 🟡 Intermediate · 19
Spellbook configuration basics
SpellbookConfiguration - the book's policy object. with_defaults() is easy mode; set_property tunes the knobs; conjure VALIDATES AND FREEZES it (frozen config refuses mutation - fail fast,…
ConfigurationAgent rooms & codegenResearch & change - 🟡 Intermediate · 20
Phase scheduler knobs
Conjure runs the compile pipeline (phases 1-11) through the PhaseScheduler - a worker pool with a barrier timeout. Two config knobs tune it: workers per spellbook and the barrier timeout.…
Configuration - 🟡 Intermediate · 21
Dynamic linking basics
Dynamic mode END TO END under the settle-then-inherit law: 1) A fresh world has no mode yet. The FIRST conjure(dynamic=True) SETTLES the world dynamic - and the posture locks. 2) Every…
ResolutionConfigurationConnections - 🟡 Intermediate · 22
Permissions create vs read
Permissions LIVE - they are the sharing policy on a contract. "create" lets the borrower construct/resolve fully; "read" is resolve-only across the link. This is where the vocabulary from…
ResolutionConnections - 🟡 Intermediate · 23
Transfer of ownership
Ownership is transferable (dynamic mode) - a spell's stewardship moves to another conduit with an auditable preflight summary. Creations can move too; contracts unshare; lineage revalidates.
Connections - 🟡 Intermediate · 24
Conduit cloud
The ConduitCloud - the world's phone book for dynamic NAMED roots. Reached publicly from any conduit; look peers up by name instead of passing references around.
Connections - 🟡 Intermediate · 25
Clusters unique per cluster
Clusters - named groups of dynamic conduits that AUTO-SHARE cluster-scoped spells. unique_per_conduit_cluster finally comes alive: one instance per cluster, shared by every member. (This…
Connections - 🟡 Intermediate · 26
Conduit categories as factories
Conduit CATEGORIES are your factory layer. Instead of writing an abstract factory in front of your scopes, NAME conduits after the resolution ideas your app already has - "platform",…
RegistrationResolutionConnections - 🟡 Intermediate · 27
Sever link
sever_link - the UNDO of the whole dynamic arc. Contracts ride links, so when the link dies, everything shared across it dies with it: the borrower loses resolution of every pulled spell on…
ResolutionConnections - 🟡 Intermediate · 28
Upgrade to normal
upgrade_to_normal - a lesser conduit GROWS UP in place. Lessers are unnamed child scopes (lesson 07); in a dynamic world one can be promoted to a full named citizen: registered in the…
- 🟡 Intermediate · 29
Scoped cleanup lesser conduits
Scopes that END. A lesser conduit is a scope you can THROW AWAY: build one for a job, meld what the job needs, then cleanup() the child - its per-conduit creations are disposed through the…
ResolutionLifetimes & cleanup - 🟡 Intermediate · 30
Config disposal and the frozen law
SpellbookConfiguration, knob by knob - part 1: DISPOSAL. Two set-once properties describe teardown policy: disposal (bool) - stored flag; matched names drive calls disposal_method_names…
RegistrationResolutionLifetimes & cleanupConfigurationInspection - 🟡 Intermediate · 31
Spellbook config defined
SpellbookConfiguration DEFINED - the core settings you can set, what each one means, and the four laws that guard them. This is the book's policy object: it decides teardown and how hard…
RegistrationLifetimes & cleanupConfigurationConcurrency - 🟡 Intermediate · 32
Config meld hooks
SpellbookConfiguration hooks, family 1: the MELD PIPELINE. add_hook(spellbook_id, name, fn) registers callbacks keyed to a BOOK - the configuration can serve many books, so hooks say whose…
ResolutionConfiguration - 🟡 Intermediate · 33
Config conduit lifecycle hooks
SpellbookConfiguration hooks, family 2: the CONDUIT LIFECYCLE. Five moments of a conduit's life are observable: on_conduit_pre_created / on_conduit_post_created / on_conduit_activated at…
Lifetimes & cleanupConfiguration - 🟡 Intermediate · 34
Config link and contract hooks
SpellbookConfiguration hooks, families 3+4: LINKING and CONTRACTS - the dynamic arc becomes observable. Register on the owner book and watch its side of the story: on_conduit_post_link - a…
ConfigurationConnections - 🟡 Intermediate · 35
One config every book
ONE SPELLBOOK CONFIGURATION SHARED BY EVERY BOOK. When several books make up one subsystem, per-book configs drift - one book's teardown vocabulary says "close", another forgot it. The fix…
RegistrationLifetimes & cleanupConfigurationAgent rooms & codegenResearch & change - 🟡 Intermediate · 36
Late binding with spellcontract
SpellContract - the LATE-BOUND socket. A SpellMap says "resolve this from MY book" and must be satisfiable at conjure. A SpellContract says "someone will hand me this later", and stays OPEN…
RegistrationResolutionConnectionsResearch & change - 🟡 Intermediate · 37
The frame conduit cloud
THE CONDUIT CLOUD - the frame's shared registry of conduits, and the first object in this tier that is owned by the WORLD rather than by you. You reach it from any conduit: cloud =…
RegistrationResolutionLifetimes & cleanupConfigurationConnectionsInspectionResearch & changeConcurrency