Skip to main content
◆ FORGE · testing
The forge has no mock mode and no test keys, everything you touch is the real pipeline on real data. What makes it safe to explore is the billing shape: one step bills, everything else is free, and there’s a curated dataset where even the operator cost of rendering is on us.

The sample dataset is the sandbox

fruits-bipiper: a 2,301-episode two-arm pick-and-place dataset (banana, pear, grape), certified for new-trajectory augmentation:
  • Per-user and idempotent: opening it clones a campaign owned by you; reopening returns the same clone. The shared seed is never mutated, so you can’t break it for anyone (or have it broken for you).
  • Health is pre-baked: the real, precomputed eligibility report lands on the clone instantly. You start at a populated Overview instead of waiting for a classify pass.
  • Renders are real. A run on the sample renders on real GPUs and gets gated by the real verifier, nothing is canned. That compute has an operator cost, and on the sample dataset we eat it: it exists so you can judge the output quality before bringing your own data.

What’s free, what bills

Free, everywhere: opening samples, uploading datasets, health, the episode grid and per-episode media, partner mining, runs and renders, reviews. Billed: delivery only, 1 credit per kept episode, once ever (billing). So the honest test strategy is simply: do everything, inspect everything, and only deliver when you mean it. There is no charge you can trip by accident short of clicking Deliver with credits in your wallet.

Scripted E2E: the WB_TOKEN pattern

Every forge API call authenticates with a Supabase session bearer token. For harnesses, export it once and thread it through:
A full scripted walk is the quickstart in a loop:
  1. Open the sample (or upload your own) → campaign_id.
  2. Read the campaign; page …/episodes for eligibility.
  3. Mine partners for one eligible episode → pick a record.
  4. Run it: POST the record verbatim to …/runsjob_id.
  5. Poll /api/aug/jobs/{job_id} until it settles, watch stage walk mine → compose → render → gate.
  6. Review graded episodes (confirm/overrule).
  7. Deliver, then download …/export.tar.gz.
Steps 1–6 are free, so a CI smoke can stop before deliver and still exercise auth, tenancy, mining, rendering, and gating for real. Two things a harness should expect: the first render after idle is a cold start (minutes, not seconds), and gates genuinely reject: a small run can score zero accepts. That’s the product working, not a flake.

A new account can finish the journey free

Every new account gets a welcome grant of credits at signup (once per person: the grant is fingerprinted, so re-signing up doesn’t farm it). It’s enough to walk the entire spine for real: open the sample, run, review, keep a few episodes, deliver, and download a real verified archive, without a card. When the grant runs out, top-up packs start at single credits (billing).
There is deliberately no “test archive”: every export is billed and every billed export is real. If you need to validate archive handling cheaply, deliver a kept set of one: it costs 1 credit and the layout (per-view mp4s, both-fps action streams, certificate.json) is identical at any size. See the FAQ for the exact contents.