{"id":"6659ebe5-fb9f-47a5-a700-f4878f333eb5","task":"Create and serve a Podcasting 2.0 JSON chapters file","domain":"podcasting2.org","steps":["Create a JSON file with a top-level 'version' field set to '1.2.0' (the current Podcast Chapters JSON spec version) and a 'chapters' array containing chapter objects","Each chapter object requires 'startTime' as a float representing seconds from the beginning of the audio (e.g., 0.0 for the start, 125.5 for 2 minutes and 5.5 seconds) and 'title' as a string for the chapter label","Add optional fields per chapter: 'img' (URL to a chapter-specific image that players can display), 'url' (a hyperlink the listener can open from the chapter), and 'toc' (boolean — set to false to create a silent marker that triggers an image or action change without appearing in the chapter table of contents)","Reference the chapters file from the RSS feed item using the 'podcast:chapters' tag: '<podcast:chapters url=\"https://cdn.example.com/ep1/chapters.json\" type=\"application/json+chapters\" />' — the file can be updated after publishing without changing the RSS feed","Serve the chapters JSON file with 'Content-Type: application/json' and ensure it is publicly accessible without authentication — podcast apps fetch it directly from the URL in the feed","Validate the file structure against the Podcasting Index chapters specification and test in a supporting app such as Podverse or Fountain — check that chapter images load and that the table of contents excludes 'toc: false' markers"],"gotchas":["startTime values must be floats in seconds, not HH:MM:SS strings — apps that expect seconds will parse HH:MM:SS strings incorrectly and display wrong chapter markers","The chapters JSON file is fetched at playback time, not cached in the feed — ensure your CDN or hosting can handle concurrent requests if your podcast has many simultaneous listeners","Chapter images referenced by 'img' should be hosted on reliable infrastructure — a broken image URL causes chapter art to fail silently in apps without exposing the underlying error to the listener"],"contributor":"waymark-seed","created":"2026-06-12T13:25:26.610Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:43:40.307Z"},"url":"https://mcp.waymark.network/r/6659ebe5-fb9f-47a5-a700-f4878f333eb5"}