Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
6.8 KiB
0.108.0: curated Drive-In events (Stage F booking release), built and replayed, NOT installed
Paul approved the ten event concepts and dates on 4 November 2026 at 19:40, and asked for this release to be built and verified, with nothing installed or booked until he approves separately.
What it does
The ten events are fixed in DriveInEvents.kt. Each film is pinned by its Emby item and IMDb ID, read from the box's catalogue at 19:42 today, which holds 132,674 items.
When the Drive-In next books an evening, it reads those 25 items from Emby in one request, together with their media, IMDb IDs and cast. Each film is then checked by checkEventFilm:
- the same item and the same IMDb ID. A copy without an ID doesn't count, so the library's unlabelled copies of Commando and Spirited Away are never used;
- a year within one of the listed year;
- a copy this box can decode, with a runtime;
- for the Arnie Triple Bill, Arnold Schwarzenegger listed as an actor in each film's own Emby People data. Title recognition alone isn't enough.
The verified list is saved as the Drive-In's pool and re-read at most once a day, only when the Drive-In is about to book. If a read fails, the last verified list is kept.
On an event's evening, the event takes the main bill at its own time, or the late slot for the three late doubles. It is booked only if every film is:
- verified;
- rested 14 days at the Drive-In;
- clear of every other channel's bookings.
If any film fails, the event isn't booked at all and the evening is booked as usual. The log carries counts and reasons only, such as event=arnie skipped=unverified, never titles.
On a late double's night, the 20:00 film is chosen short enough to leave a 30-minute break before 23:00.
Triples end the night. Three of them run past midnight (Arnie 00:05, Ghibli 00:14, Christmas 00:29), and nothing else is booked that night.
In the weekly rotation:
- Each event's films are held back for 14 days either side of the event, so the event always finds them rested.
- The hand-written doubles and triples respect the same hold.
Late Show eligibility: lateShowEligible leaves out anything over 3 hours, and compilations by their title (sampler, trailer reel, compilation, supercut). It never reads studio or rating, so independent and cult films without that metadata stay eligible. Braindead and Thesis are both tested.
Nothing already booked is touched:
- Evenings already on the calendar are kept exactly, including Extra Weird Sampler on Monday 9 November.
- Tickets are keyed by start time, and every booked start is unchanged.
Presentation:
- Events booked with an approved Batch 5 takeover show its board on the Drive-In screen in place of the Drive-In mark: Orbit Fright Nights for Hammer, Universal, Amicus, J-Horror and Troma; Arnie Triple Bill; Christmas at Orbit.
- Shaw Brothers, Ghibli and Rambo use the normal Drive-In identity.
- Bill rows say SPECIAL EVENT.
- The Drive-In has no idents of its own today, so the takeover videos aren't played. That would be a separate change.
What's On:
- A booked event is a DRIVE-IN EVENT card, which outranks the weekly bills.
- It reads only the Drive-In's saved plan, so an event that isn't booked appears nowhere.
Checks
-
Tests: 479 unit tests run, 0 failures; lint clean (the 4 unused-resource warnings were there before).
DriveInEventsTestadds 11 tests:- event ordering and times;
- a late double after a short enough main film, past midnight;
- an unverified film skips the whole event, and the log carries no titles;
- a clash with a channel skips the event;
- rest both ways: an event isn't booked if a film is unrested, and the rotation holds event films back;
- everything booked and every ticket start is kept;
- restart changes nothing;
- Late Show eligibility;
- What's On shows only booked events;
- the item, IMDb and cast checks, including the unlabelled Commando copy;
- the ten as approved.
-
Replay on the box's files (copied at 19:27 today; Orbit hasn't run since) with
DriveInEventsReplayTest, booking day by day from 4 November 19:30 to 21 December. Outputs:docs/replays/drivein-events-0.108.0.txt, and the same run without events indrivein-baseline-0.108.0.txt.- All 10 events are booked on their dates at their times. The full lists are in the file.
- No screenings overlap.
- The 20 committed screenings are identical, Extra Weird Sampler included.
- No film repeats within 14 days. The only repeated title, Dracula on the 13th and the 14th, is two different films: Hammer's 1958 and Universal's 1931.
- No Late Show after the committed ones is over 3 hours. The log notes one excluded film, the Sampler.
- Late doubles: the 20:00 films on those nights are Mr. & Mrs. Smith (125 min), Hard Target (99) and Mad Max: Fury Road (120), each ending at least 30 minutes before 23:00.
- Evenings after 11 November that aren't events differ from the baseline. They are future bookings that don't exist yet, and they shift because event films are held back from the rotation.
-
Not provable off the box, so they run on the box at booking time:
- the decoder check of each film's actual file;
- Emby's People data for the Arnie films;
- clashes with channel bookings beyond the current week. Channels book 7 days ahead, as the Drive-In does, and avoid its films once they're booked.
An event that fails any of these on the box simply isn't booked, and the log says why.
Rollback: reinstall 0.107.0. The Drive-In's events pool (episodes-300.json) is ignored by older versions, and plans keep their format.
APK: outputs/revision-0.108.0, signed. Not installed.
Installed on the box (4 November 2026, 20:05), in the background
Paul approved the install at 20:05.
- How:
adb install -ronly, while Silo stayed in front. - Snapshot first: the 194 files and
orbit_settings.xmlwere copied toCodex/install-0.108.0-20261104-200552, and on the box tono_backup/schedule-rollback-0.107.0. - Install: versionCode 157.
- Every file is byte-identical before and after, so every screening and every ticket is unchanged. That includes Extra Weird Sampler on 9 November.
Event eligibility on the box hasn't run yet, because it needs Orbit running and signed in to Emby.
- When it runs: the Drive-In is booked through Wednesday 11 November, so its next booking pass, and with it the one read of the 25 event films, comes the first time Orbit is open after about 06:00 on Thursday 5 November.
- What it writes: the verified films go to
episodes-300.json, and the log linechannel=300 eventFilms=25 ...carries the counts by reason. - Per-event results: each event is booked or skipped as its evening comes into the week ahead, from Hammer on Friday 13 November (booked on about the 6th). Each is logged as
event=<key> bookedorskipped=<reason>.