A language model drafts the commentary on a risk report. Then a deterministic gate recomputes every figure it quoted, against the source, and refuses to pass a number it can't verify. A human approves what ships. Autonomy is earned, not granted.
Through the regime shift, volatility roughly doubled (×1.97). The portfolio returned +3.1%, lagging the benchmark's +5.8%, and the drawdown recovered in 76 days — leaving volatility 37% higher than the benchmark’s.
Every published number climbs the same ladder. Each rung can send it back down — a figure the gate can't reproduce never reaches a human, and nothing reaches the reader without a click.
A Bedrock model writes the commentary under a strict contract: every number it states must be declared in a quoted_figures list. Prose and claims, separated at the source.
Claude Haiku · JSON contractA deterministic function — no model in it — recomputes every quoted figure from the source data. A percentage it can't reproduce is rejected; a shape that doesn't match is rejected. Three strikes, then the draft is sent back.
recompute · reject unverifiable · 3-strike retryOnly a verified draft reaches a person. The approval request goes to the designated approver — review, approve, or reject — and the pipeline holds on a task token until they answer. Nothing publishes on its own; demo runs are approved right on this page by the person who started them.
waitForTaskToken · human in the loopOn approval, the report is written to S3 and the link returns to the operator. Every run is journaled — tokens, cost, latency — so the whole ladder is auditable after the fact.
S3 · journaled cost & latencySynthetic returns, seed 9 · a mid-series volatility regime shift (×1.97). Portfolio +3.1% lags the benchmark's +5.8%; drawdown recovers in 76 days. Every figure the model quoted was recomputed from this series before it shipped.
Everything below calls the real AWS backend behind this site. Reading and deterministic queries are free; the steps that call a model ask for a one-time email code first — a short session, a small monthly cap.
A model drafts a portfolio report, the gate recomputes every figure, and the approval click is yours — your run, in this page. Approved reports land on a demo shelf that empties itself in seven days.
The engine computes volatility metrics, the model narrates them, the gate re-verifies every number before you see a word. Generate twice — the wording moves, the figures stay pinned.
Your question compiles into a formal query from a whitelist — shown to you before anything runs. Approve the contract, the engine executes it, and the model never touches a number.
Here the route is not fixed: an agent chooses which tools to call over the published reports, the run journal and the real AWS bill. You see the answer, the route it took, and the gate’s verdict on every figure it quoted.
Read the cockpit and the published reports freely. Running a fresh report calls a model, so that step asks for an email — a one-time link, a short session, a small cap. No account, no noise.