Prompts
Version and assemble Compiled Prompts as first-class, cache-stable artifacts.
Compiled Prompts are reusable prompt templates stored in the engine, versioned, and assembled deterministically from variables. Instead of scattering prompt strings through your code, you keep them in one place, version them, and assemble them by name — producing cache-stable bytes (the same inputs always yield the same output, which keeps model prompt-caching effective).
The Prompts tab lists templates, lets you edit the body, bump versions, view history, and preview an assembly.
Templates and variables
A template is text with {{variable}} placeholders. Assembling it requires a
value for every variable — an undefined variable is an error, not a silent
blank, so you never ship a half-filled prompt.
Version, then assemble
| Action | Endpoint |
|---|---|
| List | GET /api/v1/ws/{ws}/prompts |
| Upsert (new version) | PUT /api/v1/ws/{ws}/prompts { name, template_text } |
| Get one | GET /api/v1/ws/{ws}/prompts/{name} |
| Version history | GET /api/v1/ws/{ws}/prompts/{name}/versions |
| Assemble | POST /api/v1/ws/{ws}/prompts/{name}/assemble { vars } |
Versions are append-only, so history is preserved and you can diff how a prompt evolved.
From the CLI
root prompt edit support-reply # opens $EDITOR, PUTs the new version back
root prompt list
root prompt version support-reply # show version history + variablesWhy a substrate, not strings
Treating prompts as versioned, deterministic artifacts is what lets you reason about prompt cost and behaviour over time — and it's the foundation the engine builds on for assembling grounded context into prompts.