- On Jetty
- Author
- Run
- Investigate
- Improve
Creative Director / Branding
Evals as branding: from the first note to the final frame
Jonathan has been a visual artist for two decades and a member of the Directors Guild of America for 15 years. He’s building Dial0, a platform that gives independent filmmakers the tools to grow the industry outside the studio system. Jetty is used in two of Dial0's core workloads for an upcoming film called Radical Vermont that's premiering for the state’s 250th anniversary on July 8, 2027.
“Jetty lets me hand off complex, multistep workload and trust they’ll run reliably and consistently, so I can focus on creating.”
01 · Situation
Dial0 needs to analyze and generate all kinds of content. For Radical Vermont, that meant two things: sheet music so a live band can perform the film’s score at the premiere, and evaluation metrics to catch AI drift and keep every shot consistent.
- Sheet music for a live band: Code checks verify the song files against their recorded hashes. Gemini listens to the recording to pick out the instruments, then music21 turns the MIDI into notes on the score, and the result is judged based on five criteria until it clears the quality bar.
- Proof that each shot is getting better: Code checks confirm both renders match, then Gemini acts as a judge, grading the new render against the last one from −5 to +5 on quality and checking seven continuity categories for drift. Independent checks combine those grades into a final verdict so the model can’t grade itself into a pass.
Dial0 turned both jobs into runbooks with Jetty’s coding agent plugin, so their own coding agent could write, run and refine their runbooks themselves.
02 · Solution
Both workloads run as Jetty runbooks with two ways in: either as a tool called by an agent, or the app triggers the run automatically from inside the Dial0 interface.
That’s the same bring-the-job, we-handle-the-infra model Jetty runs on generally: describe the job once, point it at your own agent, and Jetty tracks the run underneath it.
- Phonograph: song to sheet music, with a master recording in and an editable draft score and instrument parts out.
- Cinescope: render progress review, grading every new render of a shot against the last one.
03 · Outcome
A small independent team can now produce band-ready sheet music and keep every shot consistent. Both run as repeatable jobs on Jetty, started from the app and checked on later. Image evaluations are tracked, so models and providers can be compared, and time and budget are saved by avoiding repeated failures and speeding up improvements.
Runbook
Cinescope
render progress review
Cinescope compares a new render with the previous one of the same shot and returns one label: better, worse, neutral, mixed or drift. Gemini Flash-Lite makes the observations in a single call; fixed code computes the scores and the verdict, so the model can’t grade itself into a pass.
Inputs


Change request: House lights off. Change the lighting only.
- Previous renderThe approved frame of the shot.
- New renderThe candidate to review.
- Change requestWhat was meant to change, and what may change.
Cinescope workload
Runtime configuration
- Agent
- Gemini CLI
- Model
- Gemini Flash-Lite
- Sandbox
- Isolated Python machine
- Started by
- The Dial0 app, or an agent calling it as a tool
Steps
- 1. Check the inputsCode checkConfirms both renders match their recorded hashes and makes review copies. The originals are never touched.
- 2. Compare onceJudgeGemini, as the judge, grades the new frame against the old one: four quality grades from −5 to +5 and seven continuity categories. One call, no retries.
- 3. Compute the verdictPythonFixed code turns the grades into a total and one label. Drift outranks a positive average, and missing evidence stays unscored.
- 4. Verify the reportCode checkJetty’s code checks confirm the outputs exist and the scores add up before Dial0 shows the result.
Evaluations
What the judge looks at
- Technical quality
- Coherence
- Composition
- Requested change
- Continuity: subject, wardrobe, background, props, pose, framing, materials
Each grade is a change from the previous render: 0 means unchanged, so only the requested change should move. Continuity breaks are flagged as drift even when the average is positive, and nothing is promoted automatically.
Outputs
Int. Big Picture Theater - Piano - Medium Shot
Better+5
Requested change +5. Every other grade is 0, meaning unchanged: no drift. High confidence.
- VerdictBetter, worse, neutral, mixed or drift, with the total.
- Grades and notesEvery grade, plus an observation for each continuity category.
- Run reportA short summary and each check’s result.
Where the result lands. A piano shot was re-rendered with moodier lighting. The requested lighting change scored +5, and subject, wardrobe, background, pose and framing all held steady, so Cinescope called it better: a real improvement, safe to build on.
Jetty reviewBetter
Int. Big Picture Theater - Piano - Medium Shot
Overall total
+5
Sum of 5 grades
- Technical quality
- 0
- Coherence
- 0
- Composition
- 0
- Requested change
- +5
- Continuity
- 0
A 0 score means there’s no drift on this quality dimension.


Assessmenthigh confidence
The candidate expertly executes the requested house-off relighting while maintaining flawless continuity across subject identity, props, framing, and textures.
Next step No further action needed; the candidate successfully meets all criteria.
Assessment details4 quality · 7 continuity checks
Quality
- Technical quality
- 0
- Clean, sharp focus with appropriate depth of field and no artifacts or noise.
- Coherence
- 0
- Lighting changes are cohesive, creating a believable dimmed theater atmosphere without breaking structure.
- Composition
- 0
- Composition mirrors the baseline precisely, maintaining strong visual hierarchy and readability.
- Requested change
- +5
- Successfully achieves the requested relighting for the house-off mood while strictly preserving all scene elements.
Continuity
- Subject
- 0
- The turtle puppet’s face, head shape, expression, and features remain identical to the baseline.
- Wardrobe
- 0
- The black shirt/vest and overall wardrobe are consistent.
- Background
- 0
- Background architecture, curtains, and railings match the baseline while successfully reflecting the darker house-off lighting mood.
- Props
- 0
- The upright piano, keyboard, and shell retain exact shape, texture, and placement.
- Pose
- 0
- Seated posture and hand placement on the keyboard are perfectly preserved.
- Framing
- 0
- Camera angle, shot scale, and framing are identical to the baseline.
- Materials
- 0
- Felt and wood textures remain crisp and consistent under the modified lighting.
Run & scoring detailsJetty run · Gemini Flash-Lite
- Run
- Jetty run · Gemini Flash-Lite
- Method
- Pairwise vision review, rubric 2.0.0
- Scoring
- Equal-weight mean of the applicable quality deltas and one continuity delta. Continuity uses the worst assessed preservation category, supplied anchor or unallowed aspect-ratio change. Drift and mixed outcomes keep their own labels regardless of the arithmetic mean.
- Scale
- Each grade runs from −5 to +5. Magnitude: 1 barely noticeable · 2 small but clear · 3 substantial · 4 major · 5 extreme. The header adds all five displayed grades (−25 to +25); a missing grade leaves the total unscored.
Visual grades are model estimates. The original wide reference was not supplied, so anchor drift was not assessed.
Final outputThe shot in motion (5 seconds)
Runbook
Phonograph
song to sheet music
A master MP3 and its MIDI files go in; an editable draft score and separate instrument parts come out. Gemini Flash listens to the recording to decide how to notate it, and Python’s music21 builds the score from the MIDI, so no model has to retype thousands of them.
Inputs

A-Minor Second Line Stomp
Aus Amerika · Master recording · 2:17
- Master recordingThe song as one MP3 (2:17).
- MIDI filesOne per source track, with every note’s pitch and timing.
- Source manifestEach file’s name and fingerprint (SHA-256 hash).
Phonograph workload
Runtime configuration
- Agent
- Antigravity
- Model
- Gemini Flash
- Sandbox
- Isolated Python machine
- Started by
- The Dial0 app, or an agent calling it as a tool
Steps
- 1. Verify the filesCode checkChecks the song, the MIDI and the helper code against their recorded hashes. Any mismatch stops the run.
- 2. Listen and planModelGemini listens to the MP3 and picks key, meter and instrument groupings. Every dropped track needs a musical reason; three calls at most.
- 3. Write the scorePythonmusic21 builds the full score and one part per instrument from the MIDI notes, so no pitch is retyped or lost.
- 4. Grade, fix, grade againJudgeScores the draft against the recording on five criteria. Below the bar, it fixes the weakest ones and grades again, up to three rounds.
- 5. Package and verifyCode checkZips the parts and writes the report; Jetty’s code checks confirm every file, the note counts and the call limit.
Evaluations
How the score is graded
- Pitch and rhythm fidelity
- Key, meter and form
- Instrument parts
- Notation readability
- Evidence and honesty
Each criterion is scored 1 to 5. A pass needs a 4.0 average with nothing below 3, and the score stays a draft until a musician reviews it.
Outputs
- Full scoreMusicXML in concert pitch, engraved to a 19-page PDF.
- Instrument partsOne editable part per instrument.
- Notation planEvery choice the model made, and what it was unsure of.
- Run reportScores, open questions and each check’s result.


