BUILD
Workflow recipes
DESIGN PREVIEW
This page describes the planned verdaca Python package. That package is not built yet, so the code samples on this page will not run. For what runs today, see the real Getting started page and the recorded receipts in docs/receipts/.
Workflow recipes are pre-configured deliberation sessions: persona selection, round count, gate thresholds, and output format are already set. Use them as ready-to-run templates for common advisory tasks, or as a reference scaffold when you need something they do not cover.
ADVISORY
Adapt a recipe if the domain matches but the panel composition does not. Start from scratch only if the deliberation structure itself needs to change — different round logic, non-standard gate specs, or an output format the recipe cannot produce.
Available recipes
| Recipe | Use case | Personas |
|---|---|---|
code-review |
Multi-persona adversarial review of a code artifact or pull request | Winston, Amelia, Quinn |
requirements-analysis |
Structured decomposition of a brief or spec into testable acceptance criteria | John, Winston, Amelia |
security-audit |
Threat-surface analysis and control-gap identification against a defined scope | Winston, Quinn, custom security persona |
ux-critique |
Structured critique of a screen, flow, or component hierarchy against UX heuristics | Sally, Caravaggio, Quinn |
Using a recipe
Load a recipe by name, create a Studio session from it, and pass the artifact or question you want deliberated. The recipe's persona panel and gate configuration load automatically.
from verdaca.recipes import load_recipe
recipe = load_recipe("code-review")
session = Studio.from_recipe(recipe)
result = session.run(
input="path/to/pull_request_diff.patch",
)
Adapting a recipe
Replace any persona in a loaded recipe with a custom one before creating the session. The replacement must satisfy the same port-category contracts as the persona it replaces.
recipe = load_recipe("code-review")
# Override a persona in the recipe
recipe.replace_persona("reviewer", my_custom_reviewer)
session = Studio.from_recipe(recipe)
CAUTION
When replacing a persona in a recipe, confirm that your replacement's output format matches the slot it fills — a mismatch in output schema will cause the synthesis step to fail at runtime, not at recipe load time.
Creating a recipe
Define a recipe from named personas, a round count, and a gate specification. Save it to a path and load it like any other recipe in future sessions.
from verdaca.recipes import Recipe
my_recipe = Recipe(
name="m-and-a-diligence",
personas=["sally", "winston"],
rounds=4,
gate="consensus-threshold-0.75",
)
my_recipe.save("./recipes/m-and-a-diligence.yaml")
Next steps
- Output review — evaluate recipe output quality
- Build your own agent — create custom personas for recipes