Waxell

Play · Developers and platform teams

Ship an agent that moves money

A refunds agentthat can't refundmore than it should.

Two decorators put the workflow under Runtime. Every step is checked against policy before it runs, anything over the authority limit waits for a person, and every decision lands in a record finance can read.

30 minutes. No commitment.

SOC 2 Type II attested · ISO/IEC 27001:2022 certified · HIPAA with a BAA · aligned to the EU AI Act and NIST AI RMF

observe · run trace
observe · run trace
  1. This play uses
  2. 02Observe
  3. 04Run
  4. 05Prove
The situation

Who

A platform team shipping a support agent that can issue refunds through Stripe.

What happened

The prototype worked in staging. Production means real money, a real audit, and a CFO who wants to know what stops it refunding everything.

What's at stake

An agent with the authority to move funds, running loops nobody is watching, with no record of why each refund happened.

The play
  1. 01Observe

    See the run before you trust it.

    Instrument the agent with two lines and every model call, tool call, and dollar lands as a run you can open. Read each step of the trace before anything reaches production.

    waxell.init() · open any run · cost per run in real dollars

    observe · run trace
    observe · run trace
  2. 02Run

    Policy before every step. A person above the line.

    Wrap the workflow and its steps. A refund under the limit is allowed and recorded. One above it is held and routed to a person in Slack with the full context; the run suspends at a checkpoint and resumes when they decide. A budget that runs out stops the run and records why. A kill switch stops the agent from running, immediately.

    durable checkpoints · pause for approval, then resume · kill switch

    runtime · deployed agents
    runtime · deployed agents
  3. 03Prove

    Finance gets the record, not a Slack thread.

    Every refund decision carries the policy that made it, the amount, the approver if there was one, and the reason. Export it for the quarter or for the auditor.

    durable, exportable decision record · signed evidence packs

    observe · blocked run detail
    observe · blocked run detail
What the record shows
  1. stripe.refund · $140support-agent · ticket 8812 · under $500 authorityallow
  2. stripe.refund · $4,000support-agent · ticket 8819 · over authority · routed to d.ortizhold
  3. approved refund · $4,000d.ortiz · duplicate charge confirmedallow
  4. stripe.refund · $12,500support-agent · ticket 8831 · above hard capblock

Illustrative entries in the shape the product writes them.

Policies involved

Products in this play

Questions teams ask about this play

No. Two decorators on the workflow and its steps put it under Runtime. LangGraph, CrewAI, and plain Python all work; the rules live in the plane.

Related plays

Run this play this week.

Free for your first agents and devices, live in about thirty seconds. Or walk through it with someone who has run it before.

30 minutes. No commitment.

SOC 2 Type II attested · ISO/IEC 27001:2022 certified · HIPAA with a BAA · aligned to the EU AI Act and NIST AI RMF