From dcd550788d6f17ad53c69be5e48982c6b6634b99 Mon Sep 17 00:00:00 2001 From: Brummel Date: Wed, 17 Jun 2026 19:31:24 +0200 Subject: [PATCH] docs(design): canonical shippable strategy form is a Composite blueprint (C20) Add a C20 realization recording the resolution of the GER40 deep-dive's #94 finding: a hand-wired FlatGraph is not a shippable strategy (no param_space, so World-opaque); the canonical form is the Composite blueprint, the FlatGraph its compiled substrate (C23). Pins the bar-period-as-structural-construction-arg decision (spec 0051) to the structural-axis-vs-tuning-param split. refs #94 --- docs/design/INDEX.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/docs/design/INDEX.md b/docs/design/INDEX.md index c8e989c..1ac2d21 100644 --- a/docs/design/INDEX.md +++ b/docs/design/INDEX.md @@ -898,6 +898,21 @@ Node/graph abstraction (C9) and makes "10 strategies in one environment" and authoring (not config) preserves full programmatic power — conditional/adaptive matrices, generated axes, custom wiring — and avoids re-introducing the DSL trap C17 rejects. +**Realization (GER40 session-breakout blueprint milestone, 2026-06-17 — refs +#94/#96/#97, spec 0051).** Made concrete on the first real-data strategy: a +**hand-wired `FlatGraph` is not a shippable strategy** — it carries no +`param_space()`, so the World families (sweep / walk_forward / compare, C21) +cannot consume it without a hand re-author (the friction the GER40 deep-dive +fieldtest surfaced). The **canonical shippable form is the `Composite` +blueprint** (the authoring/source level, C9/C19); the `FlatGraph` is only its +compiled substrate (C23). The breakout now ships as +`ger40_breakout_blueprint(bar_period, …)` whose `param_space()` is exactly its +tuning knobs (`{entry_bar.target, exit_bar.target}`); the **bar period is a +construction argument** binding Resample + Session together — a structural +matrix axis (C12: a different period is a *different strategy*, not a sweep +point), never a `param_space` entry, so a sweep cannot desync the two clocks. +This is the concrete instance of the structural-axis-vs-tuning-param split +above (and `delay.lag`, a C8 structural constant, is bound out of the space). ### C21 — The World: the meta-level is the product **Guarantee.** Above the harness sits the **World** — the project's program /