DSLTop Level ElementsOverview

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

KeyPageDescription
dsl_versionOverviewDSL version (currently 1)
appOverviewApplication identifier
statestateEntity schemas and field types
eventseventsDomain events and payload schemas
actionsactionsCommands, rules, and phases

Optional sections

KeyPageDescription
projectionsprojectionsPostgreSQL read models from events
queriesqueriesNamed, compiled SQL reads
relationshipsrelationshipsGraph edges between entities
listenerslistenersSynchronous in-process reactions
sagassagasEntity-attached state machines — compiles to event-triggered core rules
resourcesresourcesStatic lookup catalogs
commit_envelopescommit_envelopesTwo-phase coordination
providersAILLM provider configuration
promptsAIPrompt templates
decisionsAINamed AI decisions
memoriesAIVector memory definitions

Cross-cutting reference

TopicPage
Expression languageExpressions
Rule phases & modesRule Execution
Naming conventionsNaming Conventions
Common mistakesPitfalls
Rule operations (op:)Operations

Next steps

  • Overview — file layout and compile workflow
  • actions — preflight, core, and side_effects
  • Operations — surgical reference for every op: