Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2.0 KiB
2.0 KiB
Orbit TV 0.99.2: permanent film-clash regression checks
This is the third isolated editorial correction (clash checks), from the proposal of 4 November 2026. It adds checks only. No scheduling rule changes.
What's in it
- NetworkClashTest (runs with every build). Channels top up in turn every six hours for four weeks, each avoiding the others' plans, as the box does:
- Two film channels sharing ten films, with small pools that want them often, never screen one together.
- A show shared between an equal-turns channel and a weighted channel never airs on both at once, and still airs on each.
- When a clash can't be avoided (one show, two channels), the booking says so in its reason, on either rule.
- The real-pool network replay (EditorialCorrectionsAuditTest, hand-run on copies of the box's files) now fails if any new booking is on another channel at the same time.
- On the box: each top-up's log line now ends with
clashes=N, counting how many of the programmes just added are on another channel at that moment. It's computed from the same plans the scheduler avoided, so it should always read 0. It's counts only, with no titles. - Weighted rotation: when every show in a block airs elsewhere at that moment, the booking's reason now says "fallback: every show here airs elsewhere then", as equal turns and films already did. The choice itself is unchanged.
Checks before install
- 405 unit tests pass, including the hand-run replays on box copies from 4 November 00:40. Lint has no errors.
- Real-pool network replay, all channels together for four weeks: 0 new bookings clash. The only overlap is Shaun of the Dead on 7 November (BritX 14:19, After Dark 14:43). Both are committed bookings made before film channels avoided each other, and they stand under the never-rewrite rule. The coordinated cutover can drop one of them.
- Fingerprints: a four-week replay of all 30 channels is identical to 0.99.1.
Rollback
Install 0.99.1. No saved data changes.