Why an intermediate representation
An intermediate representation gives the system something inspectable between a natural-language request and execution. It makes application structure explicit enough to validate before side effects occur.
AppGraph ├─ screens ├─ components ├─ resources ├─ actions ├─ triggers ├─ conditions ├─ computations └─ requested permissions
Closed vocabulary
The graph is capability-bounded. A producer chooses from known structural and capability primitives rather than inventing arbitrary runtime behavior inside a code string.
Graph validity is layered
- Structural schema checks the graph shape.
- Semantic validation checks cross-node relations and capability rules.
- Runtime support decides whether the proof executor implements the admitted form.