{ "track_id": "video_analysis_campaign_20260621", "name": "Video Analysis Campaign (12 videos, 5 clusters, 3 passes)", "created": "2026-06-21", "status": "spec_approved", "blocked_by": [], "blocks": [ "video_analysis_synthesis_20260621" ], "priority": "A", "rationale": "User-blocking research campaign to extract foundational knowledge from 12 curated YouTube videos on AI inference, ML, biological learning, and neuro-compute. The artifacts feed future Pass 2 (de-obfuscation via user's math encoding) and Pass 3 (projection to applied domain). Lossless preservation is the design priority. Research-only — no src/ changes, no new pyproject deps (all tools via subprocess or existing venv).", "type": "multi-track research campaign (1 umbrella + 12 child tracks + 1 synthesis = 14 folders total)", "domain": "meta-tooling (research artifacts; no manual_slop src/ changes)", "scope": { "new_folders": [ "conductor/tracks/video_analysis_campaign_20260621/", "conductor/tracks/video_analysis_cs229_building_llms_20260621/", "conductor/tracks/video_analysis_probability_logic_20260621/", "conductor/tracks/video_analysis_entropy_epiplexity_20260621/", "conductor/tracks/video_analysis_score_dynamics_giorgini_20260621/", "conductor/tracks/video_analysis_platonic_intelligence_kumar_20260621/", "conductor/tracks/video_analysis_free_lunches_levin_20260621/", "conductor/tracks/video_analysis_generic_systems_fields_20260621/", "conductor/tracks/video_analysis_brain_counterintuitive_20260621/", "conductor/tracks/video_analysis_neural_dynamics_miller_20260621/", "conductor/tracks/video_analysis_multiscale_hoffman_20260621/", "conductor/tracks/video_analysis_cs336_architectures_20260621/", "conductor/tracks/video_analysis_creikey_dl_cv_20260621/", "conductor/tracks/video_analysis_synthesis_20260621/" ], "new_files_per_child": [ "spec.md (lightweight)", "artifacts/transcript.json", "artifacts/ocr.md", "artifacts/frames/_.jpg (deduplicated)", "artifacts/extraction_meta.json", "report.md (1000-10000 LOC target)", "summary.md (200-400 words)" ], "new_files_scripts": [ "scripts/video_analysis/download_video.py", "scripts/video_analysis/extract_transcript.py", "scripts/video_analysis/extract_keyframes.py", "scripts/video_analysis/ocr_frames.py", "scripts/video_analysis/synthesize_report.py" ], "new_files_tests": [ "tests/test_video_analysis_download_video.py", "tests/test_video_analysis_extract_transcript.py", "tests/test_video_analysis_extract_keyframes.py", "tests/test_video_analysis_ocr_frames.py", "tests/test_video_analysis_synthesize_report.py" ], "new_files_synthesis": [ "conductor/tracks/video_analysis_synthesis_20260621/spec.md", "conductor/tracks/video_analysis_synthesis_20260621/per_video_summary.md", "conductor/tracks/video_analysis_synthesis_20260621/report.md" ], "modified_files": [], "deleted_files": [], "gitignored_patterns": [ "*.mp4 (video files - too large for git)", "artifacts/frames/*.jpg if >500KB each", "tests/artifacts// (per AGENTS.md artifact isolation)" ] }, "estimated_effort": { "method": "scope (per conductor/workflow.md Tier 1 Track Initialization Rules). NO day estimates.", "phase_0": "4 tasks: tooling prerequisites (yt-dlp, cv2, imagehash, OCR backend decision)", "phase_1": "10 tasks: 5 reusable scripts with TDD (red + green per script)", "phase_2": "12 child tracks × 5 phases each = 60 child track execution tasks (tracked in child plans, not this umbrella)", "phase_3": "1 synthesis track (blocked by all 12 children)", "phase_4": "4 tasks: campaign closeout (README update, end-of-track report, archive move, chronology update)", "summary": "14 track folders (1 umbrella + 12 children + 1 synthesis), 5 reusable scripts, ~40-60 unit tests, 12 reports (1000-10000 LOC each), 12 summaries, 1 cross-cutting synthesis report. No day estimates per project convention." }, "verification_criteria": [ "yt-dlp installed and importable in this repo's venv", "cv2, imagehash, PIL installed in this repo's venv", "OCR backend chosen (winsdk or tesseract) and working", "All 5 scripts in scripts/video_analysis/ have passing TDD tests", "All 12 child tracks shipped: each has transcript.json, frames/, ocr.md, report.md (1000-10000 LOC), summary.md", "Synthesis track shipped: per_video_summary.md + report.md", "Umbrella README.md shows all 12 children + synthesis as shipped", "End-of-track report at docs/reports/TRACK_COMPLETION_video_analysis_campaign_20260621.md", "All artifacts preserved losslessly (JSON for transcripts, raw images for frames, plain text for OCR)", "No src/*.py files created or modified (per AGENTS.md File Size and Naming Convention)", "No new pyproject.toml dependencies (all tools via subprocess or existing venv)", "Future-pass hooks (§11 of spec.md) intact and documented for Pass 2/3" ], "risk_register": [ { "id": "R1", "title": "yt-dlp not installed locally", "likelihood": "high", "scope_impact": "First child track blocked until installed", "mitigation": "Install via pip install yt-dlp in this repo's venv (single one-time task in Phase 0)" }, { "id": "R2", "title": "OCR quality insufficient for technical content", "likelihood": "medium", "scope_impact": "Some frames may have illegible text", "mitigation": "Spot-check OCR per frame; manually transcribe critical frames in the report.md section" }, { "id": "R3", "title": "Report exceeds 10000 LOC target", "likelihood": "low", "scope_impact": "User may want to split", "mitigation": "Pass 2 can split; Pass 1 should not artificially cap" }, { "id": "R4", "title": "Video mp4 files exceed disk space", "likelihood": "medium", "scope_impact": "Could hit quota", "mitigation": "Delete mp4 after frame extraction (extract_keyframes.py should do this)" }, { "id": "R5", "title": "Two videos failed oEmbed fetch", "likelihood": "confirmed for 9vM4p9NN0Ts and lVynu4bo1rY", "scope_impact": "Unknown until track execution", "mitigation": "User confirmed identities. yt-dlp may still work (different from oEmbed). Verify in Phase 1 of each track." }, { "id": "R6", "title": "User's math encoding notation (Pass 2) lost", "likelihood": "medium", "scope_impact": "Blocks Pass 2", "mitigation": "User action item: rediscover/redefine encoding before Pass 2 starts. Recorded in spec.md §11.1." }, { "id": "R7", "title": "Pass 1 over-summarization loses signal for Pass 2", "likelihood": "medium (if not enforced)", "scope_impact": "Cascades to Pass 2/3", "mitigation": "The 1000-10000 LOC target + spec.md §0 explicit warning + per-section completeness check in verification" }, { "id": "R8", "title": "Tier 2 capacity for 12+ child tracks", "likelihood": "medium", "scope_impact": "Tracks ship in sequence", "mitigation": "Each child is independently shippable; the campaign is async" }, { "id": "R9", "title": "Transcript API rate-limiting", "likelihood": "low", "scope_impact": "Some videos may fail on first fetch", "mitigation": "Retry with backoff in extract_transcript.py" }, { "id": "R10", "title": "cv2 / imagehash not in this repo's venv", "likelihood": "high (verified - exist only in foreign venvs)", "scope_impact": "Blocks keyframe extraction", "mitigation": "Install via pip install opencv-python imagehash pillow in this repo's venv (single one-time task in Phase 0)" } ], "architecture_reference": { "primary_documents": [ "conductor/workflow.md (track convention, per-task commits, git notes, verification protocol)", "conductor/code_styleguides/python.md (1-space indent, type hints, no comments)", "conductor/code_styleguides/error_handling.md (Result[T] pattern for new scripts)", "AGENTS.md (artifact isolation, file naming, no new src/.py)", "conductor/chronology.md (after campaign ships, 14 new rows added here)" ], "related_tracks": [ "conductor/tracks/intent_dsl_survey_20260612/ (Pass 2 may build on this)", "conductor/tracks/nagent_review_20260608/ (precedent for deep-dive report format)", "conductor/tracks/fable_review_20260617/ (precedent for synthesis report format)", "conductor/tracks/chronology_20260619/ (precedent for spec/plan/metadata/state schema)" ], "external_references": [ "C:/projects/forth/bootslop/download_videos.py (yt-dlp usage reference)", "C:/projects/forth/bootslop/extract_frames.py (imagehash + cv2 keyframe extraction reference)", "C:/projects/forth/bootslop/process_visuals.py (winsdk OCR + visual analysis reference)", "C:/projects/forth/bootslop/ocr_interaction.py (standalone OCR reference)", "https://pypi.org/project/youtube-transcript-api/", "C:/projects/kasa/venv/Lib/site-packages/cv2/opencv_videoio_ffmpeg481_64.dll (proves cv2/ffmpeg installs on this machine)" ], "styleguides_applied": [ "data_oriented_design.md (referenced by Pass 3, not directly by Pass 1)", "python.md (1-space indent for all new scripts)", "error_handling.md (Result[T] for all new scripts)", "feature_flags.md (scripts are file-presence, no config flags needed)", "workspace_paths.md (test artifacts in tests/artifacts/)" ] }, "deferred_to_followup_tracks": [ { "title": "Pass 2: De-obfuscation via user's math encoding notation", "description": "Apply the user's custom math encoding/compression notation to reduce DSL + niche math notation/verbiage into something the user can understand. Consumes all Pass 1 artifacts.", "track_status": "not started - blocked by this track", "blocker_action_item": "User must rediscover/redefine their 'compress/decompress math info' encoding notation before Pass 2 starts. See spec.md §11.1." }, { "title": "Pass 3: Projection to user's applied domain", "description": "Apply Pass 2 outputs to user's preferred code style. Influences: handmade/data-oriented/GPGPU community (Lottes, Onat, Jebrim) + user's own caveats.", "track_status": "not started - blocked by Pass 2", "blocker_action_item": "User must articulate 'own caveats' before Pass 3 starts. See spec.md §11.2." } ], "regressions_and_pre_existing_failures": [], "pre_existing_failures_remaining": [], "user_directives": [ "Order confirmed (12-video sequence, 2026-06-21)", "Report target: minimum 1000 LOC, maximum 10000 LOC markdown per video (2026-06-21)", "Multi-pass framing: Pass 1 = information extraction (this track), Pass 2 = de-obfuscation, Pass 3 = projection (2026-06-21)", "Pass 1 artifacts must be lossless - over-summarization is data loss for Pass 2 (2026-06-21)", "Stanford CS229 = 9vM4p9NN0Ts, Stanford CS336 Lecture 3 = lVynu4bo1rY (user-confirmed mapping, 2026-06-21)", "Future-pass hooks must be explicit in spec.md so the next agent / future-self can pick up the thread (2026-06-21)", "No day estimates per conductor/workflow.md Tier 1 Track Initialization Rules (added 2026-06-16). Scope measured in files/sites only." ], "videos": [ {"order": 1, "slug": "cs229_building_llms", "cluster": "E", "title": "Stanford CS229 - Building Large Language Models (LLMs)", "youtube_id": "9vM4p9NN0Ts", "author": "Stanford CS229"}, {"order": 2, "slug": "probability_logic", "cluster": "A", "title": "Probability Theory is an Extension of Logic", "youtube_id": "0yF9TvMeAzM", "author": null}, {"order": 3, "slug": "entropy_epiplexity", "cluster": "A", "title": "From Entropy to Epiplexity", "youtube_id": "_U8AwUq_aJQ", "author": "Andrew Wilson and Marc Finzi"}, {"order": 4, "slug": "score_dynamics_giorgini", "cluster": "A", "title": "Learning Dynamics from Statistics: a score-based approach", "youtube_id": "P75iVMmbqQk", "author": "Ludovico Giorgini"}, {"order": 5, "slug": "platonic_intelligence_kumar", "cluster": "B", "title": "Towards a Platonic Intelligence with Unified Factored Representations", "youtube_id": "1mXUFweWOug", "author": "Akarsh Kumar"}, {"order": 6, "slug": "free_lunches_levin", "cluster": "B", "title": "Free Lunches: Model Systems for Studying the Agential Gifts from the Platonic Space", "youtube_id": "K8BmMU1Tm-I", "author": "Michael Levin"}, {"order": 7, "slug": "generic_systems_fields", "cluster": "C", "title": "Interesting Behavior by Generic Systems", "youtube_id": "QeMajYvhEbI", "author": "Chris Fields"}, {"order": 8, "slug": "brain_counterintuitive", "cluster": "C", "title": "The Most Counterintuitive Way to Build a Brain", "youtube_id": "cDxtFtoQVNc", "author": null}, {"order": 9, "slug": "neural_dynamics_miller", "cluster": "C", "title": "Cognition Emerges from Neural Dynamics", "youtube_id": "0BS-BzEFTXA", "author": "Earl Miller"}, {"order": 10, "slug": "multiscale_hoffman", "cluster": "C", "title": "A Multiscale Logic of Collective Intelligence", "youtube_id": "YnfaT5APPB0", "author": "Donald Hoffman and Chetan Prakash"}, {"order": 11, "slug": "cs336_architectures", "cluster": "E", "title": "Stanford CS336 Lecture 3: Architectures", "youtube_id": "lVynu4bo1rY", "author": "Stanford CS336 Spring 2026"}, {"order": 12, "slug": "creikey_dl_cv", "cluster": "D", "title": "Creikey - Deep Learning and Computer Vision for Game Developers (BSC 2025)", "youtube_id": "yxkUvXs-hoQ", "author": "Creikey"} ] }