From 10abc31e8220b39231cac31ee96109071c56c950 Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 19 Oct 2026 09:15:03 +0000 Subject: Record that lowering the noise floor to 8s is wrong The 12s floor cut real detection on shows with verified ads -- LeVar Burton Reads fell from 19.0 to 10.5 minutes found against a 26.6 minute gap -- so 8s looked like the fix. Measured on an isolated copy of the live data it is not: Sleepy History at 8s finds 174 minutes of "advertising" in a show that has 48 seconds of it, worse than the 4s floor that produced Peter's original complaint. MinRunSamples and MergeGapMs interact and cannot be tuned separately. A low floor lets noise fragments survive and the 60s bridging then welds them into enormous spans. Had only LeVar been measured the floor would have been lowered. Also re-pins .coverage-baseline, which the hook left modified after d96c876 deleted covered readout code. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_018AwnALZL6bD4VBtATDVv3B --- CLAUDE.md | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'CLAUDE.md') diff --git a/CLAUDE.md b/CLAUDE.md index 36d8eaa..d3ecf9c 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -332,6 +332,14 @@ by default and correct; it is simply waiting for a publisher who marks breaks. length gap it drops agreement from 67% to 43%. Detection already under-reports. Table in `docs/detection-findings.md`. + **Do not lower `MinRunSamples` below 12 seconds, and never tune it without `MergeGapMs`.** + Measured 2026-10-19 against a copy of the live data. An 8-second floor nearly doubles real + detection on LeVar Burton Reads (10:30 to 19:43 against a 27:35 gap) and simultaneously makes + Sleepy History find **174 minutes** of "advertising" in a show that has 48 seconds of it -- + worse than the original 4-second floor. The two interact: a low floor lets noise fragments + survive and the 60-second bridging then welds them into enormous spans. Measuring only the show + that improves gets you the opposite of the right answer. + Breaks are published as ranges into `episode_midrolls`, which `MidrollSkip` and `PlayheadPolicy` already read -- no playback changes, no migration. Two guards publish nothing rather than something wrong: an episode whose matches cover over 35% of it, and any single -- cgit v1.2.3