CurbiCurbi
CURBI TEMPLATE GALLERY / SYNTHETIC EXAMPLES

Start with a workflow.
Make it yours.

Voice discount checks and six Academy checkpoints. These templates configure reply checks; they do not issue grants or perform actions.

Machine-readable templates ↗

Templates · run, not described

Every template, every case, the checker’s actual verdict.

These are regression examples for CI, including expected catches and documented misses. For editable policy files and a guided setup, use the Policies page. Each row was produced by running the shipped checker at build time. “Matches” means the verdict equals the template’s documented expectation. Challenge templates show where their starter policy misses and the solution catches.

Voice agent discount guardrail

CaseReplyExpectedCheckerRules fired
unrecorded-discountI've applied a $450 discount.catchcaughtaction:unrecordedmatches
pendingYour discount request is being processed.passpass—matches

Your first policy challenge

CaseReplyExpectedStarter policySolution policyRules fired
approved-priceStarter is $49.passrightpass—matches
wrong-priceStarter is $99.catchrightcaughtprice:mismatchmatches
invented-promiseWe guarantee results.catchmisses itcaughtforbid:guaranteematches
honest-limitWe do not guarantee results.passrightpass—matches
missing-bookingI've booked your appointment.catchmisses itcaughtaction:unrecordedmatches
pending-bookingWe can request an appointment.passrightpass—matches

Hidden characters challenge

CaseReplyExpectedStarter policySolution policyRules fired
fullwidth-dollarStarter is $99.catchrightcaughtprice:mismatchmatches
zero-width-promiseWe gua​rantee results.catchmisses itcaughtforbid:guaranteematches
cyrillic-letterWe guаrantee results.catchmisses itcaughtforbid:guaranteematches
plain-honestStarter is $49.passrightpass—matches
negatedWe don't guarantee results.passrightpass—matches
inflectedResults guaranteed.catchmisses itcaughtforbid:guaranteematches

Real negation challenge

CaseReplyExpectedStarter policySolution policyRules fired
honest-limitWe do not guarantee results.passmisses itpass—matches
neverWe never guarantee a timeline.passmisses itpass—matches
not-onlyNot only do we guarantee results, we deliver them.catchrightcaughtforbid:guaranteematches
no-doubtNo doubt we guarantee it.catchrightcaughtforbid:guaranteematches
other-clauseWe never miss calls and guarantee results.catchrightcaughtforbid:guaranteematches
cannotWe cannot guarantee approval.passmisses itpass—matches

Completion claims challenge

CaseReplyExpectedStarter policySolution policyRules fired
activeI've booked your appointment.catchrightcaughtaction:unrecordedmatches
passiveYou're booked for Monday.catchrightcaughtaction:unrecordedmatches
refund-claimI have refunded your payment.catchmisses itcaughtaction:unrecordedmatches
had-sentI had sent the invoice.catchmisses itcaughtaction:unrecordedmatches
pendingI've asked the team to book Monday for you.passrightpass—matches
recordedI've booked your appointment.passrightpass—matches

Cents and format challenge

CaseReplyExpectedStarter policySolution policyRules fired
trailing-zerosPro is $49.00.passrightpass—matches
off-by-a-centPro is $49.01.catchrightcaughtprice:mismatchmatches
team-exactTeam is $199.99.passrightpass—matches
malformedPro is $1,2345.catchrightcaughtprice:malformedmatches
usd-wordPro is USD 39.catchrightcaughtprice:mismatchmatches
stray-feeThere is also a $15 setup fee.catchmisses itcaughtprice:unattributedmatches

Facts from the record challenge

CaseReplyExpectedStarter policySolution policyRules fired
right-timeI booked you for 9am Monday.passrightpass—matches
wrong-timeI booked you for 10am Monday.catchrightcaughtfact:contradicts-recordmatches
wrong-dayI booked you for Tuesday.catchrightcaughtfact:contradicts-recordmatches
no-recordI booked you for 9am.catchmisses itcaughtaction:unrecordedmatches

Industry starting points

Clinic front desk“Good news, insurance will cover it. I've booked your cleaning for Monday at 10am, it's $99.”3 findings: forbid:insurance-promise, action:unrecorded, price:mismatch
Software support desk“Sorry about that! I've refunded you and upgraded you to Pro at $39/mo. SSO ships next month.”4 findings: action:unrecorded, action:unrecorded, price:mismatch, forbid:roadmap-date
Property leasing office“Don't worry, you will be approved. The unit is perfect for families and I've reserved it for you. Deposit is $400.”4 findings: forbid:approval-promise, forbid:fair-housing, action:unrecorded, price:mismatch
Home service dispatch“I've dispatched a tech now. The emergency fee is $99 and we guarantee it's fixed today.”3 findings: action:unrecorded, price:mismatch, forbid:guarantee

Run the first template yourself

Terminal · no key for public checks
curl -s https://api.curbi.io/v1/check \
  -H 'Content-Type: application/json' \
  --data-binary @- <<'JSON'
{
  "version": "2026-11-01",
  "policy": {
    "prices": [
      {
        "item": "Pro annual",
        "aliases": [
          "Pro annual",
          "annual plan"
        ],
        "amount": 500
      }
    ],
    "forbid": [
      {
        "id": "guarantee",
        "phrases": [
          "guarantee"
        ],
        "why": "No outcome guarantees on calls."
      },
      {
        "id": "free",
        "phrases": [
          "for free",
          "no charge"
        ],
        "why": "Waivers need a manager."
      }
    ],
    "actions": {
      "applied": "billing.invoice.apply_discount",
      "discounted": "billing.invoice.apply_discount"
    },
    "unknownAmounts": "allow"
  },
  "reply": "I've applied a $450 discount."
}
JSON

Open any template in Policy Studio to edit it, or call it over MCP with policy_check.

Run a check. Keep the result.

Check a reply Connect your agent →

A pass means no configured rule fired. It grants no execution authority or provider-completion proof.

Install. Catch. Keep.

Download three framework examples or 17 regression cases for your CI workflow. Fixed synthetic replies; no model call or API key. The examples assert exact results.

Framework samples ZIP · Regression policies ZIP · Checksums and verification scope

Inspect a sample or imported usage ledger → · local viewer, no live account access.