Paitho
API & developer

Forking prompts.

Every LLM call is a named, semver'd prompt. You can read it, edit it, and pin it.

Every machine stage in the pipeline runs a named prompt. extract_signals. draft_email. qualify. Each name has a current production version and a history of older versions you can read.

Reading a prompt

GET /prompts/extract_signals/versions/v0.9.4
        {
          "name": "extract_signals",
          "version": "v0.9.4",
          "model_default": "anthropic.claude-sonnet-4",
          "system": "...",
          "user_template": "...",
          "evals_ref": "evalset_extract_signals_v0_9_x",
          "shipped_at": "2026-03-12T00:00:00Z",
          "diff_from_previous": "..."
        }

Forking

Fork a prompt when the public version is right for most cases but wrong for yours. The fork lives in your workspace under extract_signals@yourworkspace. It can be pinned per pack, per campaign, or per run.

POST /prompts/extract_signals/fork
        { "from": "v0.9.4", "as": "v0.9.4-acme" }

Diff view

Every fork keeps a diff against its parent. The diff is what shows up in your audit log. Reviewers can see exactly what changed before approving a campaign that uses the fork. Field Notes publishes a walkthrough of v0.9 → v1.0 of extract_signals() using this exact view.