Generation Overview
Generation Overview
Section titled “Generation Overview”Generation starts from intent and constraints, then creates structured artifacts.
sigMAX separates the generation flow into two parts. The LLM helps shape intent into explicit contracts and controlled pseudo-code. Deterministic tools then turn those artifacts into C subset code, WASM modules, local stack files, containers and agreements.
The important rule is simple: creative assistance stops before executable authority begins. Each stage leaves evidence that can be parsed, validated and compared against the expected contract state.
%%{init: {"theme": "base", "flowchart": {"nodeSpacing": 78, "rankSpacing": 92, "padding": 22}, "themeVariables": {"fontSize": "14px", "lineColor": "#f8fafc"}, "themeCSS": ".cluster-label p{font-size:16px!important;font-weight:900!important}.flowchart-link{stroke:#f8fafc!important;stroke-width:4px!important;stroke-linecap:round!important;filter:drop-shadow(0 1px 2px rgba(0,0,0,.65))}.marker{fill:#f8fafc!important;stroke:#f8fafc!important}.edgeLabel,.labelBkg,.edgeLabel span{background:transparent!important}.edgeLabel rect{fill:transparent!important;stroke:transparent!important}.edgeLabel p,.edgeLabel .labelBkg p,.edgeLabel span p{background:transparent!important;color:#f8fafc!important;padding:0!important;font-size:17px!important;font-weight:850!important;line-height:1.15!important;text-shadow:0 1px 3px rgba(0,0,0,.95),0 0 5px rgba(0,0,0,.85)!important}"}}%%
flowchart TB
classDef input fill:#fff4cc,stroke:#b7791f,stroke-width:2px,color:#111,font-size:14px,font-weight:800;
classDef llm fill:#e8f0ff,stroke:#2b6cb0,stroke-width:2px,color:#111,font-size:14px,font-weight:800;
classDef contract fill:#ede9fe,stroke:#6b46c1,stroke-width:2px,color:#111,font-size:14px,font-weight:800;
classDef deterministic fill:#e6fffa,stroke:#2c7a7b,stroke-width:2px,color:#111,font-size:14px,font-weight:800;
classDef container fill:#fef2f2,stroke:#c53030,stroke-width:2px,color:#111,font-size:14px,font-weight:800;
classDef wasm fill:#ecfdf5,stroke:#2f855a,stroke-width:2px,color:#111,font-size:14px,font-weight:800;
classDef runtime fill:#f7fafc,stroke:#2d3748,stroke-width:3px,color:#111,font-size:14px,font-weight:800;
subgraph S0["Inputs"]
direction TB
Intent(["Intent"]):::input
Constraints(["Constraints"]):::input
end
subgraph S1["LLM-controlled generation"]
direction TB
Blueprint{{"Blueprint"}}:::llm
AppContract[/"App Contract"/]:::contract
ComponentA[/"Component A"/]:::contract
ComponentB[/"Component B"/]:::contract
ComponentN[/"Component N"/]:::contract
BinaryA1[/"Binary A1"/]:::contract
BinaryA2[/"Binary A2"/]:::contract
BinaryB1[/"Binary B1"/]:::contract
PseudoA1["Pseudo A1"]:::llm
PseudoA2["Pseudo A2"]:::llm
PseudoB1["Pseudo B1"]:::llm
end
subgraph S2["Deterministic generation"]
direction TB
Stack["App stack"]:::deterministic
CSubsetA1["C subset A1"]:::deterministic
CSubsetA2["C subset A2"]:::deterministic
CSubsetB1["C subset B1"]:::deterministic
WasmA1["WASM A1"]:::wasm
WasmA2["WASM A2"]:::wasm
WasmB1["WASM B1"]:::wasm
end
subgraph S3["Component packaging"]
direction TB
ContainerA[["Container A<br/>runtime<br/>contracts<br/>agreements"]]:::container
ContainerB[["Container B<br/>runtime<br/>contracts<br/>agreements"]]:::container
ContainerC[["Container C<br/>runtime<br/>contracts<br/>agreements"]]:::container
end
subgraph S4["Controlled execution"]
direction TB
Runtime[("sigMAX Runtime")]:::runtime
end
Intent -->|"describes"| Blueprint
Constraints -->|"constrain"| Blueprint
Blueprint -->|"drafts"| AppContract
AppContract -->|"declares compose stack"| Stack
AppContract -->|"decomposes"| ComponentA
AppContract -->|"decomposes"| ComponentB
AppContract -->|"extends"| ComponentN
ComponentA -->|"defines"| BinaryA1
ComponentA -->|"defines"| BinaryA2
ComponentB -->|"defines"| BinaryB1
BinaryA1 -->|"guides"| PseudoA1
BinaryA2 -->|"guides"| PseudoA2
BinaryB1 -->|"guides"| PseudoB1
PseudoA1 -->|"compiles"| CSubsetA1
PseudoA2 -->|"compiles"| CSubsetA2
PseudoB1 -->|"compiles"| CSubsetB1
CSubsetA1 -->|"clang wasm32"| WasmA1
CSubsetA2 -->|"clang wasm32"| WasmA2
CSubsetB1 -->|"clang wasm32"| WasmB1
ComponentA -->|"packages"| ContainerA
ComponentB -->|"packages"| ContainerB
ComponentN -->|"packages"| ContainerC
WasmA1 -->|"embeds"| ContainerA
WasmA2 -->|"embeds"| ContainerA
WasmB1 -->|"embeds"| ContainerB
Stack -->|"orchestrates"| ContainerA
Stack -->|"orchestrates"| ContainerB
Stack -->|"orchestrates"| ContainerC
ContainerA -->|"loads"| Runtime
ContainerB -->|"loads"| Runtime
ContainerC -->|"loads"| Runtime
Blueprint -. "iteration" .-> Intent
style S0 fill:#b9f7ea,fill-opacity:0.58,stroke:#0891b2,stroke-width:2px,color:#000000
style S1 fill:#a7f3d0,fill-opacity:0.54,stroke:#0f766e,stroke-width:2px,color:#000000
style S2 fill:#99f6e4,fill-opacity:0.52,stroke:#0d9488,stroke-width:2px,color:#000000
style S3 fill:#fee2e2,fill-opacity:0.46,stroke:#c53030,stroke-width:2px,color:#000000
style S4 fill:#bae6fd,fill-opacity:0.56,stroke:#0284c7,stroke-width:2px,color:#000000
linkStyle default stroke:#f8fafc,stroke-width:4px,color:#f8fafc
Stage Responsibilities
Section titled “Stage Responsibilities”Each stage owns a narrow responsibility. That separation is what keeps the generated result inspectable.
| Stage | Main responsibility | Evidence |
|---|---|---|
| Intent | Capture what the application should do and which constraints matter. | Prompt context, project notes, architecture decisions. |
| Blueprint | Convert intent into a structured architectural plan. | Blueprint artifact and decomposition rationale. |
| Contracts | Declare the expected application, component and binary state. | Application, Component and Binary Contracts. |
| Controlled pseudo-code | Express executable intent without giving the LLM final code authority. | Pseudocode DSL files linked to Binary Contracts. |
| Deterministic generation | Produce C subset, WASM, routes, OpenAPI, Compose and container artifacts. | Generated files, hashes, compile reports. |
| Agreements | Record what was actually produced and accepted. | Application, Component, Binary and Storage Agreements. |
| Runtime | Execute validated WASM through declared primitives. | Health, logs, ObjectIR output, runtime checks. |
Why The Split Matters
Section titled “Why The Split Matters”The generation pipeline deliberately separates creative shaping from executable production.
LLM output is useful for interpreting intent and drafting structured artifacts, but it is not trusted as final executable truth. Deterministic generators and validators take over before compilation, packaging and runtime execution.
This gives sigMAX three useful checkpoints:
- expected state: what contracts say should exist;
- produced state: what generators actually created;
- observed state: what the runtime exposes when the artifact runs.
If those states diverge, the issue should become visible as drift instead of remaining hidden inside generated code.
Where To Continue
Section titled “Where To Continue”| Topic | Next page |
|---|---|
| How pseudo-code is constrained | Pseudocode DSL |
| How C and WASM are produced | C/WASM Generation |
| How local stacks are generated | Compose Generation |
| What the LLM may and may not own | LLM Boundaries |