Skip to content

pecca.yaml reference

Generated from the JSON Schema by scripts/gen_docs.py.

pecca apply validates the file, resolves extends, checks that every ${VAR} resolves, stores the result in .pecca/config.resolved.yaml (placeholders kept) and prints a diff against what was stored before.

version: 1
workspace:
  name: default
  registry: local://./.pecca
projects:
  autoresponse:
    datasource:                       # historical LLM answers + human agent tags
      type: csv
      path: ../../data/demo/train.csv   # created by `pecca datasets demo`
      columns:
        input: {subject: email_subject, body: email_body}
        llm_output: llm_rfi
        human_label: human_rfi
        call_name: {literal: route_rfi}
        timestamp: timestamp
        language: language
    governance:
      extends: default
      transitions:
        shadow->live:
          gates: ["agreement >= 0.90", "shadow_days >= 14"]
    calls:
      route_rfi: {policy: {train_every: 7d, min_rows: 2000, target_precision: 0.95, latency_budget_ms: 50}}
key type notes
version
workspace object
workspace.name string Pattern ^[A-Za-z0-9_.-]+$.
workspace.registry string local://./.pecca or mlflow://databricks-uc/.
workspace.telemetry object
workspace.secrets object
workspace.secrets.provider string
workspace.scheduler object
projects object
projects.<name>.datasource object
projects.<name>.datasource.type string
projects.<name>.datasource.columns object
projects.<name>.labels object
projects.<name>.labels.type string
projects.<name>.labels.join_on string
projects.<name>.labels.column string
projects.<name>.governance object
projects.<name>.governance.extends string
projects.<name>.governance.transitions object
projects.<name>.governance.transitions.<name>.gates array
projects.<name>.governance.transitions.<name>.approvals object
projects.<name>.governance.transitions.<name>.approvals.groups array
projects.<name>.governance.transitions.<name>.approvals.users array
projects.<name>.governance.transitions.<name>.approvals.require
projects.<name>.governance.transitions.<name>.approvals.via string Pattern ^(manual|jira:.+|github:.+/.+)$.
projects.<name>.governance.transitions.<name>.approvals.group_members object
projects.<name>.governance.transitions.<name>.evidence array
projects.<name>.governance.transitions.<name>.controls array
projects.<name>.governance.retention object
projects.<name>.governance.retention.evidence string Pattern ^\d+(d|w|m|y)$.
projects.<name>.governance.retention.logs string Pattern ^\d+(d|w|m|y)$.
projects.<name>.governance.retention.signed boolean
projects.<name>.governance.retention.gpg_key string
projects.<name>.governance.schedule object
projects.<name>.governance.schedule.revalidate object
projects.<name>.governance.schedule.revalidate.every string Pattern ^\d+(d|w|m|y)$.
projects.<name>.governance.schedule.revalidate.approvals object
projects.<name>.governance.schedule.drift_review object
projects.<name>.governance.schedule.drift_review.every string Pattern ^\d+(d|w|m|y)$.
projects.<name>.governance.schedule.drift_review.notify string
projects.<name>.integrations object
projects.<name>.integrations.notifier object
projects.<name>.integrations.ticketer object
projects.<name>.integrations.docs object
projects.<name>.calls object
projects.<name>.calls.<name>.policy object
projects.<name>.calls.<name>.policy.train_every string Pattern ^\d+(d|w|m|y)$.
projects.<name>.calls.<name>.policy.min_rows integer
projects.<name>.calls.<name>.policy.target_precision number
projects.<name>.calls.<name>.policy.latency_budget_ms number
projects.<name>.calls.<name>.policy.metric string
projects.<name>.calls.<name>.policy.candidates array Restrict the tournament to these candidates (default: the selection rules). Use it to keep scheduled retrains off slow models such as xlmr_finetune.

Connector blocks (datasource, labels, integrations.*) take type: plus the options listed on the connector pages. Durations use <n>d, <n>w, <n>m or <n>y. Gate expressions are described in Governance.