summaryrefslogtreecommitdiff
path: root/CLAUDE.md
diff options
context:
space:
mode:
Diffstat (limited to 'CLAUDE.md')
-rw-r--r--CLAUDE.md19
1 files changed, 17 insertions, 2 deletions
diff --git a/CLAUDE.md b/CLAUDE.md
index 0316ec3..ed4373d 100644
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -129,11 +129,26 @@ downloaded at once, Facebook videos are supported, the library ranks shows by th
**Tier 3 skip detection — audio fingerprinting of theme music — is still not built.** Peter
deferred it; the design plan puts it in Phase 3 and wants a desktop prototype against real
-episodes before any Android code. ID3 `CHAP` frames are also not read: that means parsing ID3
-out of a possibly-partial MP3, and the JSON path covers the shows that mark chapters at all.
+episodes before any Android code.
+
+**ID3 `CHAP` frames are dropped, not deferred** — decided 2026-09-26 by measuring Peter's actual
+61 subscriptions rather than guessing. Every feed's newest episode was fetched far enough to read
+its whole ID3 tag (declared size, not a guessed window — several are multi-megabyte, Cruising the
+Waves is 10MB of cover art). **Not one carries a CHAP frame.** The frames present are all artwork
+and metadata: APIC, TALB, TIT2 and friends. Exactly one show, Wards Way Podcast, publishes
+chapters at all, and it does so as Podcasting 2.0 JSON, which is already supported. The survey
+scripts are worth rerunning rather than re-deriving if this ever comes back up.
+
+**Ad-chapter skipping has nothing to act on in Peter's library yet.** That same survey: the one
+show with chapters has six navigable chapters and *zero* marked `toc: false`. The feature is on
+by default and correct; it is simply waiting for a publisher who marks breaks.
**Known gaps in what is built** (deliberate, not forgotten):
+- **A feed can carry two `<...:chapters>` elements per item** — the podcastindex one with a
+ `url`, and a podlove one with none. Buzzsprout emits both. The parser takes the first non-null
+ url, so order does not matter; a naive last-wins read gets null and silently loses chapters.
+
- **Ad-chapter skipping trusts `toc: false` and nothing else.** No title matching: a show
discussing its own sponsorship deal has a chapter called "Sponsors" that is the actual
programme. It shipped off by default out of caution and Peter asked for it on after living