F033
in progress
10 Jul 2026
GAAD Language Connector - the runtime contract that lets any language run through world/stages/lineage
THE SOLUTION TO T021. GALF defines what an Architectural Language IS but, by its own neutrality rule, cannot own a runtime interface - so languages could be defined but not run through Initial Generation -> Breed -> Navigator/Backtrack -> Present Stage. The GAAD Language Connector is the second contract that closes this gap: GALF stays neutral by SILENCE (names no software), the Connector stays neutral by ABSTRACTION (names verbs, never a vendor). Engines are pluggable adapters behind the interface - Blender is one adapter; a browser renderer (P054, F032) is a peer.
CORE SHIFT: seed -> genome. A seed cannot be bred (no locality, no recombination); the Connector makes the design an explicit GENOME - a gene array where each gene is one decision - and build() PURE, so replay is bit-exact (replay, never mutation). Interface verbs: describe, random_genome (the only RNG site), build, mutate, breed, serialize, deserialize, validate.
STATE AT FILING: spec GAAD_Language_Connector_v0_001_TWAL.md + reference implementation twal_connector.py (engine-free, never imports bpy; MemoryAdapter proven), both RINGFENCED standalone with TWAL (D144 fence). Three three-seat decisions open at filing: (a) Connector as separate spec referencing GALF; (b) whether platform_status=active contractually requires a conforming Connector; (c) whether the serialize .CEL format is per-language or a shared platform envelope. T021 closes when a language runs through the platform loop via this contract.
GRADUATION (when the fence lifts): spec -> Spec/, connector joins the Engine section, TWAL trio -> Languages/, TWAL_CHANGELOG -> releases record, D144 wording repaired to name TWAL/Connector explicitly.
KEY DIAGRAM: Website/architecture.html Figure 1 ('CONTRACT - LANGUAGES - CONNECTOR - ENGINE') is the canonical picture of this feature - the four-layer stack (GALF names no engine; five languages conform up to GALF; the Connector names verbs, never a vendor; the Engine is the swappable base: Blender today, a browser/desktop renderer tomorrow). Its caption states the thesis: the seam is the point - swapping the engine changes the base of the stack, not the design above it. Figure 2 on the same page (TWAL, seed to genome to phenotype) is the worked example.
UNWIRE REQUIREMENT (Miles, 10 Jul 2026): the Connector must be removable without harming the GAAD platform. Wiring is ADDITIVE-ONLY by design: (1) PRAL's native path is never modified - Connector languages take a parallel branch behind a CONNECTORS registry, so unwiring = deregistering (one dict entry), and with an empty registry the platform is exactly pre-Connector GAAD; (2) no core script may import a connector module at top level - imports live behind the registry lookup, so a missing/broken connector file cannot break addon registration or PRAL generation; (3) stage files made by a Connector language keep their genome payload even when unwired - existing lineages stay readable and honest (the stage reports its language as not-runnable rather than erroring); (4) Validate Scripts proves the unwired state: a step runs the PRAL loop with the registry emptied, so 'unwire is safe' is asserted, not assumed. This is the D144 fence philosophy carried into the platform: connection is a privilege the platform grants, not a dependency it acquires.
DIAGRAM NEEDED (Miles, 10 Jul 2026): a new figure for the three-phase wiring plan - (1) stabilise the prototype, (2) Connector wrapper around it, (3) wire to the GAAD panel (unwireable). Shape agreed 10 Jul 2026 (Miles: likes the simplicity): three boxes - Prototype 'the sketchbook' -> sync -> Connector 'the fair copy' -> wire -> GAAD 'the gallery, never changes' - with a return arrow (back to the sketchbook, any time), the fence drawn as a dashed gate before GAAD, and the honesty rule as a strapline: 'A rule is not real until it is in both.' To be drawn in the website Figure style as architecture.html Figure 3.
D144D145