Universal CallSheet (UCS)
Tagline:
Deterministic script revision cascades and offline safety governance for film production.
Agentic Cinema Hackathon — Grafana Labs Track
A deterministic, multi-step agent on Google Cloud Gemini that turns one script revision into per-department work deltas and a safety escalation, lighting them up on a self-hosted Grafana gauge wall. It keeps working with no internet connection.
- Team: Sean Morin, Sehrish Majeed
- Track Partner: Grafana Labs (Grafana OSS self-hosted, driven through the official
grafana/mcp-grafanaMCP server) - Platform: Google Cloud Gemini (Vertex AI Express Mode / AI Studio) + Agent Development Kit
The Problem
Ninety-five percent of produced films take three or more rewrites before principal photography. A revision lands as colored pages, distributed manually by the script supervisor. Nothing cascades automatically to props, wardrobe, locations, stunts, or the safety officer. The documented symptoms on set are actors reading the wrong line and assistants photocopying at 3 AM.
The safety implications are far more severe:
- Deadpool 2 (Vancouver): A stunt was added without a risk assessment, stunt safety checklist, or perimeter control. A rider was killed, resulting in WorkSafeBC fines.
- Fast & Furious 9: A stunt changed after rehearsal, but safety matting was not adjusted accordingly.
The pattern across a decade of set fatalities remains consistent: the work changed, but the hazard assessment did not.
Alberta’s OHS Code explicitly states in s.7(4)(c) that a hazard assessment must be repeated "when a work process or operation changes." Prior to this project, film sets lacked an automated mechanism to enforce this requirement.
What the Agent Does
- Jurisdiction: The user selects the shoot jurisdiction prior to execution. All threshold parameters are loaded dynamically from this choice. Shipping rules include Alberta (NCSO-authored) and British Columbia (WorkSafeBC regulation text). Every table explicitly declares its provenance.
- Diff: Computes scene-by-scene script revisions comparing modified pages against the locked script.
- Cascade: Extracts typed work deltas for affected departments (Props, Wardrobe, Locations, Cast, Stunts).
- Hazard Tag: Categorizes introduced hazards across established risk rows: stunts, pyrotechnics, working at heights, power tools, electrical, pressure, chemical, confined space, vehicles, water, firearms, exterior exposure.
- Weather: Pulls live ambient wind, cloud cover, Pasquill-Gifford stability class, and lightning distance metrics for the shoot location.
- Escalate: Evaluates a fixed escalation ladder (
GREEN➔STOP) authored by a certified National Construction Safety Officer (NCSO). Stunt and pyrotechnic changes require strict sequential clearing. The escalation level is evaluated deterministically by code logic—never by the model. - Publish: Pushes all departmental deltas and safety escalations directly to Grafana as real-time metric readings and annotations via the official MCP server.
- Offline Fallback: Gemini executes language tasks (Steps 1–3) online. When network connectivity is lost, an on-device Gemma sidecar takes over Steps 1–3, maintaining real-time updates to the local Grafana wall.
Repository Boundary & Disclosures
- This repository was created net-new for the hackathon. No proprietary code, private assets, or trade doctrines were ported.
- Disclosed Dependency: An offline Gemma sidecar published for a prior Google competition is utilized as an un-modified external component.
Commit Exclusions
- API keys, service account JSON files,
.envfiles. - Any pre-existing private project files.
Technical Pipeline Architecture
[ Revised Script Pages ] ──► ( Step 1: Diff Engine )
│
▼
( Step 2: Cascade Engine )
│
┌───────┴───────┐
▼ ▼
[ Department Deltas ] [ Hazard Tags ]
│
▼
( Step 3: Weather Integration )
│
▼
( Step 4: Rule Engine / NCSO Ladder )
│
▼
[ Deterministic Status: GREEN ➔ STOP ]
│
▼
( Step 5: Grafana MCP Server )
│
▼
[ Grafana Dashboard Wall ]
src/agent/ # Agent implementation (Gemini calls, rule evaluation, Grafana publish)
docs/ # Architecture diagrams and submission notes
.env.example # Required environment variable templates
python -m venv .venv
.venv\Scripts\activate
pip install -e .
copy .env.example .env # Configure local credentials

Log in or sign up for Devpost to join the conversation.