Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
4.4 KiB
0.109.0: Advent on Orbit, built and replayed, NOT installed
Paul approved the 25-door list and the ident previews on 4 November 2026 ("those look perfect"). This release is built and verified only. It isn't installed and nothing is booked, and it needs his separate approval. The Naughty List and the anthology changes aren't in it.
What it does
The 25 doors are in AdventOnOrbit.kt, each pinned by its Emby item and IMDb ID: Wonder 612, VHS 306, Premiere 301 and BritX 309.
- Doors 1 to 24 are at 18:00, except Door 19 at 17:00 (see the note below).
- Door 25 is at 17:00 on Wonder.
Verified on the box:
- When: at most once a day, from about 22 November, when the first door comes inside a week's booking.
- How: in one read-only request, each film is checked by
checkEventFilmas the Drive-In events are: the same item, the same IMDb ID, a year within one, and a copy this box can decode with a runtime. - What's saved: the verified list goes to
episodes-9025.json, and the log carries counts by reason only. - If a film fails: its door isn't booked, and the channel carries on as usual.
Fixed slots (FixedSlot, in extendFilmSchedule):
- Only appends: a door is booked only when its time comes inside a channel's normal top-up. Nothing already booked is touched.
- No squeezing in: a door whose time is already covered by committed bookings isn't booked late or over anything.
- Landing on time: before a door,
runToSlotplans the films as a run of up to three that ends at the door's time or just after it. It prefers rested films, and uses others not shown in the last two days only if needed. If even that fails, the usual appointment fit applies.
The hold: each door's film is kept out of every film channel's rotation, and the Drive-In's, for 14 days either side of its door. It matches by item or title (adventHeld).
Presentation:
- Keys:
advent.door(Doors 1 to 24) andadvent.door25(Door 25). - Clips:
res/raw/block_advent_door*.mp4and stings, the app versions of the approved previews, with no number or title baked in. - What the app draws (
AdventDoorOverlay): the door number from the broadcast's own local date, tracked onto the opening door; the booked film's title inside the door; and the strap ADVENT ON ORBIT · DOOR N. - Door 25: its greeting and strap are in its clip.
- Fallback: a booking without its door's key gets the channel's normal ident, as before.
What's On: a booked door shows as ADVENT ON ORBIT · DOOR N, scoring above weekly events. An unbooked door appears nowhere.
Checks
- Tests: 487 unit tests run, 0 failures; lint unchanged (the same 22 warnings as before, none new).
AdventOnOrbitTestadds 7 tests:- the doors as approved, with no film shared with the Drive-In events;
- the door number from the broadcast date, including after midnight and outside Advent;
- a door booked on time that only appends;
- a door whose time is already committed isn't squeezed in;
- holds in film channels and the Drive-In;
- only verified doors become slots;
- What's On shows booked doors only.
- Replay on the box's own files (copied at 20:27 today):
AdventReplayTesttops up every channel every 6 hours from 4 November 20:30 to 27 December, with and without Advent. Output:docs/replays/advent-doors-0.109.0.txt.- All 25 doors are booked. 21 start within 5 minutes of their time. The latest are Door 12 at +16, Door 22 at +14 (both on Premiere, whose films run 2 to 3 hours) and Door 19 at +12.
- Door 19 starts at 17:12 and ends at 18:49, before the Drive-In opens at 19:00.
- Door 25 starts at 17:04.
- No overlaps on any channel.
- 0 committed plans changed.
- 0 door films in any rotation within their hold.
- Channels that differ from the run without Advent, all from 22 November onwards (nothing committed):
- The four door channels: their doors and holds.
- 613 (Junior): it had The Polar Express in its rotation, which is now held.
- 304, 602 and 603: later knock-ons of the clash rule, as other channels' films move.
- Rollback: reinstall 0.108.0. Older versions ignore
episodes-9025.json, and plans keep their format. Any door already booked would stay booked as an ordinary film, with no door ident.
Door 19: Paul asked for 16:30. The engine books fixed slots on the hour, and at 21:05 he chose 17:00. The release already has 17:00.
APK: outputs/revision-0.109.0, signed. Not installed.