VENTUNO
ventuno --world fast-world

FAST World

live · flagship
STREAMING TV · FAST · 3 COMPONENTS

A complete free ad-supported streaming TV stack — origination, monetization and a live viewer — packaged as a long-horizon RL environment for coding agents. Three real systems cooperate to put four live channels on screen; an agent has to operate all of it.

All three systems run in production today: forge.ventunotech.com · ssai.ventunotech.com · fastworldtv.ventunotech.com. The world image is a certified snapshot of these live products.

// what’s live today
running
4 channels, all real

Home Cooking, Yoga & You, Art All The Way and Ventuno Mix — all four stream from ChannelForge end to end: live HLS playout plus real XMLTV EPG.

real ads, all four channels

The SSAI ad server inserts real ad creatives — served as genuine video, not pass-through — into real SCTE-35 breaks on all four channels, delivered as one continuous HLS stream. VAST tag ingestion and server-side tracking are live too.

operator mode

A viewer / operator toggle reveals the live pipeline under the TV — playout, SCTE/SSAI, HLS packager, EPG, origin and telemetry — as the environment an agent operates.

agent challenges

A replayed agent diagnoses and repairs a fault — missing asset, schedule collision, rights-window, stream degradation — while the channel keeps playing.

measured telemetry

Channel-switch p50/p95, startup, concurrent viewers and errors — real, aggregated and persisted; surfaced in an Under-the-Hood dashboard and an open API.

engineering proof

744 ChannelForge API (plus 1 documented environment exception), 201 SSAI and 75 viewer tests, green inside the certified image · a shared /contracts golden suite (v1.1.0) binding the services · seed-deterministic ad decisions · copy-mode playout (~0.02 vCPU/channel, ~100× density) · three-tier never-dead-air fallback.

// what is fast

The internet-native version of lean-back TV.

A viewer opens a channel and watches always-on, scheduled programming — no subscription — funded by advertising. It feels like traditional television: channels, a guide, breaks, continuous playback.

But the stream a viewer sees is the output of a chain of systems that each have to be correct — and stay correct, around the clock.

pipeline → viewer stream
01content library
02channel programming
03schedule + EPG
04playout stream
05ads + measurement
06as-run logs + analytics
// three components, one world

ChannelForge originates, the ad server monetizes, FAST World TV presents.

ChannelForge never decides ads; the ad server never computes the schedule; the viewer computes neither. That clean separation across three cooperating systems is exactly what makes FAST World a serious world — an agent has to reason across services, not patch one file.

ChannelForge
originates
SSAI Ad Server
monetizes
FAST World TV
presents

A direct (no-ads) HLS path also serves previews and the marketing player. The guide always comes from ChannelForge — never recomputed downstream.

originates
ChannelForge
Python · FastAPI · FFmpeg

The channel: schedule, media conditioning, playout, the HLS delivery origin (with SCTE-35 ad avails) and the EPG. The source of truth for what's on, now and next.

visit live →
monetizes
SSAI Ad Server
TypeScript · Node · Fastify

Ad decisioning and server-side stitching: detect the avails ChannelForge signalled, decide what fills each break, splice ad and slate media into the viewer's manifest, and record playback → analytics.

visit live →
presents
FAST World TV
Next.js · React · Shaka Player

The viewer: a public FAST destination — player, now/next, timeline EPG, channel switching. Presentation only; it treats ChannelForge as the source of truth.

visit live →
A failure in one degrades gracefully: an ad-server outage falls back to ChannelForge's own slate at the avail — playout never stops; a viewer issue never touches origination.

The live links go to the products this world is built from. Tasks run against the sealed 0.1.9 image, so the faults they plant exist only in that copy, not in the live services.

// see it running

A product on top, an environment underneath.

The live demo is a working consumer FAST service that turns inside out on demand — the same page a viewer enjoys is the environment an agent operates.

Real ad creatives fill the breaks on all four channels; agent runs are replayed, recorded traces today, with a live agent-repair backend next.

VIEWERLooks like a small Pluto TV — channels, a live guide, now/next, discovery and ad breaks.
OPERATORToggle operator mode and the same screen exposes the schedule, playout, SCTE/SSAI, HLS, EPG and telemetry beneath it — the environment the agent operates.
AGENTOpen agent challenges and watch an agent diagnose and repair a fault — missing asset, schedule collision, rights-window, stream degradation — while the channel keeps playing.
// why it’s a hard rl world

A living operational system.

Time, state, contracts, failures and business rules — all at once, across three products, around the clock.

Time-based behavior

A bug may only surface at 2:00 AM, during a rights-window transition, or when a schedule rolls over.

Stateful workflows

A channel moves from draft → validated → published → live → monitored → reconciled.

Cross-service dependencies

Media analysis, scheduler, EPG, playout, ad markers, monitoring and reporting all have to agree.

Real-world failures

Missing files, bad durations, broken metadata, invalid ad breaks, expired rights, repeated content and stale schedules.

Business constraints

A technically valid schedule can still violate programming strategy, sponsor rules, rights or distribution requirements.

// the world image

Pull it, run it, reset it.

The world ships today as a certified, versioned image that runs under Harbor; signed private-registry delivery is being provisioned. Bring it up with a container adapter, run tasks against it, and reset to a clean, seeded state between episodes.

Seeded ad decisions and a reproducible baseline — the same seed yields the same run, and every fresh boot fingerprints identically (20/20).

Certified by difference against the previous certified image: 20/20 repeatable boots, a 2h soak (flat memory, 0 zombies, a clean stop and a healthy restart), the three repos' own test suites green, tini as PID 1, offline and no-network-capable. Trivy: no OS-package findings; one high finding in a vendored app's pinned dependency carries a documented not-affected exception.

runs local Dockerruns hosted by usruns your own infra
world.yaml
registryprivate registry · per-licensee access · signed (provisioning)
version0.1.9
platformlinux/amd64
adapterharbor run
resetdeterministic seeded reset — byte-identical baseline fingerprint
verifyheld-out behavioral graders — hidden from the agent
sanitised production snapshotseeded ad-server datano live secrets or PIIdeterministic failuresprogrammatic verifiersrepeatable agent runs
// the bench
certified image 0.1.9 · 120 active tasks + 2 public samples · 7 sets + hard tier + 2 missions · frontier challenge tier

The world, turned into an agentic eval bench.

A hermetic image bundles all three products at pinned commits. Each task injects a real defect or stubs a real feature; a held-out behavioral verifier grades pass/fail; the whole thing runs offline from a reproducible worldspec. Most tasks are the actual bugs and features we shipped, and the frontier challenge variants place a real operational condition in the running system — so the ground truth and the difficulty are real, not invented.

// what it measures that single-repo benches don’t
protocol & spec correctness

HLS manifests, SCTE-35, VAST, XMLTV — wrong-but-plausible is easy; correct needs the spec-shaped code read properly.

live-edge timing

The origin's program-date-time timeline lags wall-clock and breaks sit at the edge of a sliding window; agents that don't model time fail.

cross-service contracts

A break_id threads avail → DATERANGE → SSAI → reconciliation across three repos and three languages. Cross-repo tasks put the defect on both sides of a service seam — can the agent hold the whole system in its head?

investigation depth

Whether an agent investigates the live system deeply enough to discover the operational facts a correct implementation depends on — facts that sit in the running environment, not in the ticket.

symptom → root cause

CORS preflight, sendBeacon content-types, reverse-proxy ordering — debugging from a real symptom, not writing a feature.

long-horizon coherence

Two multi-step missions run deterministic scenarios across the whole stack — milestone-graded on partial credit, so drift and dropped context show up as a lower vector, not a single pass/fail.

// representative sample — 9 of 120 active tasks
★ long-horizon missionall three · mission · milestone-graded

The first long-horizon mission: a deterministic scenario driver walks the agent through a multi-step operational run across the whole stack, scored on a partial-credit milestone vector rather than one pass/fail.

★ beacons-never-arrivefwtv + ssai · cross-repo debug

Quartile beacons record zero events — fix the sendBeacon preflight and the server's body parser, on both sides of the seam.

★ break_id-threadingchannelforge + ssai · cross-service

Make break ids globally unique and thread them so reconciliation matches SSAI deliveries — zero orphans.

scte35-dual-markerschannelforge · fix

Emit CUE-OUT/CUE-IN alongside DATERANGE and size the live window so both stay visible across the break.

loop-ads-to-fillssai · feature

Repeat ads in order to fill a break, slate only the tail, always terminate.

vast-macro-validationchannelforge · feature

Resolve documented VAST macros per-avail, reject undocumented ones, never emit PII.

epg-break-extended-timingschannelforge · fix

XMLTV stop times must reflect break-extended aired duration and stay DTD-conformant.

live-edge-holdbackssai · feature

Serve the manifest a fixed number of segments behind the live edge so stitched ads reliably land.

caddy-preflight-orderingssai · infra

A CORS preflight returns 401 — make OPTIONS succeed while normal requests still authenticate.

★ Headliners — if a model can do these it genuinely understands the system: the long-horizon mission, the cross-repo beacon debug and the break_id cross-service contract.

// how it stays honest
›Held-out, behavioral verifiers — assert on the manifest / beacon / reconciliation outcome, never on which lines you edited; the tests never sit in the agent's image.
›Anti-cheat by construction — history is scrubbed, so the fix isn't a git log away, and every task carries a write-boundary manifest taken at build time and checked at grading.
›Graders that never load the agent's code — on 25 October we found that our graders could be forged by the agent's own code, because they ran it inside the grading process. We rebuilt them so the grader runs nothing the agent wrote and reads the verdict only from files the agent's processes can't write. On 28 October 94 of 122 graders (the 120 catalogue tasks plus the 2 public samples) are on the new design, including every task in the licensed training and evaluation sets; the remaining 28 development and unassigned tasks are in progress, and we will finish the whole library before we share any catalogue task with a lab.
›Deterministic — recorded manifests with synthetic PDT offsets, frozen clocks and seeded decisioning.
›Sealed gate on the certified image — every catalogue task passed it on 0.1.8, and each batch moved to the new grader design re-passed it on 0.1.9: no-op scores 0 and the reference fix scores 1, three runs out of three. The full re-gate of every task on 0.1.9 is in progress. Most tasks also carry a mutation suite: tempting-wrong traps must score 0, alternative correct designs must score 1, out-of-boundary tampers must score 0.
›Milestone vectors — multi-condition tasks and the mission report which conditions held, so a partial fix shows up as a partial vector rather than a bare pass/fail.
›Audited runs — every passing model trajectory is reviewed for shortcuts (on 25 October we re-audited all 225 passing rollouts we held for verdict forgery and found none), and every run records grading-integrity signals and host-observed network egress.
›Verify before counting — every model failure is rebuilt from the model's own trajectory and re-run natively, or traced in the grader's own output, and given a verdict (genuine design, genuine execution, ambiguous, grader defect, environment) before it counts. Failures traced to a grader defect are excluded and the grader is repaired.
›Frontier challenge tier — variants where the deciding fact lives only in the running environment. Before any model sees one, separate solvers fix it from the instruction alone and every correct fix must score 1; early screens have produced replay-verified frontier failures, shared under NDA.
›Sanitised production data — the ChannelForge database is a sanitised production snapshot: sessions and reset tokens wiped, emails and password hashes synthetic, keys, tokens and secrets redacted, organisation names synthetic. The ad-server data is generated from a seed script.
›Outside review — the two public sample tasks were audited with BenchGuard, an open-source auditor for agent benchmarks (run by us; not third-party certification), reviewed by our own engineers and by an outside technical reviewer, and re-audited after the fixes.
›Honest limits — grading still runs inside the agent's container, where the agent is root: a hook planted in the system Python can still forge a verdict, so tampering there is detected by audit, not yet prevented, until the separate, protected verifier passes acceptance. And the product's own regression suites report on themselves from a process that runs the agent's code; the milestones that decide the reward are judged outside it.

The bench has 120 active tasks on the certified 0.1.9 image, plus two public sample tasks: seven capability sets (A–G), a hard tier, cross-repo tasks that span two or more repos, and two long-horizon missions, plus a frontier challenge tier under review. Superseded or defective tasks are retired, not patched over (15 so far). It's domain-specific to streaming / adtech — a feature, since that's underrepresented in existing benches — and authored by us, which is exactly why the held-out verifiers, the sealed gate and the pass audits are non-negotiable.

// delivery & integration

Pull it into your own stack.

The world ships as a certified, versioned image and runs under Harbor today (signed private-registry delivery is being provisioned); standard environment interfaces come through adapters, so you run it inside your own training and eval loop. No Ventuno framework required. OpenEnv and HUD adapters are on the roadmap.

private registry
docker pull
FAST World
the world
your stack
train / eval
HarborRun the sealed, certified world (0.1.9) and its tasks under Harbor — how every gate and calibration run executes today.✓ live
Private registryPull the versioned, signed image by digest, with per-licensee access that can be revoked individually. Being provisioned.○ planned
Container adapterBring the world up and reset to a byte-identical, seeded baseline between episodes.✓ live
Gym-style reset / stepDrop the world into an RL training loop.○ planned
Agent / tool-call interfacePlug into your own agent harness — bring your own scaffold.○ planned
OpenEnv adapterRun inside any OpenEnv-compatible stack + list on the Environments Hub.○ planned
HUD adapterRun the world's tasks from a HUD-based eval harness.○ planned

Grading travels with the world: every task carries a programmatic, hidden verifier that returns a reward and verdict — whatever harness runs it.

// validation & results
screens done · results under NDA

We run the world before you do.

We run each world across a range of models, from a floor model to the frontier — both to show the tasks discriminate real capability, and to pressure-test and harden them. Success rates by model, a capability breakdown, the failure modes behind the numbers, and inspectable trajectories are shared with prospective licensees, not published publicly.

Calibration screens have run on a floor, a mid-tier and a frontier model, under Harbor. Every catalogue task passed its sealed gate on 0.1.8, and the full re-gate on the certified 0.1.9 image is in progress. A frontier challenge tier is screening now, and every failure is verified before it counts. Catalogue results stay under NDA: no model names or numbers here. The two public sample tasks come with their own verified results in the sample pack.
SCREENED
a floor, a mid-tier and a frontier model
SCREENING
frontier challenge tier · replay-verified failures

Licensing a world and want to see how it separates the models? request the results.

// licensing

What you get, and what we keep sealed.

Every task is assigned a split before it ships. The split decides whether its grader ever leaves our infrastructure.

SHIPS TO YOU
Training + development

Training (39) and development (61) tasks: instructions, environments and graders ship with the licensed image, so you can train and iterate inside your own stack.

STAYS WITH US
Private evaluation

Held-out tasks (18, plus the frontier challenge tier) whose graders never leave our run server. We run your model against them and return scores; task details and failure forensics are shared only after your evaluation, so it stays uncontaminated.

// how we share material
Overview, the two public sample tasks, their documents and verified results (the sample pack)
With any lab, without an NDA, to evaluate FAST World. Not for redistribution.
Model trajectories for the sample tasks (turn-by-turn JSON files)
Only under an NDA, or a cover letter, with an evaluation-only clause: third-party model outputs, not licensed for training or fine-tuning any model, and not for redistribution.
A guided demo of the running world
Under NDA.
The world image, the task catalogue and its graders
Under a definitive agreement (an evaluation or RL training licence).
// from first look to license
  1. 01Sample packTwo complete sample tasks — instructions, environments, hidden graders, reference solutions — with their gate results and verified model results. Shared with any lab, without an NDA, to evaluate FAST World.✓ live
  2. 02World CardThe certified image, its capability sets and the grader-trust proof, on one page.✓ live
  3. 03WalkthroughA live session: boot the world, reset it, run the grader gate, read the score.✓ live
  4. 04SandboxRun a curated demo task on our infrastructure and get a score back.○ planned
  5. 05Private evalWe run your model on held-out tasks and share scores and trajectories under NDA.◐ partial
  6. 06LicenseThe versioned image plus training and development tasks, delivered through a private registry (being provisioned).◐ partial

Start at step one: request access.

// a two-week evaluation

Start with a two-week evaluation.

In two weeks you get a measured, replay-verified view of where your model stands on a real production system.

YOU PROVIDE
Model or agent access (API endpoint or checkpoint), your harness preference, and one technical contact.
WE RUN
The certified image and the task tiers you choose on our run server — or we support you running them on yours. Every failure is replayed natively before it counts.
YOU RECEIVE
Scores by tier — with repeated runs where you need rates — every trajectory and grader log, a replay verdict for each failure, and full forensics after the evaluation.
// check it yourself

request access or write to subbu@ventunotech.com.

// status — an honest ledger
✓Components liveChannelForge, the SSAI ad server and the FAST World TV viewer are all deployed and running; all four channels stream end to end, with a viewer/operator mode and replayed agent challenges.
✓Ad insertionReal ad creatives are inserted server-side into real SCTE-35 breaks on all four channels, with per-break reconciliation and VAST tag ingestion. Honest caveats: creatives are 720p-upscaled, playout runs ~40s behind, and a short slate tail can show on an under-filled break.
✓Bench world imageCertified image channelforge-world:0.1.9 (23 October; linux/amd64, offline, no-network-capable) bundling all three products, fully re-certified rather than by difference against 0.1.8 (all three source pins moved, so every gate re-ran): 20/20 repeatable boots with a byte-identical baseline fingerprint, a 125-minute soak with 0 zombies, a clean stop and a healthy restart (0.1.8's database force-stop warning is fixed), green upstream suites (ChannelForge 744, ad server 269, viewer 75, each with any known exception documented), tini as PID 1. Trivy: no OS-package findings; one high finding in a vendored app's pinned dependency carries an evidenced not-affected exception bound to this image.
✓Bench tasks · held-out verifiers120 active catalogue tasks (15 more retired) across seven capability sets (A–G), a hard tier, cross-repo tasks and two long-horizon missions, split into training (39), development (61) and private evaluation (18), with 2 not yet assigned, plus 2 public sample tasks. Each carries a held-out behavioral verifier and passed a sealed gate on 0.1.8 (no-op 0, reference fix 1 ×3); the full re-gate on 0.1.9 is in progress, and every batch moved to the new grader design has already re-passed it. Most also carry trap / alt-correct / tamper mutation suites.
◐Frontier challenge tierScreening: variants where the deciding fact sits in the running environment, not the ticket. Early screens produced replay-verified frontier failures; each variant's grader is hardened and fully gated before it joins private evaluation. Details stay under NDA.
◐Grading isolationOn 25 October we found our graders could be forged by the agent's own code. 94 of 122 graders now never load it, including the 2 public samples and every licensed training and evaluation task; the remaining 28 development and unassigned tasks are in progress, and the whole library will be done before any catalogue task is shared with a lab. Grading still runs inside the agent's container, so pass results are audited rather than attested; a separate, protected verifier is built and switched off until it passes acceptance.
◐Adapters · OpenEnv · HUDThe certified image runs under Harbor today; private-registry delivery is being provisioned. Gym-style reset/step, an OpenEnv adapter and a HUD adapter are planned, not built.
◐Model calibration · resultsCalibration screens have run on a floor model, a mid-tier model and a frontier model, under Harbor, and every model failure is verified before it counts. Catalogue results — pass rates, failure modes and trajectories — are shared with prospective licensees under NDA, not published publicly. The two public sample tasks carry their own verified results (by model tier, no model names) in the sample pack, which any lab can request.
// sources

Build agents that can handle the real thing.

Working with foundation-model labs, coding-agent companies, computer-use teams and post-training researchers.