Design Memory Platform

Technical diary

12 records · 5 decisions · 3 moments · 2 features · 1 tickets · 1 quotes
D146 adoptedDecision10 Jul 2026

The GAAD Language Connector is a separate platform spec, referencing GALF - not part of GALF

The Connector is its own specification with its own version track (v0.001 already cut), referencing GALF but never merged into it. GALF stays engine-neutral by SILENCE (names no software); the Connector stays neutral by ABSTRACTION (names verbs, never a vendor). Confirms the assumption the v0.001 draft was written on. Settled by Chief Architect + Specification Owner, 10 Jul 2026; Architecture Reviewer notification pending (same pattern as GALF v0.005). One of the three open three-seat decisions from T021 / the Connector spec s10.

D147 adoptedDecision10 Jul 2026

platform_status=active REQUIRES a working Connector - PRAL grandfathered with a dated exception

A language may only claim platform_status=active if it ships a conforming, working Connector implementation - contractual, not convention, so the status stays honest ('active' must mean 'actually runs'). PRAL, active via pre-Connector native wiring, holds a written dated exception (10 Jul 2026) until it is ported to the Connector verbs; a ticket tracks the port so the exception is temporary by design. Enters GALF at its next version cut. Settled by Chief Architect + Specification Owner, 10 Jul 2026; Architecture Reviewer notification pending (same pattern as GALF v0.005). One of the three open three-seat decisions from T021 / the Connector spec s10.

D148 adoptedDecision10 Jul 2026

.CEL is a shared platform envelope; each language owns its payload

The serialize/.CEL format is defined ONCE at platform level as a shared envelope - language, language_version, galf_version, payload - with the payload schema owned by each language. The wrapper that makes any stage replayable under the language that made it is written once and inherited by every language; the 1994 .CEL idea preserved as one design-memory format. Defined in the Connector spec (platform side), not per language. Settled by Chief Architect + Specification Owner, 10 Jul 2026; Architecture Reviewer notification pending (same pattern as GALF v0.005). One of the three open three-seat decisions from T021 / the Connector spec s10.

D149 newadoptedStandardsDecision10 Jul 2026

Filenaming and folder standard, second edition - lowercase, underscore-only, three digits, the 1_ era

Supersedes D031's naming and folder sections; applies to the CURRENT ORBIT (TWAL Development set) and everything new - legacy files keep their names until naturally re-versioned, no mass rename ever. Rules: (1) FOLDERS: a cut is '[project] development N_NNN\' with the .blend and start_here at root, scripts in scripts\, plus per-need languages\ / spec\ / prototype\ / generations\ / reports\; the zip name equals the folder name. (2) VERSIONED FILENAMES for anything needing side-by-side versions or rollback: scripts, specs, language files, prototypes, connectors, test runners. (3) FIXED NAMES for contracts (imported/consumed by exact name, e.g. gaad_palette.py, lineage.json), current-state files (current_actions, handover) and records (the bundle track versions the set) - version lives inside the file. (4) Generated reports in caps with owner prefix (TWAL_CONNECTOR_REPORT.txt). (5) All-lowercase filenames - explicitly including the gaad prefix: new-era documents are gaad_twal_language_v1_001.md, not GAAD_...; D032 (GAAD always capitalised) governs prose, labels and output, never filenames. (6) Characters: a-z, 0-9, underscore only; the single dot belongs to the extension; dates as 2026_07_10; versions ALWAYS underscore form, dotted versions permitted only inside headers and prose; the version is ALWAYS the LAST element of the name, immediately before the extension (gaad_twal_language_v1_001.md, gaad_language_connector_twal_v1_001.md). (8) NO FILLER WORDS: a name never contains a word that adds no meaning - 'file' above all (everything is a file); gaad_twal_language_v1_001.md, never ..._language_file_... (7) Three-digit zero-padded versions, and THE 1_ ERA: files renamed or created under this standard start at v1_001 - 1_ sorts after every legacy 0_ version (promotion, not restart, honouring provenance) and marks the naming era on sight. (9) DATES in filenames are ISO 8601 basic form: 20260710 - unambiguous, sorts, no separators. (10) LENGTH: names aim for 30 characters or fewer (Miles: keep things tight); if a name wants to encode more, the metadata belongs in a record, not the name - names identify, records describe. (11) The convention is DOCUMENTED WHERE THE FILES LIVE: a short naming section in START_HERE and SKILL.md pointing at this decision. (12) NOUN ORDER: owner before tool - gaad_twal_connector_v1_001, never gaad_connector_twal or gaad_language_connector_twal; names family-sort by language and read in speaking order. (13) LANGUAGE TRIOS are named for the language itself: gaad_twal_v1_001.md/.json/.html - the file IS the language on paper; 'language', 'contract' and 'definition' rejected as fillers (Miles, final). STANDARD DECLARED FINAL AND MANDATORY (Miles, 10 Jul 2026): every file the Specification Owner generates from this point follows D149 without exception; HANDOVER carries it as a standing rule.

D150 newopenPlatformDecision10 Jul 2026

Standalone .cel files on disk - the 1994 gene bank as a folder (OPEN)

OPEN - held by Miles, 10 Jul 2026. Question: should the CEL envelope (D148), which currently lives only as the 'cel' field inside TWAL stage files, ALSO be written as standalone .cel files on disk - a gene bank folder echoing the 1994 pattern (four .CEL files per visit, visit counter in filename, e.g. 7_2_BL.CEL)? Candidate shape if adopted: an export verb or automatic per-champion write, lowercase 1_-era names under D149. Not scheduled; decide when the TWAL road quietens.

P055 PlatformMoment10 Jul 2026

First genome bred and built through the Connector in real Blender

Miles runs run_connector_in_blender.py v0.4 on his machine: a parent TWAL genome and a mutated child build side by side (parent at x=0, child at x=+200m), entirely through the Connector's pure path - random_genome, mutate, build via the BlenderAdapter. The report reads: parent valid True (32 towers), child valid True (30 towers), CEL round-trips True. Two skylines on screen; TWAL's first evolution, outside GAAD, with GAAD untouched.

P056 PlatformMoment10 Jul 2026

TWAL runs through the GAAD platform - the Connector wiring works live

Same day as P055, Miles presses First Generation with LANGUAGE > TWAL on addon v0_100 / generator v0_51: nine TWAL skylines fill a 3x3 GAAD world (TWAL Development 0_014.blend). The first Architectural Language ever to run through the platform via the GAAD Language Connector - the gap T021 named ('languages can be defined but not run') closes on screen. PRAL was regenerated first on the same build, untouched - the do-no-harm guarantee proven before the new path ran.

P057 PlatformMoment10 Jul 2026

TWAL is alive in GAAD - 24/24 Validate Scripts, full platform parity through the Connector

15:06, TWAL Development 0_021 stack (addon v0_101, generator v0_56, tree v0_20, connector v0.6): Validate Scripts with LANGUAGE=TWAL scores 24 steps, 0 failures - the same proving run PRAL passes. First Generation, three breeds, Backtrack arm/select/commit, breed from pivot into string 2, Navigator rebuild with discs and connector, all three Colour modes over 474 shared slots, replay, labels, Present Stage, Isolator. Miles's verdict: 'TWAL is alive in GAAD.' The morning's fail count ran 9 -> 6 -> 0 through five precise fixes: shared materials + stamps (T022 quick wins), the tree's .CEL branch, the arm's PRAL-shaped name regex (the ghost), and the double-offset containment bug.

F032 parkedWebsiteFeature10 Jul 2026

Interactive two-minute demonstration page - one design, one click, the whole GAAD loop

PROPOSAL (Miles, 10 Jul 2026): the next website build is not another feature but a polished interactive demonstration. One page. One design. One click. The page shows: (1) a parent design; (2) four children appear; (3) the user selects one; (4) a new generation grows; (5) the Decision Tree updates; (6) the Design History updates; (7) replay of the complete journey. Success test: someone who has never seen GAAD understands it in under two minutes from this demonstration alone - memorable, complementing the existing site as its front-of-house proof. NOTES (Specification Owner): this is the browser dream (P054) made concrete and small - a renderer as a swappable adapter, running a genome->phenotype loop client-side. TWAL is the natural candidate language (smallest, genome-shaped, engine-free Connector already proven in twal_connector.py); a JS port of the Connector verbs (random_genome, build, mutate, breed, replay) would drive it. Steps 5-7 are the platform's own vocabulary on screen: Navigator (decision tree), lineage (design history), replay-never-mutation (the journey). Depends on the Connector three-seat decisions (T021) settling the genome and serialize form first. MEDIUM OPEN (Miles, 10 Jul 2026): the demonstration could equally be delivered as a video or a diagram rather than an interactive page - decide which medium is best when the feature is developed. The seven-step storyboard and the under-two-minutes test hold regardless of medium. PARKED: recorded so the idea is not lost; not scheduled. Sequencing suggestion: after TWAL graduation, as the flagship F031 deliverable.

F033 in progressPlatformFeature10 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.

T022 highresolvedPlatformTicket10 Jul 2026

TWAL platform parity - 9 named gaps from the first Validate Scripts run

TWAL graduated and verified live in GAAD, 12 Jul 2026 (D158).

Q029 Development session, 10 Jul 2026Quote10 Jul 2026

"It is very exciting to see this step. When I started this morning I had no idea of the direction. We explored together, fixing fails along the way, and by three in the afternoon TWAL was connected to GAAD - the first Architectural Language of many."

Miles, on seeing the Navigator draw a TWAL lineage - discs, pivot connector, red dead end, gold champion - minutes after Validate Scripts scored 24/24 with LANGUAGE=TWAL (P057). The day ran from three open three-seat decisions (D146-D148) through the Connector wrapper, the live wiring, and five parity fixes to full platform parity.