- Video detail (done videos): added 'Download audio' button; removed the
manual 'Thumbnail' button (thumbnails auto-download now, so it was redundant).
- New 'GET /api/videos/{id}/audio' endpoint (also serves HEAD for probing),
serving data/audio/<video_id>.mp3. Audio job outtmpl switched to %(id)s so
files are addressable per video.
- Integrated <audio> player appears in the detail view once the MP3 is present
(probed via HEAD on openVideo; polled after a download job until ready).
- Synced transcript follower: as audio plays, the matching segment is
highlighted (seg-active) and auto-scrolled into view like a karaoke/lyrics
tracker. Clicking any segment timestamp or chapter seeks the audio to that
point (falls back to scroll when no audio). Playback indicator pulses while
playing.
6.7 KiB
Graph Report - . (2026-07-26)
Corpus Check
- Corpus is ~28,854 words - fits in a single context window. You may not need a graph.
Summary
- 392 nodes · 951 edges · 14 communities (12 shown, 2 thin omitted)
- Extraction: 93% EXTRACTED · 7% INFERRED · 0% AMBIGUOUS · INFERRED: 65 edges (avg confidence: 0.76)
- Token cost: 11,800 input · 4,100 output
Community Hubs (Navigation)
- Webapp Frontend (JS)
- Transcript Extraction & Parsing
- Config & Discovery Pipeline
- Store & Export Layer
- CLI Command Layer
- Platform Design & Proposals
- Segments Search & Backfill
- Store Platform Tests
- Content Analysis
- README & Config Docs
- Package Manifest
God Nodes (most connected - your core abstractions)
Store- 81 edgesSegment- 32 edgesapi()- 31 edgestoast()- 29 edgesConfig- 23 edgesprocess_video()- 19 edgesJobManager- 17 edgesresolve_active_path()- 13 edgesdiscover_channel()- 13 edgesbackfill_from_markdown()- 13 edges
Surprising Connections (you probably didn't know these)
test_dashboard_aggregates()--calls-->Segment[INFERRED] tests/test_store_platform.py → src/yt_scraper/parse.pytest_store_and_search_segments()--calls-->Segment[INFERRED] tests/test_store_platform.py → src/yt_scraper/parse.pytest_store_segments_overwrites()--calls-->Segment[INFERRED] tests/test_store_platform.py → src/yt_scraper/parse.pystore()--calls-->Store[INFERRED] tests/test_store_platform.py → src/yt_scraper/store.pytest_migration_idempotent()--calls-->Store[INFERRED] tests/test_store_platform.py → src/yt_scraper/store.py
Import Cycles
- None detected.
Hyperedges (group relationships)
- Workstream B webapp stack (FastAPI + Alpine SPA + subagent) — opencode_agent_webapp_builder, opencode_goals_webapp_build, src_yt_scraper_webapp_static_index, docs_superpowers_specs_2026_07_26_platform_design_dark_command_center, docs_superpowers_specs_2026_07_26_platform_design_sse_job_runner [EXTRACTED 0.95]
- FTS5 transcript search flow (proposal -> spec -> SPA view) — opportunities_search_fts5, docs_superpowers_specs_2026_07_26_platform_design_transcript_fts5, src_yt_scraper_webapp_static_index [INFERRED 0.85]
- Cookie auth chain (vault -> resolve_active_path -> scrape job) — docs_superpowers_specs_2026_07_26_platform_design_cookie_vault_ux, docs_superpowers_specs_2026_07_26_platform_design_sse_job_runner, docs_superpowers_specs_2026_07_26_platform_design_cookies_bug_fix, src_yt_scraper_webapp_static_index [INFERRED 0.85]
Communities (14 total, 2 thin omitted)
Community 0 - "Webapp Frontend (JS)"
Cohesion: 0.06 Nodes (59): activateCookie(), addChannel(), api(), axisOpts(), barOpts(), cancelScrape(), checkHealth(), closeStream() (+51 more)
Community 1 - "Transcript Extraction & Parsing"
Cohesion: 0.07 Nodes (57): Environment, align_chapters(), Chapter, chapters_from_info(), Section, _parse_tags(), Regenerar Markdown desde segmentos almacenados., re_render_cmd() (+49 more)
Community 2 - "Config & Discovery Pipeline"
Cohesion: 0.06 Nodes (40): APIRouter, FastAPI, _build_config(), Config, DelayConfig, load_config(), Any, Path (+32 more)
Community 3 - "Store & Export Layer"
Cohesion: 0.07 Nodes (28): Connection, Cursor, Row, is_expired(), list_vault(), export_csv(), export_html(), export_json() (+20 more)
Community 4 - "CLI Command Layer"
Cohesion: 0.08 Nodes (41): analyze_cmd(), _apply_filters(), audio_cmd(), _channel_targets(), channels_add(), cli(), export_cmd(), _extract_handle() (+33 more)
Community 5 - "Platform Design & Proposals"
Cohesion: 0.12 Nodes (20): Platform Implementation Plan, Platform Design Spec, Cookie drag-and-drop vault UX, cli.py cookies scope bug fix, Design language: dark data command center, Architecture: Monorepo in-package webapp (Approach A), Scope rule: No AI features, Single-threaded scrape job runner + SSE event bus (+12 more)
Community 6 - "Segments Search & Backfill"
Cohesion: 0.26 Nodes (11): backfill_from_markdown(), parse_markdown(), ParsedMarkdown, Path, Parse all done .md files under md_root, populate segments/FTS/metadata. Idempote, search(), store_segments(), _strip_quotes() (+3 more)
Community 7 - "Store Platform Tests"
Cohesion: 0.17 Nodes (5): store(), test_dashboard_aggregates(), test_migration_idempotent(), test_store_and_search_segments(), test_store_segments_overwrites()
Community 8 - "Content Analysis"
Cohesion: 0.27
Nodes (10): _iter_texts(), Path, Return [(YYYY-MM, count)] of months where term appears in transcripts., render_timeline_chart(), render_top_words_chart(), render_wordcloud(), term_timeline(), _tokenize() (+2 more)
Knowledge Gaps
- 10 isolated node(s):
yt-channel-scraper,OPPORTUNITIES.md - extension audit,Design language: dark data command center,yt-dlp InnerTube mechanism (ANDROID/IOS/WEB clients),Feature proposal: search (FTS5 transcript search)(+5 more) These have ≤1 connection - possible missing edges or undocumented components. - 2 thin communities (<3 nodes) omitted from report — run
graphify queryto explore isolated nodes.
Suggested Questions
Questions this graph is uniquely positioned to answer:
- Why does
StoreconnectStore & Export LayertoTranscript Extraction & Parsing,Config & Discovery Pipeline,CLI Command Layer,Segments Search & Backfill,Store Platform Tests,Content Analysis? High betweenness centrality (0.194) - this node is a cross-community bridge. - Why does
SegmentconnectTranscript Extraction & ParsingtoCLI Command Layer,Segments Search & Backfill,Store Platform Tests? High betweenness centrality (0.057) - this node is a cross-community bridge. - Why does
ConfigconnectConfig & Discovery PipelinetoTranscript Extraction & Parsing,CLI Command Layer? High betweenness centrality (0.024) - this node is a cross-community bridge. - Are the 4 inferred relationships involving
Store(e.g. withParsedMarkdownandstore()) actually correct?Storehas 4 INFERRED edges - model-reasoned connections that need verification. - Are the 17 inferred relationships involving
Segment(e.g. withChapterandSection) actually correct?Segmenthas 17 INFERRED edges - model-reasoned connections that need verification. - What connects
yt-channel-scraper,OPPORTUNITIES.md - extension audit,Design language: dark data command centerto the rest of the system? 10 weakly-connected nodes found - possible documentation gaps or missing edges. - Should
Webapp Frontend (JS)be split into smaller, more focused modules? Cohesion score 0.062317429406037 - nodes in this community are weakly interconnected.