// Versioned, operated

Prompts the operator pins and rolls back.

Instead of editing prod prompts in place and hoping nothing breaks, the operator promotes governed versions — changed only by a receipted action, rolled back in one move, and joined to every output they produced.

// What it is

When a prompt change breaks production, the operator already knows which one

The operator stores every prompt as an immutable version (slug@N) and moves promotion labels like @prod and @staging by receipted action, never by editing in place. Render compiles a template; Completions renders and dispatches in one call — writing a parent receipt and a join row.

That join links every production output to the exact template_id@version behind it. When something breaks, the operator traces the output to the prompt version, and the prompt version to who promoted it and when — and rolls it back in one move.

// What the operator does
  • Pins immutable versions. Every change becomes a new monotonic version; a rollback copies the old body forward, never overwrites.
  • Moves labels by receipt. @prod / @staging are audited pointers the operator repoints, not edits in place.
  • Joins output to prompt. Each completion links back to the template version that produced it — on the record.
// How the ledger makes it better

Every output traces to a prompt version

Instead of correlating logs after an incident, the operator writes a join alongside each receipt — so an output is always attributable to the exact template version behind it, a link a regulator can follow without us.

The receipt links to the prompt version

When the operator runs a completion through the registry, it writes a parent receipt joined to template_id@version. Recompute the leaf to confirm the dispatch record, then follow the join to the exact prompt that produced it.

This is the same client-side verification shipped on the Trust portal. SHA-256 runs via Web Crypto. No Agentics call.

// Verify in your browser Anchored
receipt_idc4d8e2f0…4e5f
prev_hash1af67611…4a032
payload_hash2962f6b5…466dd
recomputed
merkle_root14a24583…c058a
  • Recompute leaf
  • Chain integrity
  • Fold Merkle proof
  • Anchor memo == root

SHA-256 runs in your browser via Web Crypto. No Agentics call.

// The API

Render to preview, complete to ship

Instead of templating in your app and logging on the side, Render compiles only; Completions renders and dispatches, and the operator writes the receipt and the join.

curl -X POST https://agentics.you/api/prompts/support-triage/render \
  -H "Authorization: Bearer ak_…" -H "Content-Type: application/json" \
  -d '{ "version": "@prod", "vars": { "ticket": "login broken" } }'
# → { messages: [...] }   (no provider call, no receipt)
curl -X POST https://agentics.you/api/prompts/support-triage/completions \
  -H "Authorization: Bearer ak_…" -H "Content-Type: application/json" \
  -d '{ "version": "@prod", "vars": { "ticket": "login broken" },
        "model": "@anthropic/claude-opus-4-8" }'
# → completion + x-agentics-receipt, joined to template@version

Read the Prompt API →

// In the console

Supervise versions and labels

Instead of digging through deploy logs, the console shows every prompt version, where each label points, who promoted it, and what each version produced.

acme.agentics.you/console/

Prompt Registry console

Prompt versions with promotion labels the operator moves, plus the outputs each version produced via the join.

Open Prompt Registry →
// Versioned, operated

Let the operator pin your prompts — and prove every change.