docs(design): compilation/compilat reading of composites + C23 optimisation contract
Settle the Construction-layer milestone's design fork before any spec is written: a composite is a blueprint fragment compiled away by inlining, not a runtime sub-engine Node. - C23 (new): the bootstrap is a compilation -- a param-generic, named blueprint is lowered to a flat, type-erased compilat wired by raw index; composites inline (C9). The compilat is the target of behaviour-preserving optimisation (C1 is the correctness invariant) on two levels: intra-compilat (CSE/DCE) and across the sweep family (loop-invariant prefix hoisting -- the sweep-invariant sub-graph computed once and shared via C11/C12). Passes are deferred follow-on; this milestone builds the representation only. - C9 refined: "a composite is itself a Node" is an authoring-level identity; the nested Box<dyn Node> sub-engine reading is explicitly rejected (it keeps the interior opaque to the cross-graph optimiser and adds a runtime sub-loop the flat model does not need). - C19 refined: the blueprint->instance binding is a compilation; "no recompile" means no Rust/cdylib rebuild -- re-deriving an instance per param-set is a cheap graph re-compilation, not a code recompile. - Names are non-load-bearing debug symbols (as FieldSpec.name already is); the wiring resolves by raw index, names survive only for tracing/rendering. - CLAUDE.md domain-invariant 11 pulled coherent with the compilat reading. refs #12
This commit is contained in:
@@ -114,6 +114,12 @@ design decision, not a refactor, and belongs in the ledger.
|
||||
blueprint). The harness — sources + strategy + broker node(s) + sinks — is
|
||||
the root sim graph, itself bootstrapped, and is C1's disjoint unit; its
|
||||
structural axes form the experiment matrix, its tuning params the sweep.
|
||||
**The bootstrap is a compilation** to a flat, type-erased *compilat*, wired
|
||||
by raw index (composites inline — a composite is an authoring-level node, not
|
||||
a runtime object; names survive only as non-load-bearing debug symbols, as
|
||||
today). The compilat is the target of **behaviour-preserving** optimisation,
|
||||
C1 the correctness invariant — intra-graph (CSE/DCE) and across a sweep family
|
||||
(sweep-invariant sub-graph computed once, shared via C11/C12). See C9/C19/C23.
|
||||
12. **The World is the product; the playground is a trace explorer.** Three
|
||||
ontological tiers: a *node* is an open, composable fragment (at most one
|
||||
output, C8); a *harness* is the closed root graph that runs (sources +
|
||||
|
||||
Reference in New Issue
Block a user