On this page
Frame posture cheatsheet๏
๐ Advanced ยท Lesson 05
THE FRAME POSTURE CHEATSHEET - every AethericFrameConfiguration knob and what it does, in one runnable page (the advanced twin of beginner 37). The posture is the WORLD's law book: set before the first conjure, frozen by it, inherited by everyone after.
MODE system_state ("automatic"|"dynamic") - the world's mode. Public doors: configure_aether_frame OR first conjure(dynamic=True). AR ELIGIBILITY (lived at the expert tier) ai_native_enabled - required True for dynamic AR targeting. rift_enabled - required True for ANY Rift attachment. SHARING shared_framewide_spellbook_configuration - one rich config shared by every book on the frame instead of per-book copies. CACHING system_caching_enabled - conjure-artifact caching. system_cache_root_path - where cached artifacts live. DEVOPS BRAKES (each one turns OFF a structural verb, world-wide) disable_linking / disable_bind / disable_conduit_cluster / disable_transfer_of_ownership / disable_contract_mutation / disable_mutations / disable_all_transactions_after_conjure - a gated verb refuses with a "disabled" RuntimeError at its own door. All seven are settable through the public door, configure_aether_frame(disable_linking=True, ...). TRANSACTION PATIENCE max_transaction_wait_time_in_seconds - how long a structural transaction waits on a busy scope before refusing, naming who held it. PRESETS automatic_defaults() / dynamic_defaults() / with_defaults() THE FREEZE LAW First successful bind of the posture freezes it. Every with_* on a frozen posture refuses. One world, one law book.
Before you run๏
Use the Advanced guide for prerequisite concepts. Run from a checkout with Melder installed and Python 3.14 free-threading selected. The collection download includes the level's local helper modules.
Run the saved script๏
python UX_and_AIX_experiences/03_advanced/05_frame_posture_cheatsheet.py
py -3.14t UX_and_AIX_experiences/03_advanced/05_frame_posture_cheatsheet.py
Public surface๏
the posture vocabulary (reference lesson)
Code๏
1"""
2TIER: advanced (05)
3GOAL: THE FRAME POSTURE CHEATSHEET - every AethericFrameConfiguration
4 knob and what it does, in one runnable page (the advanced twin of
5 beginner 37). The posture is the WORLD's law book: set before the
6 first conjure, frozen by it, inherited by everyone after.
7
8 MODE
9 system_state ("automatic"|"dynamic") - the world's mode. Public
10 doors: configure_aether_frame OR first conjure(dynamic=True).
11 AR ELIGIBILITY (lived at the expert tier)
12 ai_native_enabled - required True for dynamic AR targeting.
13 rift_enabled - required True for ANY Rift attachment.
14 SHARING
15 shared_framewide_spellbook_configuration - one rich config
16 shared by every book on the frame instead of per-book copies.
17 CACHING
18 system_caching_enabled - conjure-artifact caching.
19 system_cache_root_path - where cached artifacts live.
20 DEVOPS BRAKES (each one turns OFF a structural verb, world-wide)
21 disable_linking / disable_bind / disable_conduit_cluster /
22 disable_transfer_of_ownership / disable_contract_mutation /
23 disable_mutations / disable_all_transactions_after_conjure
24 - a gated verb refuses with a "disabled" RuntimeError at its
25 own door. All seven are settable through the public door,
26 configure_aether_frame(disable_linking=True, ...).
27 TRANSACTION PATIENCE
28 max_transaction_wait_time_in_seconds - how long a structural
29 transaction waits on a busy scope before refusing, naming
30 who held it.
31 PRESETS
32 automatic_defaults() / dynamic_defaults() / with_defaults()
33 THE FREEZE LAW
34 First successful bind of the posture freezes it. Every with_*
35 on a frozen posture refuses. One world, one law book.
36SURFACE EXERCISED: the posture vocabulary (reference lesson)
37"""
38import melder as md
39
40
41def main() -> None:
42 knobs = {
43 "mode": ["system_state"],
44 "ar eligibility": ["ai_native_enabled", "rift_enabled"],
45 "sharing": ["shared_framewide_spellbook_configuration"],
46 "caching": ["system_caching_enabled", "system_cache_root_path"],
47 "devops brakes": [
48 "disable_linking", "disable_bind", "disable_conduit_cluster",
49 "disable_transfer_of_ownership", "disable_contract_mutation",
50 "disable_mutations", "disable_all_transactions_after_conjure",
51 ],
52 "patience": ["max_transaction_wait_time_in_seconds"],
53 }
54 # Presets are METHODS that set several knobs at once - not knobs. They
55 # are listed apart so the count below stays honest about what it counts.
56 presets = ["automatic_defaults", "dynamic_defaults", "with_defaults"]
57
58 total = 0
59 for family, names in knobs.items():
60 print(f"{family}:")
61 for name in names:
62 print(" ", name)
63 total += 1
64 print("presets:")
65 for name in presets:
66 print(" ", name)
67 print("posture knobs mapped:", total)
68 print("presets available:", len(presets))
69
70 # THIS MAP IS CHECKED AGAINST THE REAL CLASS, IN BOTH DIRECTIONS.
71 #
72 # A hand-maintained list over a living surface drifts the moment a knob
73 # lands - which is exactly how this example went red once before: the
74 # caching pair was added, the list grew, and the number underneath it
75 # did not. The fix is not a better number. It is refusing to keep a
76 # count that only ever agrees with itself.
77 #
78 # Direction 1: every knob named here must be a real property.
79 mapped = {name for names in knobs.values() for name in names}
80 for name in sorted(mapped):
81 assert hasattr(md.AethericFrameConfiguration, name), (
82 f"{name} is on the cheatsheet but not on the class"
83 )
84
85 # Direction 2 - THE ONE THAT ACTUALLY CATCHES DRIFT. Every public,
86 # non-preset property on the class must appear on the cheatsheet. Add a
87 # knob to melder and this lesson goes red until the map is updated.
88 # Lifecycle/identity reads, not posture knobs. `is_cleaned` joined this
89 # set on 2026-08-03 and the check below is what caught it - the detector
90 # doing its job, not a failure.
91 plumbing = {"id", "origin_spellbook_id", "frozen", "cleaned", "is_cleaned"}
92 live = {
93 name for name in dir(md.AethericFrameConfiguration)
94 if not name.startswith("_")
95 and name not in plumbing
96 and isinstance(
97 getattr(md.AethericFrameConfiguration, name, None), property
98 )
99 }
100 unmapped = live - mapped
101 assert not unmapped, f"NEW POSTURE KNOBS not on the cheatsheet: {unmapped}"
102 print("cheatsheet verified against the class:", len(mapped), "knobs,",
103 "0 unmapped")
104
105 # Presets are methods, not knobs - listed apart so the count stays honest.
106 for preset in presets:
107 assert hasattr(md.AethericFrameConfiguration, preset), preset
108
109 print("the law book is set before first conjure and frozen by it")
110
111
112if __name__ == "__main__":
113 main()
Check the outcome๏
The script contains its own assertions or demonstrated refusal paths. Run it to evaluate those checks against your installed version. The code above is taken directly from the saved file; no run output is invented here.