On this page

Configure the world before it starts๏ƒ

Prerequisites: world boundaries and dynamic linking. A frame's posture decides which kinds of runtime operations its books may perform. Configure it before the first conjure settles the world.

The public-door lesson calls book.configure_aether_frame(system_state="dynamic", ...) before conjure. A second book in that named frame uses plain conjure(); the example then links the two roots to demonstrate inherited dynamic posture. Reconfiguration after freeze is shown as a refusal.

Keep the configuration objects distinct๏ƒ

Object

Responsibility

SpellbookConfiguration

Book policy, including disposal and scheduler choices

AethericFrameConfiguration

World posture and eligibility for runtime operations

AetherConfiguration

Root policy, including automatic logging setup

The configuration-object and root-builder lessons walk their complete setup sequences. Follow the terminator for the object you hold; constructing a configuration is not the same as activating the corresponding subsystem.

Continue to logging for the explicit post-boot attachment path.

The workflow in code๏ƒ

These are the core steps from the saved example. Use its complete linked script for all class definitions and setup.

 1def main() -> None:
 2    # A named world, postured dynamic through the PUBLIC door -
 3    # before any conjure has settled anything.
 4    book = md.Spellbook(aetheric_frame="ops-world")
 5    book.bind(spell=OpsService, existence="unique")
 6    book.configure_aether_frame(system_state="dynamic", disposal=None,
 7                                disposal_method_names=None)
 8
 9    # Plain conjures INHERIT the configured posture - no flags.
10    root = book.conjure(name="ops-root")
11    peer = md.Spellbook(aetheric_frame="ops-world").conjure(name="ops-peer")
12    assert root.link(peer) is True
13    print("configured world: plain conjures inherited dynamic and linked")
14
15    # The mode is decided ONCE. After the first conjure froze the
16    # posture, reconfiguring the world refuses.
17    try:
18        book.configure_aether_frame(system_state="automatic", disposal=None,
19                                    disposal_method_names=None)
20        print("post-freeze reconfigure unexpectedly succeeded")
21    except Exception as err:
22        print("post-freeze reconfigure refused:", type(err).__name__)

Runnable examples๏ƒ

All advanced examples ยท Level contents ยท Full contents

Canonical page source