API connection
The Worker base URL and the x-cf-webhook token are supplied here, not baked
into the page. The URL is remembered in localStorage; the token is kept in
sessionStorage and is gone when this tab closes.
Single-operator tool
This is a static site. It cannot hold a secret. Anyone who loads the page and pastes a
valid token gets full API access — and any script running on this origin can read
sessionStorage. Deploy it behind Cloudflare Access (or keep it on
localhost) and never treat the URL as private.
GET /healthis unauthenticated and is what "test" calls first.- Every other route sends
x-cf-webhook. - The token is never written to
localStorage, never put in a URL, and never logged. - A
401anywhere in the app clears the connection pill so you know why calls stopped working.
Polling
A run takes ~5–7 minutes, so 10s is ~40 polls. Polling stops on its own at a terminal state.
Create a job
Brand profile
—
SENTINEL gates
Metrics
Timing
Deliverable
Recent jobs
GET /jobs?limit=&status=&brand=&content_type= and will populate the
moment that route exists. Nothing here is faked — see the README for the exact contract
the Worker needs to satisfy.
| Job ID | Brand | Type | Keyword | State | Score | Cost | Created | |
|---|---|---|---|---|---|---|---|---|
No data — awaiting GET /jobs. | ||||||||
Locally-started jobs from this browser session are listed below. They come from this page's own memory, not from the API, and disappear when the browser data is cleared.
| Job ID | Brand | Type | Keyword | Started |
|---|
Pipeline config code defaults
Values shown greyed are the code defaults from worker/src/config.js,
rendered as placeholders. Type into a field to create an override; overridden fields
are marked overridden and only those keys are sent. This
mirrors the cf_config overlay: each top-level key
(brands, budgets, models, maxRevisions)
is one row of (key, value_json), shallow-merged over the defaults.
GET /config and PUT /config on the Worker. Until they exist this
editor works offline against the code defaults, and Save will report the failure
rather than pretend. Exact contract in the README.
Brands
Token budgets
Per content type, per stage. Opus 5 thinks by default and max_tokens caps
thinking + output together — a tight budget truncates the response and its JSON parse
fails. These figures were sized from measured live usage; lower them with care.
Models & effort
temperature / top_p / top_k are rejected with HTTP
400 on Opus 5 and Sonnet 5 — steer with effort. Disabling thinking is legal only at effort
high or below. The architect runs at medium deliberately: at
high it exhausted its ceiling twice.
Revision loop
Revisions per gate. 2 means 3 total attempts, after which the
job fails carrying the gate's directives.
Override payload
Exactly what a PUT /config would send. Empty means no overrides.
{}