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