Files
OrbitTv/docs/VERIFICATION-0.96.0.md
pauljdandClaude Opus 5.5 88e80214de
pauljd/davidson-ci: Davidson CI / quality (push) Failing after 1m52s
pauljd/davidson-ci: Davidson CI / ai-review (push) Failing after 1m33s
Record the Aliens changeover seen on air
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-11-04 00:16:02 +00:00

6.3 KiB

Orbit TV 0.96.0: special idents for the live blocks and events (Stage 3)

Stage 3 of the execution order, approved by Paul on 3 November 2026 with safeguards. Presentation only: no scheduler rule, pool, plan or rotation changes.

What's in it

  • Presentation keys (DayPart.key, ChannelIdentities.kt) on the 20 approved, scheduled blocks and events: Riot Laughs, Stunt Night, After Hours; After Dark B-Movie Throwbacks, The Midnight Drive-In (Joe Bob Saturdays), Cult Classics (each clip carries the shared After Dark Presents frame); Horror Slasher Saturday; Gold Sunday Gold; Three Scottish Comedy Night; Vortex Movie Night; Orbit 2 Retro Action and Spooky Teatime; Ring X's six weekly nights and PPV Sunday; Terra Sunday on Terra.
  • Saved with new bookings: each newly booked programme keeps its block's key (ScheduleEntry.presentation, "p" in the plan file), but only when it was actually drawn from that block's own titles, so later rule changes can't reinterpret it and an ordinary programme in a themed window gets nothing.
  • Older bookings (presentationOf): a key only when the recorded scheduling reason names exactly one keyed block or event that covers the programme's start (Ring X's six nights, which share a name, are told apart by the day). No reason, an old block layout ("whole pool", "event 0-24") or anything ambiguous gives the ordinary channel ident. Nothing is worked out from the clock or the title alone, and committed plans are never rewritten.
  • Choice at a changeover (blockIdentFor): the next booked programme's key, if it differs from the current one's and has approved artwork, plays that block or event's 4-second ident; otherwise, including between programmes inside a block, the channel's own ident. Missing artwork, Idents off or Special idents off all fall back to the channel ident. The early-ending path (0.95.1) uses the channel ident.
  • Timing: the same pipeline as every ident: next programme loaded 12 s ahead, the ident covers the last 4 s instead of 7, holds its clean last frame until the next programme's first picture, and the next programme starts on time.
  • Dynamic text: Ring X nights share one clip; the app draws the night's rope colour (ropes light bottom to top from 2.0 s) and its name banner on the apron (wipes in from 2.3 s), complete by 2.7 s, at the clip's settled camera positions. PPV Sunday's "TONIGHT" lower third shows the booked programme's own clean title from 2.7 s, settled by 3.05 s, only for a programme booked from the PPV event; a long title wraps to two lines, a missing one leaves the lower third out.
  • Sound: block idents are silent; their original stings (AAC, about 25 KB each) play only with the new Special ident sound setting, off by default. The 0.95.2 audio-clock reset and the 0.95.7 passthrough behaviour are unchanged (block idents use their own small player, as all idents do).
  • Settings: Special idents (on by default) and Special ident sound (off by default), under Watching.
  • Not shipped: Drive-In takeovers, themed director/actor/franchise/decade nights and Premiere First Screening / New Arrivals stay documented and ready in design/channels, inactive until their scheduling exists.

Assets: 15 clips and 15 stings in res/raw (block_.mp4, block__sting.m4a), 3.2 MB; the app is 34.9 MB.

Checks before install

  • 376 unit tests pass (12 new in PresentationTest, plus the hand-run PresentationReplayTest); lint has no errors.
  • Two-week replay on copies of the box's real pools and committed plans (docs/replays/presentation-replay-2026-11-03.txt): 83 changeovers would get a special ident. Every committed programme came through exactly unchanged (committedKeptExactly=true). Of the 83, one comes from a committed booking's recorded reason (Orbit 2 Retro Action, 10 November 00:17, "block 0-6"); the rest are new bookings with saved keys, from 10 November onwards, as each channel books new days.
  • Cross-midnight: unit tests cover Slasher Saturday at 01:00 Sunday and Cult Classics at 00:30 Monday; Sunday on Terra and PPV Sunday (WrestleMania III, 15 November 19:06) appear in the replay.
  • Never before unrelated programming: keys are only saved for programmes drawn from the block's own titles (unit-tested for series and film channels), and every replayed transition is to a programme of that block (for example Riot Laughs to Seinfeld, Friends, It's Always Sunny; Slasher Saturday to The Burning, Friday the 13th).

Known limits

  • Because several channels' committed week was booked before their identities (Riot, Gold, Three, Vortex, Ring X, After Dark; noted for the Stage 4 audit), most special idents only start appearing from about 10 November, as new days are booked. This follows the rule of never rewriting committed plans.
  • The 4-second timing, overlays and final frames are tested here only as code and timing logic; on the box they need watching (Stage 3 acceptance).

To check on the box after install

Representative changeovers as they come: Orbit 2 Retro Action at 00:17 on 10 November (the first, from a committed booking); Riot Laughs and After Hours from 10 November; a Ring X night from 10 November (rope colour and banner, no pop-in); Scottish Comedy Night and Vortex Movie Night 13 to 14 November; Slasher Saturday and Joe Bob 14 November; Sunday Gold, Sunday on Terra and the first PPV Sunday with its title on 15 November. For each: no blank frame or flash, no return to the outgoing programme, a clean held last frame, overlays complete before the hold, the next programme on time. Playback notes log "block=" on each one.

Rollback: reinstall 0.95.7 (outputs/revision-0.95.7).

Install (3 November 2026, about 23:18, with Paul's OK)

  • Installed over 0.95.7; all 31 committed plans byte-identical before and after.
  • Settings: Special idents and Special ident sound aren't stored yet, so they take their defaults: on and off.
  • Paul at 23:19: launches, normal playback, no drift or decoder regression (films on Sci-Fi). Standard ident changeover: to be confirmed from the log at the end of Aliens (00:07). Special idents on air: first expected 10 November (Retro Action 00:17), PPV Sunday 15 November.

On-air check (4 November 2026)

  • Paul watched the end of Aliens on Orbit Sci-Fi (303) at about 00:08, running 0.97.0. The Sci-Fi channel ident played and the next film followed cleanly. The playback notes show the next programme starting at 00:08:08 with offset 0.