{"spec":3,"kind":"site","generatedAt":"2026-09-12T06:01:16.115Z","generator":"Archilyzer (https://archilyzer.pages.dev)","site":{"id":"testsite","title":"Test Site","description":"A fixture archive composed from one YouTube channel.","url":"https://testsite.example"},"totals":{"channels":1,"videos":1},"channels":[{"slug":"test-youtube","name":"Test YouTube Channel","videoCount":1,"groupId":"default","manifests":{"transcripts":"https://testsite.example/transcripts/test-youtube/manifest.json","subs":"https://testsite.example/subs/test-youtube/manifest.json"}}],"shardScheme":{"description":"Transcripts are served as paginated JSON shards — there is no per-video file. To read one video's transcript: (1) GET the channel's transcripts manifest; (2) look up the video id in its `slugToPage` map to get a page number N; (3) GET page-.json (N zero-padded to 4 digits) and take the record whose `id` matches.","transcriptsManifest":" -> { pageCount, slugToPage: { : } }","transcriptPage":"/transcripts//page-.json -> array of { id, title, uploadDate, duration, channel, description, tags, webpageUrl, platform, cues: [{ start, end, text }] }","subsManifest":" -> lighter list-view records under the same slugToPage scheme","summariesIndex":"/summaries/manifest.json + /summaries/page-.json -> cross-channel browse index","pageNumberFormat":"zero-padded to 4 digits, e.g. page 0 -> page-0000.json"},"useWithAi":"https://testsite.example/use-with-ai","bulkArchives":{"manifest":"https://testsite.example/archives/manifest.json","note":"Whole-channel transcript and live-chat archives for offline bulk ingestion."}}