Inspiration

Script clearance is mandatory if you want E&O insurance, and almost nobody does it early. A clearance attorney costs $1–3k, takes about a week, and delivers a memo after the budget is already locked. Independent producers mostly skip it and eat the risk. We kept coming back to the same question: a clearance department is really four specialists reading the same script and arguing about it later. That's an agent system. So we built the department.

What it does

Upload a screenplay. Four desks — rights, ratings, physical safety, territory censors — read it concurrently, research the outside world live, and file findings. A flag without a citation is structurally impossible: the filing tool rejects it. Every flag then goes to a blinded verifier that only sees the claim and its evidence, not the desk's reasoning, and rejections stay visible in the report with reasons. The Ratings Board predicts your MPA rating by nearest-neighbor search over 2,487 released films' content profiles ("7 of your 8 closest comparables are rated R"), with the exact cut list to reach PG-13. Everything lands in a marked-up script plus a risk report where each finding has a remedy and a price.

How we built it

Google ADK end to end: a SequentialAgent pipeline whose middle is a ParallelAgent fanning out four LoopAgents, Gemini Flash on the desks, Pro reserved for the adjudicator. Parallel Search API is the desks' only window to the web — music ownership chains, insurer rules, censorship law — grouped per run with session ids. The comparables corpus is ClickHouse Cloud, built from Wikidata ratings and Wikipedia content profiles. FastAPI and SSE on Cloud Run stream the whole run live, scene by scene. The demo screenplay is an original short we wrote ourselves, seeded with known traps and an answer key, so make eval grades the pipeline against ground truth (currently 19/20).

Challenges we ran into

Our first architecture was a tidy pipeline: extract entities, one search each, four prompts, merge. We killed it on day two. It couldn't chase an ownership chain (song → composition owner → master owner) or decide when to stop digging. The desks had to become agents with budgets, not scripts.

The verifier was the hardest part. Early on it kept executing our best flags — it would claim a lyric "wasn't in the script" because we'd silently truncated the scene we handed it. The fix was philosophical as much as technical: scene text is ground truth, truncation must be visible, and a verifier judges the premise, not the prose.

Then consistency. The same script scored 37, 63, and 46 on three runs. We diffed the runs: category names drifted, severities flipped, duplicates inflated counts, and the verifier saw different evidence each time. Fixed with fixed category vocabularies, severity anchors, temperature 0, deterministic dedupe, and a durable research cache. And our first ratings corpus failed outright — 1% extraction yield, plus a regex that happily matched "PG" inside "PG-13" — which forced the pivot to content profiles.

What we learned

Never let the model assert what you can retrieve. Gemini does judgment; Parallel does the world; ClickHouse does the comparisons. Every reliability problem we hit traced back to violating that rule somewhere.

What's next

A deep-scan tier that runs the panel three times and reconciles, PDF reports for insurers, and partnerships on the E&O side — the report is already shaped like what underwriters ask for.

Built With

Share this project:

Updates

Submission history