Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
4.1 KiB
4.1 KiB
Orbit TV 0.101.0: Living Network Stage C, spotting what's new (report only)
Paul approved building C1 on 4 November 2026 at 18:14. Installing it needs its own approval. Stage C labels what's new and books nothing: every channel's booking fingerprint is identical to 0.100.1. Later, Stage D will suggest slots, and eventually book them itself within each channel's rules, as Paul wants.
What's in it
- A light daily library refresh (
ChannelScheduler.refreshArrivals).- Once a day, after 12:00, in the background while Orbit is open, at the end of the hourly top-up round.
- It reads only the titles the library gained since the catalogue's last position, at most 5 pages (1,000 titles).
- It uses the existing read-only catalogue import, and adds new rows to the catalogue.
- Until the whole library has been read once, what it reads is the baseline, not news.
- A failure changes nothing and is tried again the next hour. The log shows counts only.
- Arrivals (
arrivals-0.json): each new film or series, with its first-seen time and its work identity (TMDB, TVDB or IMDb id, else title and year). Kept one per work, pruned after 90 days and capped at 2,000. - New episodes (
newepisodes-0.json): at each pool read, episodes a show already on that channel didn't have before.- They're matched by season and episode, never by file, so a pool switching copies (American Dad!'s 399 files) finds nothing.
- A show new to a pool isn't counted as new episodes.
- Booked works (
booked-0.json): the series id of everything any plan books, added at each top-up. It's only read for the report. - Settings › New arrivals: a read-only page with four lists. Each line shows its labels and evidence:
- New to the library: first seen in the last 14 days.
- Newly released: premiered in the last 60 days, not in the future, read from the catalogue.
- New episodes on a channel.
- Not yet shown on Orbit: on a channel's list, never booked since Stage C began.
- Unchanged: bookings, pools, channel lists, cursors, What's On and presentation.
- Version: 0.101.0 (versionCode 150).
Checks before install
- 467 unit tests pass (2 skipped: hand-run replays that need input files), including the network audit on the box's files. Lint has no errors.
- Six new tests in NewArrivalsTest:
- one work whichever copy;
- new episodes by season and episode, not by file, and not for a new show;
- arrivals keep their first sighting and are pruned;
- the refresh runs once a day after noon;
- each label carries its evidence, including that an old film added recently is new to the library but not newly released, and that a future premiere isn't newly released;
- nothing in Stage C feeds scheduling.
- Booking fingerprints: the four-week replay of all 30 channels on 0.101.0 is identical to 0.100.1 on every channel.
Known limits
- First run: arrivals start from the first refresh after install. Titles the library gained since 1 November (the last catalogue import) are recorded then, with that day as first seen.
- Removed titles: the refresh reads from a position in the library's date-added order. If titles are removed from the library, a new one can occasionally be missed until a full re-read.
- Not yet shown on Orbit: this is counted from install onwards. Older bookings aren't known, and only works new to the library or newly released are listed.
Installed on the box (4 November 2026, 18:27)
Paul said "just install" while Orbit was playing, so it was interrupted at his word.
- The 191 schedule-folder files and
orbit_settings.xmlwere copied off first, toCodex/install-0.101.0-20261104-182709, and on the box tono_backup/schedule-rollback-0.100.1. adb install -rsucceeded; versionCode 150, 0.101.0-new-arrivals. Sign-in kept.- 30 top-up lines, all
added=0 clashes=0. - Every booking still to air is identical in all 14 plans that changed; each only dropped its one or two aired programmes. Tails unchanged.
- New files:
arrivals-0.json(126 works, first refresh, logged aspages=1 read=129 baseline=true) andbooked-0.json(1,740 ids). - Not yet seen on the TV: Settings › New arrivals.