Top Level Elements
The Causet Product DSL is assembled from .causet files declared in app.causet includes:. Each top-level key defines a distinct part of your application.
Required sections
| Key | Page | Description |
|---|---|---|
dsl_version | Overview | DSL version (currently 1) |
app | Overview | Application identifier |
state | state | Entity schemas and field types |
events | events | Domain events and payload schemas |
actions | actions | Commands, rules, and phases |
Optional sections
| Key | Page | Description |
|---|---|---|
projections | projections | PostgreSQL read models from events |
queries | queries | Named, compiled SQL reads |
relationships | relationships | Graph edges between entities |
listeners | listeners | Synchronous in-process reactions |
sagas | sagas | Entity-attached state machines — compiles to event-triggered core rules |
resources | resources | Static lookup catalogs |
commit_envelopes | commit_envelopes | Two-phase coordination |
providers | AI | LLM provider configuration |
prompts | AI | Prompt templates |
decisions | AI | Named AI decisions |
memories | AI | Vector memory definitions |
Cross-cutting reference
| Topic | Page |
|---|---|
| Expression language | Expressions |
| Rule phases & modes | Rule Execution |
| Naming conventions | Naming Conventions |
| Common mistakes | Pitfalls |
Rule operations (op:) | Operations |
Next steps
- Overview — file layout and compile workflow
- actions — preflight, core, and side_effects
- Operations — surgical reference for every
op: