Private
Public Access
Merge branch 'tier2/data_structure_strengthening_20260606'
This commit is contained in:
@@ -0,0 +1,95 @@
|
||||
# Track state for data_structure_strengthening_20260606
|
||||
# Updated by Tier 2 Tech Lead as tasks complete
|
||||
|
||||
[meta]
|
||||
track_id = "data_structure_strengthening_20260606"
|
||||
name = "Data Structure Strengthening (Type Aliases + NamedTuples)"
|
||||
status = "completed"
|
||||
current_phase = "complete"
|
||||
last_updated = "2026-06-21"
|
||||
|
||||
[phases]
|
||||
phase_1 = { status = "completed", checkpointsha = "794ca91d", name = "Aliases + 6-file replacement + audit baseline" }
|
||||
phase_2 = { status = "completed", checkpointsha = "d3205c72", name = "NamedTuples + type registry generator + initial docs + archive" }
|
||||
|
||||
[tasks]
|
||||
# Phase 1: Aliases + 6-file replacement
|
||||
t1_1 = { status = "completed", commit_sha = "see_git_log", description = "Red: tests/test_type_aliases.py (verify 10 TypeAliases + 1 NamedTuple import and resolve to expected types; verify Result[FileItems] composes)" }
|
||||
t1_2 = { status = "completed", commit_sha = "see_git_log", description = "Green: create src/type_aliases.py with 10 TypeAliases (Metadata, CommsLogEntry, CommsLog, HistoryMessage, History, FileItem, FileItems, ToolDefinition, ToolCall, CommsLogCallback) and 1 NamedTuple (FileItemsDiff)" }
|
||||
t1_3 = { status = "completed", commit_sha = "see_git_log", description = "Replace 139 weak sites in src/ai_client.py with the new aliases (79 dict_str_any + 56 list_of_dict + 2 Optional[List[Dict]] + 2 assign_tuple_literal)" }
|
||||
t1_4 = { status = "completed", commit_sha = "see_git_log", description = "Replace 86 weak sites in src/app_controller.py (62 dict_str_any + 20 list_of_dict + 4 optional_dict)" }
|
||||
t1_5 = { status = "completed", commit_sha = "see_git_log", description = "Replace 51 weak sites in src/models.py (48 dict_str_any + 3 list_of_dict)" }
|
||||
t1_6 = { status = "completed", commit_sha = "see_git_log", description = "Replace 32 weak sites in src/api_hook_client.py (30 dict_str_any + 2 list_of_dict)" }
|
||||
t1_7 = { status = "completed", commit_sha = "see_git_log", description = "Replace 20 weak sites in src/project_manager.py (16 dict_str_any + 3 list_of_dict + 1 optional_dict)" }
|
||||
t1_8 = { status = "completed", commit_sha = "see_git_log", description = "Replace 17 weak sites in src/aggregate.py (10 dict_str_any + 7 list_of_dict)" }
|
||||
t1_9 = { status = "completed", commit_sha = "see_git_log", description = "Add --strict mode to scripts/audit_weak_types.py (compares current count to baseline file; exits 1 if increased)" }
|
||||
t1_10 = { status = "completed", commit_sha = "see_git_log", description = "Generate scripts/audit_weak_types.baseline.json with the post-Phase-1 count" }
|
||||
t1_11 = { status = "completed", commit_sha = "see_git_log", description = "Red: tests/test_audit_weak_types.py (verify regex patterns, Finding dataclass, report format)" }
|
||||
t1_12 = { status = "completed", commit_sha = "see_git_log", description = "Run full test suite; confirm no regressions in 6 refactored files" }
|
||||
t1_13 = { status = "completed", commit_sha = "see_git_log", description = "Run audit; confirm count dropped from 430 to ~60; commit the new baseline" }
|
||||
t1_14 = { status = "completed", commit_sha = "see_git_log", description = "Phase 1 checkpoint commit + git note" }
|
||||
# Phase 2: NamedTuples + type registry generator + initial docs + archive
|
||||
t2_1 = { status = "completed", commit_sha = "see_git_log", description = "Convert src/ai_client.py:_reread_file_items to return FileItemsDiff NamedTuple (replaces Tuple[List[FileItem], List[FileItem]]); update ~3-4 call sites" }
|
||||
t2_2 = { status = "completed", commit_sha = "see_git_log", description = "Opportunistic NamedTuple conversions for 1-2 more tuple returns (screen coords, etc.)" }
|
||||
t2_3 = { status = "completed", commit_sha = "see_git_log", description = "Red: tests/test_generate_type_registry.py (verify AST extraction of @dataclass, NamedTuple, TypeAlias; verify output markdown structure)" }
|
||||
t2_4 = { status = "completed", commit_sha = "see_git_log", description = "Green: implement scripts/generate_type_registry.py (3 modes: default, --check, --diff)" }
|
||||
t2_5 = { status = "completed", commit_sha = "see_git_log", description = "Run the generator; commit the initial docs/type_registry/ (index.md + per-source-file .md files)" }
|
||||
t2_6 = { status = "completed", commit_sha = "see_git_log", description = "Verify --check mode: introduce a fake change in src/type_aliases.py, run --check, confirm exit 1" }
|
||||
t2_7 = { status = "completed", commit_sha = "see_git_log", description = "Create conductor/code_styleguides/type_aliases.md (canonical reference for the alias convention; 5 patterns + decision tree + examples)" }
|
||||
t2_8 = { status = "completed", commit_sha = "see_git_log", description = "Add 'Data Structure Conventions' section to conductor/product-guidelines.md (referencing the new styleguide)" }
|
||||
t2_9 = { status = "completed", commit_sha = "see_git_log", description = "Manual smoke test: launch GUI; verify type aliases don't break anything; verify audit --strict mode; verify generator --check mode" }
|
||||
t2_10 = { status = "completed", commit_sha = "see_git_log", description = "Phase 2 checkpoint commit + git note (TRACK COMPLETE)" }
|
||||
t2_11 = { status = "completed", commit_sha = "see_git_log", description = "git mv conductor/tracks/data_structure_strengthening_20260606 to conductor/tracks/archive/" }
|
||||
t2_12 = { status = "completed", commit_sha = "see_git_log", description = "Update conductor/tracks.md: move entry to Recently Completed" }
|
||||
t2_13 = { status = "completed", commit_sha = "see_git_log", description = "Final state.toml update: mark all phases completed; add follow-up track type_registry_ci_20260606 placeholder" }
|
||||
|
||||
[verification]
|
||||
# Filled as phases complete
|
||||
phase_1_aliases_module_complete = true
|
||||
phase_1_ai_client_refactored = true
|
||||
phase_1_app_controller_refactored = true
|
||||
phase_1_models_refactored = true
|
||||
phase_1_api_hook_client_refactored = true
|
||||
phase_1_project_manager_refactored = true
|
||||
phase_1_aggregate_refactored = true
|
||||
phase_1_audit_strict_mode_added = true
|
||||
phase_1_baseline_committed = true
|
||||
phase_2_file_items_diff_named_tuple = true
|
||||
phase_2_opportunistic_named_tuples = true
|
||||
phase_2_styleguide_written = true
|
||||
phase_2_product_guidelines_updated = true
|
||||
phase_2_smoke_test_passed = true
|
||||
phase_2_track_archived = true
|
||||
full_test_suite_passes = true
|
||||
no_new_optional_introduced = true
|
||||
audit_count_dropped_to_60 = true
|
||||
|
||||
[audit_count_progression]
|
||||
# Filled as tasks complete
|
||||
baseline = 430
|
||||
after_ai_client = 291
|
||||
after_app_controller = 205
|
||||
after_models = 154
|
||||
after_api_hook_client = 122
|
||||
after_project_manager = 102
|
||||
after_aggregate = 85
|
||||
phase_1_checkpoint_committed = 794ca91d
|
||||
phase_2_checkpoint_committed = d3205c72
|
||||
|
||||
[files_refactored]
|
||||
ai_client = { weak_sites_before = 139, weak_sites_after = 0, status = "completed" }
|
||||
app_controller = { weak_sites_before = 86, weak_sites_after = 0, status = "completed" }
|
||||
models = { weak_sites_before = 51, weak_sites_after = 0, status = "completed" }
|
||||
api_hook_client = { weak_sites_before = 32, weak_sites_after = 0, status = "completed" }
|
||||
project_manager = { weak_sites_before = 20, weak_sites_after = 0, status = "completed" }
|
||||
aggregate = { weak_sites_before = 17, weak_sites_after = 0, status = "completed" }
|
||||
|
||||
[typed_dict_migration_followup]
|
||||
track_id = "type_registry_ci_20260606"
|
||||
status = "planned_in_data_structure_strengthening_20260606"
|
||||
goal = "Promote the type-registry generator from a manual track-completion step to a CI gate. Add --check to CI; wire pre-commit hook; document the per-track commit workflow."
|
||||
note = "This follow-up REPLACES the earlier 'typed_dict_migration' follow-up. Per user feedback (2026-06-06), the registry approach (docs) is preferred over TypedDict migration (code) for the foreseeable future."
|
||||
|
||||
[public_api_migration_followup]
|
||||
# From the data_oriented_error_handling track
|
||||
note = "This track does not depend on or block the public_api_migration_20260606 track. They are independent."
|
||||
@@ -1,95 +0,0 @@
|
||||
# Track state for data_structure_strengthening_20260606
|
||||
# Updated by Tier 2 Tech Lead as tasks complete
|
||||
|
||||
[meta]
|
||||
track_id = "data_structure_strengthening_20260606"
|
||||
name = "Data Structure Strengthening (Type Aliases + NamedTuples)"
|
||||
status = "active"
|
||||
current_phase = 0
|
||||
last_updated = "2026-06-06"
|
||||
|
||||
[phases]
|
||||
phase_1 = { status = "pending", checkpointsha = "", name = "Aliases + 6-file replacement + audit baseline" }
|
||||
phase_2 = { status = "pending", checkpointsha = "", name = "NamedTuples + type registry generator + initial docs + archive" }
|
||||
|
||||
[tasks]
|
||||
# Phase 1: Aliases + 6-file replacement
|
||||
t1_1 = { status = "pending", commit_sha = "", description = "Red: tests/test_type_aliases.py (verify 10 TypeAliases + 1 NamedTuple import and resolve to expected types; verify Result[FileItems] composes)" }
|
||||
t1_2 = { status = "pending", commit_sha = "", description = "Green: create src/type_aliases.py with 10 TypeAliases (Metadata, CommsLogEntry, CommsLog, HistoryMessage, History, FileItem, FileItems, ToolDefinition, ToolCall, CommsLogCallback) and 1 NamedTuple (FileItemsDiff)" }
|
||||
t1_3 = { status = "pending", commit_sha = "", description = "Replace 139 weak sites in src/ai_client.py with the new aliases (79 dict_str_any + 56 list_of_dict + 2 Optional[List[Dict]] + 2 assign_tuple_literal)" }
|
||||
t1_4 = { status = "pending", commit_sha = "", description = "Replace 86 weak sites in src/app_controller.py (62 dict_str_any + 20 list_of_dict + 4 optional_dict)" }
|
||||
t1_5 = { status = "pending", commit_sha = "", description = "Replace 51 weak sites in src/models.py (48 dict_str_any + 3 list_of_dict)" }
|
||||
t1_6 = { status = "pending", commit_sha = "", description = "Replace 32 weak sites in src/api_hook_client.py (30 dict_str_any + 2 list_of_dict)" }
|
||||
t1_7 = { status = "pending", commit_sha = "", description = "Replace 20 weak sites in src/project_manager.py (16 dict_str_any + 3 list_of_dict + 1 optional_dict)" }
|
||||
t1_8 = { status = "pending", commit_sha = "", description = "Replace 17 weak sites in src/aggregate.py (10 dict_str_any + 7 list_of_dict)" }
|
||||
t1_9 = { status = "pending", commit_sha = "", description = "Add --strict mode to scripts/audit_weak_types.py (compares current count to baseline file; exits 1 if increased)" }
|
||||
t1_10 = { status = "pending", commit_sha = "", description = "Generate scripts/audit_weak_types.baseline.json with the post-Phase-1 count" }
|
||||
t1_11 = { status = "pending", commit_sha = "", description = "Red: tests/test_audit_weak_types.py (verify regex patterns, Finding dataclass, report format)" }
|
||||
t1_12 = { status = "pending", commit_sha = "", description = "Run full test suite; confirm no regressions in 6 refactored files" }
|
||||
t1_13 = { status = "pending", commit_sha = "", description = "Run audit; confirm count dropped from 430 to ~60; commit the new baseline" }
|
||||
t1_14 = { status = "pending", commit_sha = "", description = "Phase 1 checkpoint commit + git note" }
|
||||
# Phase 2: NamedTuples + type registry generator + initial docs + archive
|
||||
t2_1 = { status = "pending", commit_sha = "", description = "Convert src/ai_client.py:_reread_file_items to return FileItemsDiff NamedTuple (replaces Tuple[List[FileItem], List[FileItem]]); update ~3-4 call sites" }
|
||||
t2_2 = { status = "pending", commit_sha = "", description = "Opportunistic NamedTuple conversions for 1-2 more tuple returns (screen coords, etc.)" }
|
||||
t2_3 = { status = "pending", commit_sha = "", description = "Red: tests/test_generate_type_registry.py (verify AST extraction of @dataclass, NamedTuple, TypeAlias; verify output markdown structure)" }
|
||||
t2_4 = { status = "pending", commit_sha = "", description = "Green: implement scripts/generate_type_registry.py (3 modes: default, --check, --diff)" }
|
||||
t2_5 = { status = "pending", commit_sha = "", description = "Run the generator; commit the initial docs/type_registry/ (index.md + per-source-file .md files)" }
|
||||
t2_6 = { status = "pending", commit_sha = "", description = "Verify --check mode: introduce a fake change in src/type_aliases.py, run --check, confirm exit 1" }
|
||||
t2_7 = { status = "pending", commit_sha = "", description = "Create conductor/code_styleguides/type_aliases.md (canonical reference for the alias convention; 5 patterns + decision tree + examples)" }
|
||||
t2_8 = { status = "pending", commit_sha = "", description = "Add 'Data Structure Conventions' section to conductor/product-guidelines.md (referencing the new styleguide)" }
|
||||
t2_9 = { status = "pending", commit_sha = "", description = "Manual smoke test: launch GUI; verify type aliases don't break anything; verify audit --strict mode; verify generator --check mode" }
|
||||
t2_10 = { status = "pending", commit_sha = "", description = "Phase 2 checkpoint commit + git note (TRACK COMPLETE)" }
|
||||
t2_11 = { status = "pending", commit_sha = "", description = "git mv conductor/tracks/data_structure_strengthening_20260606 to conductor/tracks/archive/" }
|
||||
t2_12 = { status = "pending", commit_sha = "", description = "Update conductor/tracks.md: move entry to Recently Completed" }
|
||||
t2_13 = { status = "pending", commit_sha = "", description = "Final state.toml update: mark all phases completed; add follow-up track type_registry_ci_20260606 placeholder" }
|
||||
|
||||
[verification]
|
||||
# Filled as phases complete
|
||||
phase_1_aliases_module_complete = false
|
||||
phase_1_ai_client_refactored = false
|
||||
phase_1_app_controller_refactored = false
|
||||
phase_1_models_refactored = false
|
||||
phase_1_api_hook_client_refactored = false
|
||||
phase_1_project_manager_refactored = false
|
||||
phase_1_aggregate_refactored = false
|
||||
phase_1_audit_strict_mode_added = false
|
||||
phase_1_baseline_committed = false
|
||||
phase_2_file_items_diff_named_tuple = false
|
||||
phase_2_opportunistic_named_tuples = false
|
||||
phase_2_styleguide_written = false
|
||||
phase_2_product_guidelines_updated = false
|
||||
phase_2_smoke_test_passed = false
|
||||
phase_2_track_archived = false
|
||||
full_test_suite_passes = false
|
||||
no_new_optional_introduced = false
|
||||
audit_count_dropped_to_60 = false
|
||||
|
||||
[audit_count_progression]
|
||||
# Filled as tasks complete
|
||||
baseline = 430
|
||||
after_ai_client = 291
|
||||
after_app_controller = 205
|
||||
after_models = 154
|
||||
after_api_hook_client = 122
|
||||
after_project_manager = 102
|
||||
after_aggregate = 85
|
||||
phase_1_checkpoint_committed = 0 # TBD
|
||||
phase_2_checkpoint_committed = 0 # TBD
|
||||
|
||||
[files_refactored]
|
||||
ai_client = { weak_sites_before = 139, weak_sites_after = 0, status = "pending" }
|
||||
app_controller = { weak_sites_before = 86, weak_sites_after = 0, status = "pending" }
|
||||
models = { weak_sites_before = 51, weak_sites_after = 0, status = "pending" }
|
||||
api_hook_client = { weak_sites_before = 32, weak_sites_after = 0, status = "pending" }
|
||||
project_manager = { weak_sites_before = 20, weak_sites_after = 0, status = "pending" }
|
||||
aggregate = { weak_sites_before = 17, weak_sites_after = 0, status = "pending" }
|
||||
|
||||
[typed_dict_migration_followup]
|
||||
track_id = "type_registry_ci_20260606"
|
||||
status = "planned_in_data_structure_strengthening_20260606"
|
||||
goal = "Promote the type-registry generator from a manual track-completion step to a CI gate. Add --check to CI; wire pre-commit hook; document the per-track commit workflow."
|
||||
note = "This follow-up REPLACES the earlier 'typed_dict_migration' follow-up. Per user feedback (2026-06-06), the registry approach (docs) is preferred over TypedDict migration (code) for the foreseeable future."
|
||||
|
||||
[public_api_migration_followup]
|
||||
# From the data_oriented_error_handling track
|
||||
note = "This track does not depend on or block the public_api_migration_20260606 track. They are independent."
|
||||
@@ -0,0 +1,91 @@
|
||||
# Track: Video Analysis — Most Counterintuitive Way to Build a Brain
|
||||
|
||||
**Status:** Not started (umbrella published 2026-06-21)
|
||||
**Type:** Research-only child track (Pass 1 of 3)
|
||||
**Owner:** Tier 2 Tech Lead (execution)
|
||||
**Cluster:** C (Biological / cognitive / generic systems)
|
||||
|
||||
> **Parent:** Child #8 of the [video_analysis_campaign_20260621](../../video_analysis_campaign_20260621/) umbrella.
|
||||
|
||||
---
|
||||
|
||||
## 1. Video
|
||||
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| **Title** | The Most Counterintuitive Way to Build a Brain |
|
||||
| **Author** | (unknown — verify during execution) |
|
||||
| **URL** | https://youtu.be/cDxtFtoQVNc |
|
||||
| **Cluster** | C |
|
||||
| **Slug** | `brain_counterintuitive` |
|
||||
| **Execution order** | #8 of 12 (concrete biological, after #7 meta-frame) |
|
||||
|
||||
---
|
||||
|
||||
## 2. Deliverables
|
||||
|
||||
| Artifact | Path | Target |
|
||||
|---|---|---|
|
||||
| Transcript | `artifacts/transcript.json` | All segments |
|
||||
| Download log | `artifacts/download.log` | yt-dlp output |
|
||||
| Frames | `artifacts/frames/*.jpg` | 50-500 |
|
||||
| Extraction meta | `artifacts/extraction_meta.json` | Frame paths + hashes |
|
||||
| OCR | `artifacts/ocr.md` | Full OCR per frame |
|
||||
| Deep-dive report | `report.md` | **1000-10000 LOC** |
|
||||
| Summary | `summary.md` | 200-400 words |
|
||||
|
||||
---
|
||||
|
||||
## 3. Pipeline
|
||||
|
||||
- [ ] **Phase 1:** Acquire
|
||||
- [ ] **Phase 2:** Keyframes
|
||||
- [ ] **Phase 3:** OCR
|
||||
- [ ] **Phase 4:** Synthesis (1000-10000 LOC)
|
||||
- [ ] **Phase 5:** Verification
|
||||
|
||||
---
|
||||
|
||||
## 4. Report structure
|
||||
|
||||
8 sections per umbrella spec §FR6.
|
||||
|
||||
```
|
||||
# The Most Counterintuitive Way to Build a Brain
|
||||
**Source:** https://youtu.be/cDxtFtoQVNc
|
||||
**Author:** <verify>
|
||||
**Cluster:** C
|
||||
**Slug:** brain_counterintuitive
|
||||
|
||||
## 1. TL;DR
|
||||
## 2. Key Concepts ← expect unconventional neuroscience, biological computation
|
||||
## 3. Frame Analysis
|
||||
## 4. Transcript Highlights
|
||||
## 5. Mathematical / Theoretical Content
|
||||
## 6. Connections
|
||||
## 7. Open Questions
|
||||
## 8. References
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 5. Connections
|
||||
|
||||
- **Forward to:** `neural_dynamics_miller` (more conventional neuro), `multiscale_hoffman` (synthesis).
|
||||
- **Backward from:** `generic_systems_fields` (meta-frame), `free_lunches_levin` (agential materials).
|
||||
- **Likely rich cross-references:** `neural_dynamics_miller` (most direct — both about brain/cognition).
|
||||
|
||||
---
|
||||
|
||||
## 6. Verification
|
||||
|
||||
- [ ] All 7 deliverables present
|
||||
- [ ] `report.md` 1000-10000 LOC
|
||||
- [ ] Tests pass
|
||||
|
||||
---
|
||||
|
||||
## 7. See also
|
||||
|
||||
- [Umbrella spec.md](../../video_analysis_campaign_20260621/spec.md)
|
||||
- [Umbrella README.md](../../video_analysis_campaign_20260621/README.md)
|
||||
@@ -0,0 +1,52 @@
|
||||
# Video Analysis Campaign (2026-06-21)
|
||||
|
||||
**Status:** Active (spec approved 2026-06-21)
|
||||
**Owner:** Tier 1 Orchestrator (umbrella + synthesis spec); Tier 2 Tech Lead (per-child execution)
|
||||
**Type:** Multi-track research campaign (14 folders total)
|
||||
|
||||
This is **Pass 1 of 3** in a research campaign to penetrate the AI field. See [spec.md](./spec.md) §0 for the multi-pass framing and §11 for the Pass 2/3 handoff contracts.
|
||||
|
||||
## Children (in execution order)
|
||||
|
||||
| # | Slug | Title | Cluster | Track Folder | Status |
|
||||
|---|------|-------|---------|--------------|--------|
|
||||
| 1 | `cs229_building_llms` | Stanford CS229 — Building LLMs | E | [video_analysis_cs229_building_llms_20260621/](./video_analysis_cs229_building_llms_20260621/) | [ ] |
|
||||
| 2 | `probability_logic` | Probability Theory is an Extension of Logic | A | [video_analysis_probability_logic_20260621/](./video_analysis_probability_logic_20260621/) | [ ] |
|
||||
| 3 | `entropy_epiplexity` | From Entropy to Epiplexity (Wilson & Finzi) | A | [video_analysis_entropy_epiplexity_20260621/](./video_analysis_entropy_epiplexity_20260621/) | [ ] |
|
||||
| 4 | `score_dynamics_giorgini` | Learning Dynamics from Statistics (Giorgini) | A | [video_analysis_score_dynamics_giorgini_20260621/](./video_analysis_score_dynamics_giorgini_20260621/) | [ ] |
|
||||
| 5 | `platonic_intelligence_kumar` | Towards a Platonic Intelligence (Kumar) | B | [video_analysis_platonic_intelligence_kumar_20260621/](./video_analysis_platonic_intelligence_kumar_20260621/) | [ ] |
|
||||
| 6 | `free_lunches_levin` | Free Lunches (Levin) | B | [video_analysis_free_lunches_levin_20260621/](./video_analysis_free_lunches_levin_20260621/) | [ ] |
|
||||
| 7 | `generic_systems_fields` | Interesting Behavior by Generic Systems (Fields) | C | [video_analysis_generic_systems_fields_20260621/](./video_analysis_generic_systems_fields_20260621/) | [ ] |
|
||||
| 8 | `brain_counterintuitive` | Most Counterintuitive Way to Build a Brain | C | [video_analysis_brain_counterintuitive_20260621/](./video_analysis_brain_counterintuitive_20260621/) | [ ] |
|
||||
| 9 | `neural_dynamics_miller` | Cognition Emerges from Neural Dynamics (Miller) | C | [video_analysis_neural_dynamics_miller_20260621/](./video_analysis_neural_dynamics_miller_20260621/) | [ ] |
|
||||
| 10 | `multiscale_hoffman` | Multiscale Logic of Collective Intelligence (Hoffman & Prakash) | C | [video_analysis_multiscale_hoffman_20260621/](./video_analysis_multiscale_hoffman_20260621/) | [ ] |
|
||||
| 11 | `cs336_architectures` | Stanford CS336 Lecture 3: Architectures | E | [video_analysis_cs336_architectures_20260621/](./video_analysis_cs336_architectures_20260621/) | [ ] |
|
||||
| 12 | `creikey_dl_cv` | Creikey — DL/CV for Game Developers | D | [video_analysis_creikey_dl_cv_20260621/](./video_analysis_creikey_dl_cv_20260621/) | [ ] |
|
||||
|
||||
## Cross-cutting
|
||||
|
||||
| | Track | Status |
|
||||
|---|-------|--------|
|
||||
| Synthesis (blocked by all 12) | [video_analysis_synthesis_20260621/](./video_analysis_synthesis_20260621/) | [ ] |
|
||||
|
||||
## Status legend
|
||||
|
||||
- `[ ]` — not started
|
||||
- `[~]` — in progress
|
||||
- `[x]` — shipped
|
||||
- `[!]` — blocked
|
||||
|
||||
## Cluster legend
|
||||
|
||||
- **A** — Math & information-theoretic foundations (3 videos)
|
||||
- **B** — Platonic / geometric AI representations (2 videos)
|
||||
- **C** — Biological / cognitive / generic systems (4 videos)
|
||||
- **D** — Applied / practical (1 video)
|
||||
- **E** — Stanford course VODs >1hr (2 videos)
|
||||
|
||||
## See also
|
||||
|
||||
- [spec.md](./spec.md) — full design (Overview, Current State Audit, Goals, FRs, NFRs, Architecture, Future-Pass Hooks, Risk Register, User Directives)
|
||||
- [plan.md](./plan.md) — campaign-level plan (Phases 0-4)
|
||||
- [metadata.json](./metadata.json) — scope, verification criteria, risk register
|
||||
- [state.toml](./state.toml) — current phase + task tracking
|
||||
@@ -0,0 +1,243 @@
|
||||
# Tier 2 Starter Prompt: Video Analysis Campaign
|
||||
|
||||
**Purpose.** This file is the dispatch prompt for Tier 2 autonomous agents picking up tracks in the `video_analysis_campaign_20260621` campaign. It supplements the auto-loaded `spec.md` + `plan.md` per `conductor/tier2/commands/tier-2-auto-execute.md` step 2.
|
||||
|
||||
**Two prompt templates below:**
|
||||
1. **Umbrella Tier 2** — for Phase 0 (tooling) + Phase 1 (5 scripts) + Phase 2 initialization (12 child tracks scaffolded with plan.md/metadata.json/state.toml).
|
||||
2. **Per-child Tier 2** — for executing one child's 5-phase pipeline (Acquire → Keyframes → OCR → Synthesis → Verification).
|
||||
|
||||
---
|
||||
|
||||
## Template 1: Umbrella Tier 2 (Phases 0 + 1 + 2 init)
|
||||
|
||||
```
|
||||
Dispatch Tier 2 with: /tier-2-auto-execute video_analysis_campaign_20260621
|
||||
|
||||
Plus this context (paste BEFORE invoking):
|
||||
|
||||
---
|
||||
TRACK: video_analysis_campaign_20260621
|
||||
TYPE: Multi-track research campaign (1 umbrella + 12 children + 1 synthesis = 14 folders)
|
||||
STATUS: spec_approved; awaiting Phase 0 (tooling prerequisites)
|
||||
PRIORITY: A (user-blocking research campaign)
|
||||
|
||||
PASS 1 OF 3 (multi-pass — load-bearing framing):
|
||||
- Pass 1 (THIS): information extraction + distillation → 12 deep-dive reports + cross-cutting synthesis
|
||||
- Pass 2 (FUTURE, USER-led): de-obfuscation via user's math encoding notation. USER must rediscover the encoding before Pass 2 starts.
|
||||
- Pass 3 (FUTURE, USER-led): projection to user's applied domain. USER must articulate "own caveats" before Pass 3 starts.
|
||||
- CRITICAL: Pass 1 artifacts MUST be lossless. Per-video target: 1000-10000 LOC markdown. Over-summarization here is data loss that cascades.
|
||||
|
||||
FILES TO READ IN THIS ORDER (do not skip):
|
||||
|
||||
1. /TIER2_STARTER.md (this file)
|
||||
2. ./spec.md (full design — 15 sections, ~600 lines)
|
||||
3. ./plan.md (Phase 0+1 bite-sized tasks; Phase 2-4 brief pointers)
|
||||
4. ./metadata.json (scope, risk_register, verification_criteria, user_directives)
|
||||
5. ./state.toml (current_phase, task tracking)
|
||||
6. ./README.md (child index)
|
||||
|
||||
THEN at session start (per conductor/workflow.md Standard Task Workflow):
|
||||
7. /AGENTS.md (critical anti-patterns, file naming, no day estimates, skip-marker policy)
|
||||
8. /conductor/workflow.md (task workflow, Tier 2 sandbox conventions, failcount contract)
|
||||
9. /conductor/code_styleguides/python.md (1-space indent, type hints, no comments)
|
||||
10. /conductor/code_styleguides/error_handling.md (Result[T] pattern for new scripts)
|
||||
|
||||
REFERENCE SCRIPTS (consult as needed, DO NOT import):
|
||||
- C:/projects/forth/bootslop/download_videos.py (yt-dlp usage)
|
||||
- C:/projects/forth/bootslop/extract_frames.py (cv2 + imagehash)
|
||||
- C:/projects/forth/bootslop/process_visuals.py (winsdk OCR + visual heuristics)
|
||||
- C:/projects/forth/bootslop/ocr_interaction.py (standalone OCR)
|
||||
|
||||
KEY RISKS (from metadata.json risk_register):
|
||||
- R1 + R10 (HIGH, verified 2026-06-21): yt-dlp, cv2, imagehash, pillow NOT in repo venv. Phase 0 prerequisite.
|
||||
- R5 (CONFIRMED for 2 videos): 9vM4p9NN0Ts, lVynu4bo1rY failed oEmbed 401. yt-dlp may still work; verify in Phase 1 of those child tracks.
|
||||
- R7 (MEDIUM): Pass 1 over-summarization loses signal for Pass 2. Enforce 1000-10000 LOC floor per child report.
|
||||
- R8 (MEDIUM): Tier 2 capacity for 12+ child tracks — each child is independently shippable; the campaign is async.
|
||||
|
||||
HARD CONSTRAINTS:
|
||||
- NO day/hour/minute estimates in any artifact. Scope measured in files/sites only.
|
||||
- NO src/*.py changes. NO new pyproject.toml deps beyond the 4 packages installed in Phase 0.
|
||||
- NO comments in source code. Documentation lives in /docs.
|
||||
- 1-space indent on all Python. Type hints on all public functions.
|
||||
- All new scripts follow Result[T] convention per /conductor/code_styleguides/error_handling.md.
|
||||
- Test runner: uv run python scripts/run_tests_batched.py (NEVER uv run pytest directly).
|
||||
|
||||
VERIFICATION CRITERIA (gate for campaign completion):
|
||||
- All 12 child tracks shipped with report.md (1000-10000 LOC) + summary.md (200-400 words) + artifacts/
|
||||
- Synthesis track shipped with per_video_summary.md + report.md
|
||||
- 5 scripts in scripts/video_analysis/ with passing TDD tests
|
||||
- End-of-track report at docs/reports/TRACK_COMPLETION_video_analysis_campaign_20260621.md
|
||||
- state.toml updated to status = "completed"
|
||||
|
||||
EXECUTION PLAN:
|
||||
- Phase 0: 4 install tasks (yt-dlp, cv2/imagehash/PIL, OCR backend, scripts/ namespace scaffold)
|
||||
- Phase 1: 5 scripts with TDD (delegate each to Tier 3 worker via mma_exec.py --role tier3-worker)
|
||||
- Phase 2: Initialize each child track (plan.md + metadata.json + state.toml) — 12 tracks total. Per-child 5-phase pipeline execution is a SEPARATE Tier 2 dispatch per child (see Template 2).
|
||||
- Phase 3: Synthesis track (blocked by all 12 children). Initialize + dispatch Tier 3 for cross-cutting report.
|
||||
- Phase 4: Closeout — update umbrella README.md, write end-of-track report, move 14 folders to archive/, update chronology.md.
|
||||
|
||||
WHEN STUCK:
|
||||
- Multi-pass question? Re-read spec.md §0 + §11.
|
||||
- Tooling question? Reference bootslop scripts (don't import).
|
||||
- Style question? Check /conductor/code_styleguides/ + AGENTS.md.
|
||||
- Per-child question? Read the child spec.md for that slug.
|
||||
- State/plan question? Update plan.md and state.toml atomically per the per-task commit protocol in /conductor/tier2/agents/tier2-autonomous.md.
|
||||
---
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Template 2: Per-Child Tier 2 (one child's 5-phase pipeline)
|
||||
|
||||
After Template 1 completes, dispatch a new Tier 2 per child track:
|
||||
|
||||
```
|
||||
Dispatch Tier 2 with: /tier-2-auto-execute video_analysis_<SLUG>_20260621 --resume
|
||||
|
||||
Where <SLUG> is one of:
|
||||
- cs229_building_llms (E, video #1)
|
||||
- probability_logic (A, video #2)
|
||||
- entropy_epiplexity (A, video #3)
|
||||
- score_dynamics_giorgini (A, video #4)
|
||||
- platonic_intelligence_kumar (B, video #5)
|
||||
- free_lunches_levin (B, video #6)
|
||||
- generic_systems_fields (C, video #7)
|
||||
- brain_counterintuitive (C, video #8)
|
||||
- neural_dynamics_miller (C, video #9)
|
||||
- multiscale_hoffman (C, video #10)
|
||||
- cs336_architectures (E, video #11)
|
||||
- creikey_dl_cv (D, video #12)
|
||||
|
||||
Plus this context (paste BEFORE invoking):
|
||||
|
||||
---
|
||||
TRACK: video_analysis_<SLUG>_20260621
|
||||
TYPE: Per-child research track (one of 12 in the video_analysis_campaign_20260621 umbrella)
|
||||
STATUS: spec ✓ (scaffolded by umbrella Tier 2); plan ✓ + metadata ✓ + state ✓ (created by umbrella Tier 2 in Phase 2 init)
|
||||
|
||||
PASS 1 OF 3 (multi-pass campaign — load-bearing):
|
||||
- This child track produces raw artifacts (transcript.json, frames/, ocr.md) + a 1000-10000 LOC report.md + a 200-400 word summary.md.
|
||||
- These artifacts feed Pass 2 (de-obfuscation) and Pass 3 (projection). They MUST be lossless.
|
||||
- DO NOT over-summarize. The Tier 3 worker prompt must specify "1000-10000 LOC" target.
|
||||
|
||||
FILES TO READ IN THIS ORDER:
|
||||
|
||||
1. ./spec.md (lightweight — references umbrella, gives video details, specifies 7 deliverables + 5-phase pipeline + 8-section report structure)
|
||||
2. /conductor/tracks/video_analysis_campaign_20260621/TIER2_STARTER.md (this parent file — for cross-track context)
|
||||
3. /conductor/tracks/video_analysis_campaign_20260621/spec.md (full umbrella design)
|
||||
4. /conductor/tracks/video_analysis_campaign_20260621/plan.md (campaign-level plan)
|
||||
5. /conductor/tracks/video_analysis_campaign_20260621/README.md (child index — confirm this is the right child)
|
||||
|
||||
THEN at session start (if first Tier 2 invocation in this session):
|
||||
6. /AGENTS.md
|
||||
7. /conductor/workflow.md
|
||||
8. /conductor/code_styleguides/python.md
|
||||
9. /conductor/code_styleguides/error_handling.md
|
||||
|
||||
PIPELINE (5 phases per umbrella spec §FR5):
|
||||
|
||||
Phase 1: Acquire
|
||||
- Run scripts/video_analysis/extract_transcript.py <url> <output>/artifacts/transcript.json
|
||||
- Run scripts/video_analysis/download_video.py <url> <output>/artifacts/video.mp4 (unless skip_video_download=true)
|
||||
- For E-cluster children (cs229_building_llms, cs336_architectures): yt-dlp may fail per R5 — if so, fall back to manual transcript sourcing if available, or escalate.
|
||||
- Commit artifacts atomically.
|
||||
|
||||
Phase 2: Keyframes
|
||||
- Run scripts/video_analysis/extract_keyframes.py <video> <output>/artifacts/frames --threshold 0.4
|
||||
- Manual review of frame set; flag candidates that look wrong.
|
||||
- Commit frames/ + extraction_meta.json atomically.
|
||||
|
||||
Phase 3: OCR
|
||||
- Run scripts/video_analysis/ocr_frames.py <frames-dir> <output>/artifacts/ocr.md --backend winsdk (or tesseract per Phase 0 decision)
|
||||
- Spot-check OCR quality.
|
||||
- Commit ocr.md atomically.
|
||||
|
||||
Phase 4: Synthesis (DELEGATE TO TIER 3 WORKER)
|
||||
- Delegate to: uv run python scripts/mma_exec.py --role tier3-worker "<surgical prompt>"
|
||||
- The Tier 3 worker prompt must specify:
|
||||
* Source files: transcript.json + ocr.md + frames/*.jpg
|
||||
* Target output: <output>/report.md (1000-10000 LOC) + <output>/summary.md (200-400 words)
|
||||
* 8-section structure per umbrella spec §FR6
|
||||
* Forward + backward cross-references to other children in the campaign
|
||||
- Human review + iteration if needed.
|
||||
- Commit report.md + summary.md atomically.
|
||||
|
||||
Phase 5: Verification
|
||||
- Idempotency check: re-run all scripts, confirm outputs match modulo timestamps.
|
||||
- Audit checklist: every section of report.md is populated, no "TBD".
|
||||
- Write end-of-track report at docs/reports/TRACK_COMPLETION_video_analysis_<SLUG>_20260621.md.
|
||||
- Update state.toml to status = "completed".
|
||||
|
||||
HARD CONSTRAINTS:
|
||||
- All scripts are in scripts/video_analysis/ (Phase 1 deliverables from umbrella).
|
||||
- Per-task commits with git notes.
|
||||
- Use uv run python scripts/run_tests_batched.py for any test runs.
|
||||
- DO NOT modify src/*.py files. Research-only campaign.
|
||||
|
||||
WHEN STUCK:
|
||||
- Script error? Re-read the script's source code (scripts/video_analysis/<script>.py).
|
||||
- Cross-reference question? Check umbrella spec.md §6 (videos in execution order) + the Connections section of the related children's spec.md files.
|
||||
- Report LOC question? If under 1000 LOC, expand Frame Analysis + Math/Theoretical Content sections. If over 10000 LOC, split into multiple sub-reports (but defer to Tier 1 for approval).
|
||||
---
|
||||
|
||||
Final synthesis Tier 2 (Template 3 — after all 12 children shipped):
|
||||
|
||||
Dispatch Tier 2 with: /tier-2-auto-execute video_analysis_synthesis_20260621
|
||||
|
||||
Plus this context:
|
||||
|
||||
---
|
||||
TRACK: video_analysis_synthesis_20260621
|
||||
TYPE: Cross-cutting synthesis track (blocked by all 12 child tracks)
|
||||
STATUS: spec ✓ (already written by umbrella Tier 1)
|
||||
|
||||
INPUTS: All 12 children's report.md + summary.md files.
|
||||
|
||||
OUTPUTS:
|
||||
- per_video_summary.md — one paragraph (150-250 words) per video, in execution order
|
||||
- report.md — 6-section synthesis: Theme Matrix, Cross-Video Concept Map, 5-10 Takeaways, Math Prereq Graph, Open Research Questions, Next-Watch List
|
||||
- Target LOC: 1000-5000 (less than per-video because heavy lifting is in children). Per umbrella spec §0: lossless preservation directive applies here too — DO NOT over-summarize; Pass 2 will compress.
|
||||
|
||||
FILES TO READ:
|
||||
1. ./spec.md
|
||||
2. /conductor/tracks/video_analysis_campaign_20260621/TIER2_STARTER.md
|
||||
3. /conductor/tracks/video_analysis_campaign_20260621/spec.md §0 + §11 (multi-pass framing + future handoff)
|
||||
4. All 12 children's report.md + summary.md (in /conductor/tracks/video_analysis_<SLUG>_20260621/)
|
||||
|
||||
DELEGATE: synthesis report.md is large — delegate to Tier 3 worker via mma_exec.py --role tier3-worker with a surgical prompt specifying all 12 inputs + the 6-section output structure.
|
||||
---
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Post-campaign (after all 14 tracks shipped)
|
||||
|
||||
The umbrella Tier 2 (or the user) handles Phase 4 closeout:
|
||||
1. Update umbrella README.md with final statuses (all [x]).
|
||||
2. Write end-of-track report at `docs/reports/TRACK_COMPLETION_video_analysis_campaign_20260621.md`.
|
||||
3. Move all 14 folders from `conductor/tracks/` to `conductor/archive/` (preserves git history as rename).
|
||||
4. Update `conductor/chronology.md` with 14 new rows.
|
||||
5. Update `conductor/tracks.md` to remove the campaign from Active Tracks.
|
||||
|
||||
---
|
||||
|
||||
## Quick reference: tracks in this campaign
|
||||
|
||||
| # | Slug | Cluster | YouTube ID | Tier 2 dispatch command |
|
||||
|---|---|---|---|---|
|
||||
| UMBRELLA | video_analysis_campaign_20260621 | — | — | `/tier-2-auto-execute video_analysis_campaign_20260621` |
|
||||
| 1 | cs229_building_llms | E | 9vM4p9NN0Ts | `/tier-2-auto-execute video_analysis_cs229_building_llms_20260621 --resume` |
|
||||
| 2 | probability_logic | A | 0yF9TvMeAzM | `/tier-2-auto-execute video_analysis_probability_logic_20260621 --resume` |
|
||||
| 3 | entropy_epiplexity | A | _U8AwUq_aJQ | `/tier-2-auto-execute video_analysis_entropy_epiplexity_20260621 --resume` |
|
||||
| 4 | score_dynamics_giorgini | A | P75iVMmbqQk | `/tier-2-auto-execute video_analysis_score_dynamics_giorgini_20260621 --resume` |
|
||||
| 5 | platonic_intelligence_kumar | B | 1mXUFweWOug | `/tier-2-auto-execute video_analysis_platonic_intelligence_kumar_20260621 --resume` |
|
||||
| 6 | free_lunches_levin | B | K8BmMU1Tm-I | `/tier-2-auto-execute video_analysis_free_lunches_levin_20260621 --resume` |
|
||||
| 7 | generic_systems_fields | C | QeMajYvhEbI | `/tier-2-auto-execute video_analysis_generic_systems_fields_20260621 --resume` |
|
||||
| 8 | brain_counterintuitive | C | cDxtFtoQVNc | `/tier-2-auto-execute video_analysis_brain_counterintuitive_20260621 --resume` |
|
||||
| 9 | neural_dynamics_miller | C | 0BS-BzEFTXA | `/tier-2-auto-execute video_analysis_neural_dynamics_miller_20260621 --resume` |
|
||||
| 10 | multiscale_hoffman | C | YnfaT5APPB0 | `/tier-2-auto-execute video_analysis_multiscale_hoffman_20260621 --resume` |
|
||||
| 11 | cs336_architectures | E | lVynu4bo1rY | `/tier-2-auto-execute video_analysis_cs336_architectures_20260621 --resume` |
|
||||
| 12 | creikey_dl_cv | D | yxkUvXs-hoQ | `/tier-2-auto-execute video_analysis_creikey_dl_cv_20260621 --resume` |
|
||||
| SYNTH | video_analysis_synthesis_20260621 | — | — | `/tier-2-auto-execute video_analysis_synthesis_20260621` |
|
||||
|
||||
Total Tier 2 invocations: 14 (1 umbrella + 12 children + 1 synthesis).
|
||||
@@ -0,0 +1,231 @@
|
||||
{
|
||||
"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/<scene>_<ts>.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/<slug>/ (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/<thing>.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"}
|
||||
]
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,439 @@
|
||||
# Track Specification: Video Analysis Campaign (2026-06-21)
|
||||
|
||||
**Status:** Active (spec approved 2026-06-21)
|
||||
**Initialized:** 2026-06-21
|
||||
**Owner:** Tier 1 Orchestrator (umbrella spec/synthesis); Tier 2 Tech Lead (per-child execution)
|
||||
**Priority:** A (user-blocking; long-running research campaign)
|
||||
**Type:** Multi-track research campaign (1 umbrella + 12 child tracks + 1 synthesis = 14 folders)
|
||||
**Domain:** Meta-tooling (produces research artifacts; no `src/` changes to manual_slop)
|
||||
|
||||
> **Purpose.** This umbrella track organizes a 12-video research campaign to extract foundational knowledge from the user's preferred sources on AI inference, ML, biological learning, and neuro-compute. The artifacts (transcripts, keyframes, OCR, deep-dive reports) are intermediate inputs to future campaign passes (Pass 2: de-obfuscation; Pass 3: projection to applied domain). **Pass 1 is information extraction + distillation; lossless preservation is the design priority.**
|
||||
|
||||
> **Companion docs.** This spec is the umbrella. The per-video spec is at `conductor/tracks/video_analysis_<slug>_20260621/spec.md` (one per child, 12 total). The cross-cutting synthesis spec is at `conductor/tracks/video_analysis_synthesis_20260621/spec.md`.
|
||||
|
||||
---
|
||||
|
||||
## 0. Campaign Context (multi-pass framing — load-bearing)
|
||||
|
||||
This is **Pass 1 of 3** in a long-running research campaign.
|
||||
|
||||
| Pass | Goal | Status | Dependencies |
|
||||
|---|---|---|---|
|
||||
| **1 (THIS)** | Information extraction + distillation. Raw transcripts, keyframes, OCR, deep-dive reports per video. Foundational knowledge base. | Active (this track). | None. |
|
||||
| **2 (FUTURE)** | De-obfuscation via user's custom math encoding notation. Reduce DSL + niche math notation/verbiage into something the user (and associates) can understand. | Not started. **User must rediscover/redefine their encoding system before starting** ("compress/decompress math info" — they have a "handmade" notation from prior work but need to find it). Related: `intent_dsl_survey_20260612`, DSL patterns in `conductor/` docs + track reports. | Blocked by Pass 1. |
|
||||
| **3 (FUTURE)** | Projection to user's applied domain. Apply learnings to user's preferred code style. Influences: handmade / data-oriented / GPGPU community (Timothy Lottes, Onat Türkçüoğlu, Jebrim) + user's own caveats. Some preferences already in `conductor/workflow.md` (data-oriented design styleguide). | Not started. | Blocked by Pass 2. |
|
||||
|
||||
**Implication for Pass 1 artifacts (load-bearing — read carefully):**
|
||||
- **Raw data MUST be preserved in lossless form.** JSON for transcripts (timestamped), raw images for frames, plain text for OCR. Pass 2 needs every signal.
|
||||
- **Reports should be DETAILED, not summarized.** Per the user directive (2026-06-21), the target is **1000-10000 LOC of markdown per video report**. Over-summarization here is data loss for later.
|
||||
- **Synthesis report preserves detail too.** Pass 2 will compress.
|
||||
- **Don't optimize for "pretty" at the cost of "complete."**
|
||||
|
||||
---
|
||||
|
||||
## 1. Overview
|
||||
|
||||
This campaign extracts deep knowledge from 12 YouTube videos the user has curated, organized into 5 thematic clusters:
|
||||
|
||||
- **Cluster E — Stanford course VODs (>1hr each):** 2 videos
|
||||
- `9vM4p9NN0Ts` — Stanford CS229 — Machine Learning — Building Large Language Models (LLMs)
|
||||
- `lVynu4bo1rY` — Stanford CS336 — Language Modeling from Scratch, Spring 2026, Lecture 3: Architectures
|
||||
- **Cluster A — Math & information-theoretic foundations:** 3 videos
|
||||
- `0yF9TvMeAzM` — Probability Theory is an Extension of Logic
|
||||
- `_U8AwUq_aJQ` — "From Entropy to Epiplexity" (Andrew Wilson and Marc Finzi)
|
||||
- `P75iVMmbqQk` — "Learning Dynamics from Statistics: a score-based approach" (Ludovico Giorgini)
|
||||
- **Cluster B — Platonic / geometric AI representations:** 2 videos
|
||||
- `1mXUFweWOug` — "Towards a Platonic Intelligence with Unified Factored Representations" (Akarsh Kumar)
|
||||
- `K8BmMU1Tm-I` — "Free Lunches: Model Systems for Studying the Agential Gifts from the Platonic Space" (Michael Levin)
|
||||
- **Cluster C — Biological / cognitive / generic systems:** 4 videos
|
||||
- `cDxtFtoQVNc` — The Most Counterintuitive Way to Build a Brain
|
||||
- `YnfaT5APPB0` — "A Multiscale Logic of Collective Intelligence" (Donald Hoffman and Chetan Prakash)
|
||||
- `0BS-BzEFTXA` — "Cognition Emerges from Neural Dynamics" (Earl Miller)
|
||||
- `QeMajYvhEbI` — "Interesting Behavior by Generic Systems" (Chris Fields)
|
||||
- **Cluster D — Applied / practical:** 1 video
|
||||
- `yxkUvXs-hoQ` — Creikey — Deep Learning and Computer Vision for Game Developers (BSC 2025)
|
||||
|
||||
**Total: 12 videos across 5 clusters.**
|
||||
|
||||
The campaign delivers:
|
||||
- Per-video: transcript + keyframes + OCR + deep-dive report (1000-10000 LOC markdown each) + summary
|
||||
- Cross-cutting: per-video roll-up + synthesis report with theme matrix, concept map, top takeaways, math prerequisite graph, open questions, and recommended next-watch list
|
||||
|
||||
---
|
||||
|
||||
## 2. Current State Audit (as of 2026-06-21)
|
||||
|
||||
### 2.1 Already Available (DO NOT re-build)
|
||||
|
||||
| Asset | Location | Status |
|
||||
|---|---|---|
|
||||
| `yt-dlp` (Python module) | NOT installed (system `yt-dlp` binary NOT on PATH either) | **BLOCKER.** Must be installed before any track ships. |
|
||||
| `ffmpeg` 8.1.1 | System PATH | Available. |
|
||||
| `youtube-transcript-api` | Python module | Installed and importable. |
|
||||
| `cv2` (opencv-python) with ffmpeg bindings | `C:\projects\kasa\venv\Lib\site-packages\cv2\` (foreign venv; **DO NOT activate**) | Available — need to install in this repo's venv before any track ships. |
|
||||
| `imagehash`, `PIL` | Foreign venvs only | Need to install in this repo's venv. |
|
||||
| `winsdk` (Windows OCR) | Used by bootslop (`C:\projects\forth\bootslop\process_visuals.py`) | Windows-only; not installed here yet. |
|
||||
| `tesseract` (cross-platform OCR fallback) | Not installed | Optional fallback if `winsdk` proves problematic. |
|
||||
| Reference scripts | `C:\projects\forth\bootslop\download_videos.py`, `extract_frames.py`, `process_visuals.py`, `ocr_interaction.py`, `fetch_blog.py`, `fetch_notes.py` | **Reference only.** New scripts will live in `scripts/video_analysis/` (this repo, per AGENTS.md namespace convention). |
|
||||
| Manual Slop's track convention | `conductor/workflow.md`, `conductor/tracks.md`, nagent/fable/chronology precedents | Established. |
|
||||
| Manual Slop's data-oriented styleguide | `conductor/code_styleguides/data_oriented_design.md` | Referenced by Pass 3 (out of scope here). |
|
||||
| Manual Slop's error-handling convention | `conductor/code_styleguides/error_handling.md` (Result[T] pattern) | Applies to any new Python in `scripts/video_analysis/`. |
|
||||
|
||||
### 2.2 Gaps to Fill (this track's scope)
|
||||
|
||||
| # | Gap | Resolution |
|
||||
|---|---|---|
|
||||
| G1 | No reusable scripts for video download / transcript extraction / keyframe extraction / OCR / report synthesis | Create `scripts/video_analysis/` namespace with 5 scripts |
|
||||
| G2 | No tests for the new scripts | TDD: `tests/test_video_analysis_*.py` (~40-60 tests) |
|
||||
| G3 | No per-video deep-dive reports | 12 child tracks, each producing one `report.md` (1000-10000 LOC) + `summary.md` (200-400 words) |
|
||||
| G4 | No cross-cutting synthesis | 1 synthesis track, blocked by all 12 children, producing `per_video_summary.md` + `report.md` |
|
||||
| G5 | No campaign-level index | `README.md` at umbrella folder with one row per child + status |
|
||||
| G6 | No transcripts/frames/OCR artifacts | Created per-child under `artifacts/` (lossless JSON + raw images) |
|
||||
| G7 | Future-pass hooks not documented | This spec §11 explicitly records the Pass 2/3 dependencies so the next agent can pick up the thread |
|
||||
|
||||
---
|
||||
|
||||
## 3. Goals
|
||||
|
||||
1. **Lossless extraction.** Every signal from the 12 videos (spoken word, on-screen text, keyframes) is captured in a machine-readable form. Pass 2 has all the raw material.
|
||||
2. **Per-video deep understanding.** Each video gets a 1000-10000 LOC deep-dive report covering: TL;DR, key concepts, frame analysis, transcript highlights, math/theoretical content, cross-video connections, open questions, references.
|
||||
3. **Cross-cutting synthesis.** A campaign-level report maps themes across the 5 clusters, links concepts between videos, surfaces 5-10 high-level takeaways, and recommends a next-watch list.
|
||||
4. **Reusable tooling.** The 5 scripts in `scripts/video_analysis/` are independently TDD-tested and usable for any future video analysis (Pass 2, Pass 3, ad-hoc).
|
||||
5. **No manual_slop `src/` changes.** This is a research campaign; the deliverable is the artifacts and reports.
|
||||
6. **Future-pass documentation.** This spec records the Pass 2/3 dependencies so the next agent (or the user, after context compaction) has a clear handoff.
|
||||
|
||||
---
|
||||
|
||||
## 4. Functional Requirements
|
||||
|
||||
### FR1. Umbrella folder + README
|
||||
|
||||
**WHERE:** New folder `conductor/tracks/video_analysis_campaign_20260621/`.
|
||||
|
||||
**WHAT:** The umbrella folder contains:
|
||||
- `spec.md` (this file)
|
||||
- `plan.md` (campaign-level plan — pointers to children)
|
||||
- `metadata.json` (campaign metadata)
|
||||
- `state.toml` (campaign state)
|
||||
- `README.md` (one row per child + status — like a mini-chronology for the campaign)
|
||||
|
||||
**The README structure:**
|
||||
```markdown
|
||||
# Video Analysis Campaign
|
||||
|
||||
## Children (in execution order)
|
||||
|
||||
| # | Slug | Title | Cluster | Track Folder | Status |
|
||||
|---|------|-------|---------|--------------|--------|
|
||||
| 1 | cs229_building_llms | CS229 — Building LLMs | E | [tracks/video_analysis_cs229_building_llms_20260621/](./video_analysis_cs229_building_llms_20260621/) | [~] |
|
||||
| ... |
|
||||
|
||||
## Cross-cutting
|
||||
|
||||
| | Track | Status |
|
||||
|---|-------|--------|
|
||||
| Synthesis | [tracks/video_analysis_synthesis_20260621/](./video_analysis_synthesis_20260621/) | [ ] (blocked by all 12) |
|
||||
```
|
||||
|
||||
### FR2. 12 child track folders (one per video)
|
||||
|
||||
**WHERE:** New folders `conductor/tracks/video_analysis_<slug>_20260621/` (12 total).
|
||||
|
||||
**WHAT:** Each child folder contains at minimum:
|
||||
- `spec.md` (lightweight — references umbrella, lists the video, specifies what to produce, target LOC)
|
||||
- `artifacts/` (created during execution):
|
||||
- `transcript.json` (timestamped segments + plain text)
|
||||
- `download.log` (yt-dlp log if mp4 downloaded)
|
||||
- `frames/<scene>_<ts>.jpg` (deduplicated unique frames)
|
||||
- `ocr.md` (full OCR text per frame)
|
||||
- `report.md` (created during execution — 1000-10000 LOC target)
|
||||
- `summary.md` (created during execution — 200-400 words)
|
||||
|
||||
**Optional (added during execution):** `plan.md`, `metadata.json`, `state.toml` per the standard track convention.
|
||||
|
||||
**Slug convention:** `<descriptive_lowercase_underscore>` — see `slug_to_url` mapping in §7.
|
||||
|
||||
### FR3. 1 synthesis track folder
|
||||
|
||||
**WHERE:** New folder `conductor/tracks/video_analysis_synthesis_20260621/`.
|
||||
|
||||
**WHAT:** Contains:
|
||||
- `spec.md` (lightweight — references umbrella, lists the 12 inputs, specifies the synthesis structure)
|
||||
- `per_video_summary.md` (created during execution — one paragraph per video, the "summary of each video" the user requested)
|
||||
- `report.md` (created during execution — the "summary report of key takeaways")
|
||||
|
||||
**`blocked_by`:** all 12 child tracks (per `state.toml`).
|
||||
|
||||
### FR4. Reusable tooling (5 scripts in `scripts/video_analysis/`)
|
||||
|
||||
Per AGENTS.md: scripts are namespace-isolated by directory. New namespace `scripts/video_analysis/`.
|
||||
|
||||
| Script | Purpose | Inputs | Outputs |
|
||||
|---|---|---|---|
|
||||
| `scripts/video_analysis/download_video.py` | yt-dlp wrapper (subprocess — no new pyproject deps) | video URL, output path | mp4 file at output path + `download.log` |
|
||||
| `scripts/video_analysis/extract_transcript.py` | youtube-transcript-api wrapper | video URL or ID | `transcript.json` (segments + plain) |
|
||||
| `scripts/video_analysis/extract_keyframes.py` | ffmpeg `select=gt(scene\,0.4)` + cv2 + imagehash dedup | mp4 path, output dir, threshold | `frames/*.jpg` + `extraction_meta.json` |
|
||||
| `scripts/video_analysis/ocr_frames.py` | Windows WinSDK OCR (with tesseract fallback) | frames dir | `ocr.md` (one section per frame) |
|
||||
| `scripts/video_analysis/synthesize_report.py` | Orchestrator — runs the full pipeline for one video | video URL, output dir | `artifacts/` populated + `report.md` stub |
|
||||
|
||||
**Conventions:**
|
||||
- All scripts follow `conductor/code_styleguides/error_handling.md` (Result[T] pattern — applies to any new Python in `src/` or `scripts/`).
|
||||
- All scripts follow `conductor/code_styleguides/python.md` (1-space indent, type hints, no comments).
|
||||
- All scripts use `subprocess` for yt-dlp / ffmpeg / tesseract (no new pyproject deps).
|
||||
- All scripts support `--help` and a `--json` machine-readable mode for tests.
|
||||
|
||||
### FR5. Per-child pipeline (5 phases)
|
||||
|
||||
Each child track executes:
|
||||
|
||||
| Phase | Tasks | Output |
|
||||
|---|---|---|
|
||||
| **1. Acquire** | Run `extract_transcript.py` (always succeeds, fast). Run `download_video.py` if frame extraction needs video. | `transcript.json`, `download.log` |
|
||||
| **2. Keyframes** | Run `extract_keyframes.py` with sensible defaults (threshold 0.4). Manual review of frame set. | `frames/*.jpg`, `extraction_meta.json` |
|
||||
| **3. OCR** | Run `ocr_frames.py` on frames. Spot-check OCR quality. | `ocr.md` |
|
||||
| **4. Synthesis** | Tier 3 worker prompt: transcript + OCR + frame images → report.md (target 1000-10000 LOC). Human review + iteration. | `report.md`, `summary.md` |
|
||||
| **5. Verification** | Idempotency check (re-run scripts — should not break). Audit checklist. End-of-track report. | `tests/artifacts/<slug>/` |
|
||||
|
||||
### FR6. Per-video report structure (8 sections, target 1000-10000 LOC)
|
||||
|
||||
Each `report.md` follows this structure (mirrors `nagent_review`/`fable_review` style):
|
||||
|
||||
```
|
||||
# <Video Title>
|
||||
**Source:** <YouTube URL>
|
||||
**Author:** <Author>
|
||||
**Date Added to Campaign:** 2026-06-21
|
||||
**Cluster:** <A | B | C | D | E>
|
||||
**Slug:** <slug>
|
||||
|
||||
## 1. TL;DR (3-5 sentences)
|
||||
## 2. Key Concepts (5-15 bullets, each with brief explanation)
|
||||
## 3. Frame Analysis (one subsection per significant frame; embed image; describe visual content + OCR text + significance)
|
||||
## 4. Transcript Highlights (with timestamps; verbatim quotes of key passages)
|
||||
## 5. Mathematical / Theoretical Content (formal notation; derivations; references)
|
||||
## 6. Connections to Other Videos in Campaign (forward + backward links)
|
||||
## 7. Open Questions / Follow-up (what this video raises but doesn't answer)
|
||||
## 8. References (people, papers, prior work cited in the video)
|
||||
```
|
||||
|
||||
Plus a `summary.md` per video (200-400 words — quick reference for cross-cutting synthesis).
|
||||
|
||||
### FR7. Cross-cutting synthesis structure
|
||||
|
||||
The synthesis track produces:
|
||||
- `per_video_summary.md` — one paragraph (150-250 words) per video, the "summary of each video" the user requested. Ordered by execution order (matches umbrella §6).
|
||||
- `report.md` — the "summary report of key takeaways":
|
||||
1. **Theme matrix** across clusters A/B/C/D/E (which videos cover which themes)
|
||||
2. **Cross-video concept map** (which video introduced which idea; which video references which)
|
||||
3. **5-10 high-level takeaways** (the "what I learned that I didn't know before" section)
|
||||
4. **Mathematical prerequisite graph** (what math is needed to understand what)
|
||||
5. **Open research questions** (where the field is uncertain or contested)
|
||||
6. **Recommended next-watch list** (videos the user might want to find based on what they liked here)
|
||||
|
||||
### FR8. Storage & naming
|
||||
|
||||
- **mp4 files:** NEVER committed to git. Gitignored via pattern matching (per AGENTS.md file size conventions).
|
||||
- **Frame images:** committed if <500KB each; otherwise gitignored with `extraction_meta.json` (frame paths + hashes) committed.
|
||||
- **Transcripts, OCR, summaries, reports:** committed (small text files).
|
||||
- **Test artifacts:** `tests/artifacts/<slug>/` per AGENTS.md artifact isolation convention.
|
||||
|
||||
### FR9. Dependency graph
|
||||
|
||||
```
|
||||
UMBRELLA (video_analysis_campaign_20260621)
|
||||
├── child 1: video_analysis_cs229_building_llms_20260621
|
||||
├── child 2: video_analysis_probability_logic_20260621
|
||||
├── ...
|
||||
├── child 12: video_analysis_creikey_dl_cv_20260621
|
||||
└── SYNTHESIS: video_analysis_synthesis_20260621 (blocked_by all 12 children)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 5. Non-Functional Requirements
|
||||
|
||||
- **Lossless preservation:** all artifacts stored in machine-readable form (JSON, plain text). Pass 2's de-obfuscation pass must be able to consume every artifact programmatically.
|
||||
- **TDD:** every new script in `scripts/video_analysis/` has tests in `tests/test_video_analysis_*.py` written BEFORE implementation (red phase first).
|
||||
- **Code style:** 1-space indent, type hints, no comments per `conductor/code_styleguides/python.md`. Result[T] error handling per `conductor/code_styleguides/error_handling.md`.
|
||||
- **No new pyproject.toml deps:** all tools (`yt-dlp`, `ffmpeg`, `cv2`, `imagehash`, `PIL`, `winsdk`/`tesseract`) are either system binaries (subprocess) or already in the project's venv (verify before installing).
|
||||
- **No `src/` changes:** research-only campaign. No modifications to `src/*.py`, no new `src/<thing>.py` files (per AGENTS.md File Size and Naming Convention rule).
|
||||
- **Per-task atomic commits:** each child track follows `conductor/workflow.md` per-task commit discipline.
|
||||
- **Git notes:** each task gets a git note summarizing what was done and why.
|
||||
- **No day estimates:** scope measured in files/sites per `conductor/workflow.md` Tier 1 Track Initialization Rules.
|
||||
|
||||
---
|
||||
|
||||
## 6. The 12 Videos in Execution Order
|
||||
|
||||
The order is: Stanford CS229 first (canonical ML foundation) → math foundations (A) → Platonic AI (B) → biological/cognitive (C, meta-first then concrete) → CS336 deep dive on architectures → applied capstone (D).
|
||||
|
||||
| # | Slug | Title | Cluster | YouTube ID |
|
||||
|---|---|---|---|---|
|
||||
| 1 | `cs229_building_llms` | CS229 — Building LLMs | E | `9vM4p9NN0Ts` |
|
||||
| 2 | `probability_logic` | Probability Theory is an Extension of Logic | A | `0yF9TvMeAzM` |
|
||||
| 3 | `entropy_epiplexity` | From Entropy to Epiplexity (Wilson & Finzi) | A | `_U8AwUq_aJQ` |
|
||||
| 4 | `score_dynamics_giorgini` | Learning Dynamics from Statistics (Giorgini) | A | `P75iVMmbqQk` |
|
||||
| 5 | `platonic_intelligence_kumar` | Towards a Platonic Intelligence (Kumar) | B | `1mXUFweWOug` |
|
||||
| 6 | `free_lunches_levin` | Free Lunches (Levin) | B | `K8BmMU1Tm-I` |
|
||||
| 7 | `generic_systems_fields` | Interesting Behavior by Generic Systems (Fields) | C | `QeMajYvhEbI` |
|
||||
| 8 | `brain_counterintuitive` | Most Counterintuitive Way to Build a Brain | C | `cDxtFtoQVNc` |
|
||||
| 9 | `neural_dynamics_miller` | Cognition Emerges from Neural Dynamics (Miller) | C | `0BS-BzEFTXA` |
|
||||
| 10 | `multiscale_hoffman` | Multiscale Logic of Collective Intelligence (Hoffman & Prakash) | C | `YnfaT5APPB0` |
|
||||
| 11 | `cs336_architectures` | CS336 Lecture 3: Architectures | E | `lVynu4bo1rY` |
|
||||
| 12 | `creikey_dl_cv` | Creikey — DL/CV for Game Developers | D | `yxkUvXs-hoQ` |
|
||||
|
||||
---
|
||||
|
||||
## 7. Slug-to-URL Mapping
|
||||
|
||||
The full URL for each video (for reference; the child spec.md files reproduce these):
|
||||
|
||||
| Slug | URL |
|
||||
|---|---|
|
||||
| `cs229_building_llms` | `https://youtu.be/9vM4p9NN0Ts` |
|
||||
| `probability_logic` | `https://youtu.be/0yF9TvMeAzM` |
|
||||
| `entropy_epiplexity` | `https://youtu.be/_U8AwUq_aJQ` |
|
||||
| `score_dynamics_giorgini` | `https://youtu.be/P75iVMmbqQk` |
|
||||
| `platonic_intelligence_kumar` | `https://youtu.be/1mXUFweWOug` |
|
||||
| `free_lunches_levin` | `https://youtu.be/K8BmMU1Tm-I` |
|
||||
| `generic_systems_fields` | `https://youtu.be/QeMajYvhEbI` |
|
||||
| `brain_counterintuitive` | `https://youtu.be/cDxtFtoQVNc` |
|
||||
| `neural_dynamics_miller` | `https://youtu.be/0BS-BzEFTXA` |
|
||||
| `multiscale_hoffman` | `https://youtu.be/YnfaT5APPB0` |
|
||||
| `cs336_architectures` | `https://youtu.be/lVynu4bo1rY` |
|
||||
| `creikey_dl_cv` | `https://youtu.be/yxkUvXs-hoQ` |
|
||||
|
||||
---
|
||||
|
||||
## 8. Per-Video Report Structure (re-stated for emphasis)
|
||||
|
||||
The deep-dive report is the primary deliverable per child track. **Target: 1000-10000 LOC markdown per video** (per user directive 2026-06-21).
|
||||
|
||||
The 8-section structure from FR6 is MANDATORY. Each section gets roughly equal weight, but Frame Analysis + Math/Theoretical Content will likely dominate for technical videos. The Connections section is cross-referential — the synthesis track consumes it heavily.
|
||||
|
||||
---
|
||||
|
||||
## 9. Architecture Reference
|
||||
|
||||
This track does not modify the manual_slop application architecture. It produces research artifacts. The architecture refs that DO apply:
|
||||
|
||||
- **Track convention:** `conductor/workflow.md` "Standard Task Workflow" + "Tier 1 Track Initialization Rules" + per-task commit discipline
|
||||
- **Code style (for new scripts):** `conductor/code_styleguides/python.md` + `conductor/code_styleguides/error_handling.md`
|
||||
- **Artifact isolation:** AGENTS.md "test artifacts" → `tests/artifacts/<slug>/`
|
||||
- **Naming:** AGENTS.md "File Size and Naming Convention" → scripts in `scripts/<namespace>/`, no new `src/<thing>.py` files
|
||||
- **Multi-pass documentation:** this spec §11 explicitly records Pass 2/3 dependencies
|
||||
|
||||
---
|
||||
|
||||
## 10. Out of Scope (explicit)
|
||||
|
||||
- **Video analysis GUI panel in manual_slop** — no `src/gui_2.py` changes
|
||||
- **Auto-fetching of new videos on a schedule** — manual campaign execution only
|
||||
- **Building a video knowledge base** — separate from this analysis (per `conductor/code_styleguides/knowledge_artifacts.md`)
|
||||
- **The user's math encoding notation design itself** — Pass 2, USER-led, future track
|
||||
- **The projection-to-applied-domain methodology** — Pass 3, USER-led, future track
|
||||
- **Re-encoding or post-processing video files** — raw mp4s are downloaded once, not modified
|
||||
- **Auto-discovery of related videos on YouTube** — manual curation only
|
||||
- **Modifying any `src/*.py` files in manual_slop** — research-only campaign
|
||||
- **Adding `yt_dlp`, `cv2`, `imagehash`, `winsdk`, etc. to pyproject.toml** — all invoked via subprocess or via existing venv deps
|
||||
|
||||
---
|
||||
|
||||
## 11. Coordination with Future Passes (load-bearing)
|
||||
|
||||
### 11.1 Pass 2 (de-obfuscation via user's math encoding notation) — handoff contract
|
||||
|
||||
**Pass 2 will consume:**
|
||||
- `transcript.json` (every child track's `artifacts/transcript.json`)
|
||||
- `frames/*.jpg` (every child track's `artifacts/frames/`)
|
||||
- `ocr.md` (every child track's `artifacts/ocr.md`)
|
||||
- `report.md` (every child track's deep-dive report)
|
||||
- `summary.md` (every child track's summary)
|
||||
|
||||
**Pass 2's input encoding (user action item — pre-Pass-2):**
|
||||
- The user must rediscover/redefine their "compress/decompress math info" encoding notation.
|
||||
- This may be referenced in `conductor/tracks/intent_dsl_survey_20260612/` and other DSL-related track work; the user has prior art but it needs to be located.
|
||||
- Without this encoding system, Pass 2 cannot start.
|
||||
|
||||
**Pass 2 output:** a `deobfuscated/<slug>.md` per video + a `deobfuscated/synthesis.md` cross-cutting.
|
||||
|
||||
### 11.2 Pass 3 (projection to applied domain) — handoff contract
|
||||
|
||||
**Pass 3 will consume:** all of Pass 2's output + the user's stylistic preferences.
|
||||
|
||||
**Pass 3's input (user action item — pre-Pass-3):**
|
||||
- The user's stylistic preferences are documented in `conductor/workflow.md` (data-oriented design styleguide) and in the user's references to:
|
||||
- **Timothy Lottes** — GPGPU rendering, x56-40 / source-less programming (`C:\projects\forth\bootslop\references\`)
|
||||
- **Onat Türkçüoğlu** — Forth/ColorForth/VAMP/KYRA register-stack architecture (`C:\projects\forth\bootslop\`)
|
||||
- **Jebrim** — GPGPU community (specific reference TBD by user)
|
||||
- The user's "own caveats" are not yet documented — user must articulate these before Pass 3 starts.
|
||||
|
||||
**Pass 3 output:** applied-domain projections (e.g., "how would Lottes-style GPGPU kernels apply to inference?", "how would Onat's register-stack model apply to transformer attention?") + a synthesis.
|
||||
|
||||
### 11.3 Why this campaign is multi-pass
|
||||
|
||||
The user's framing (2026-06-21): "this large body of work encapsulated in the AI field which is largely impenetrable to me and associates." Pass 1 is information extraction + distillation (this track); Pass 2 is de-obfuscation (apply user's notation to make the math understandable); Pass 3 is projection (apply to user's domain). Each pass depends on the previous one's artifacts.
|
||||
|
||||
**Critical:** Pass 1 artifacts MUST be lossless. Over-summarization here is data loss that cascades.
|
||||
|
||||
---
|
||||
|
||||
## 12. Verification Criteria
|
||||
|
||||
The campaign is "done" when:
|
||||
|
||||
1. All 12 child tracks shipped (each with `report.md`, `summary.md`, `transcript.json`, `ocr.md`, frames extracted)
|
||||
2. Synthesis track shipped (with `per_video_summary.md` + `report.md`)
|
||||
3. All 5 scripts in `scripts/video_analysis/` shipped with passing tests
|
||||
4. Umbrella `README.md` lists all children with final status
|
||||
5. Campaign end-of-track report at `docs/reports/TRACK_COMPLETION_video_analysis_campaign_20260621.md`
|
||||
|
||||
The campaign is "Pass 1 complete" when:
|
||||
|
||||
- 12 + 1 = 13 child/synthesis tracks shipped
|
||||
- All artifacts preserved losslessly (verifiable by re-running scripts)
|
||||
- README.md shows all green
|
||||
|
||||
---
|
||||
|
||||
## 13. Risk Register
|
||||
|
||||
| ID | Title | Likelihood | Scope impact | Mitigation |
|
||||
|---|---|---|---|---|
|
||||
| R1 | `yt-dlp` not installed locally | High (verified at 2026-06-21: `yt-dlp` is NOT on PATH and NOT in this repo's venv) | First child track blocked until installed | Install `yt-dlp` via `pip install yt-dlp` in the repo's venv (single one-time task at the start of the first child track's execution) |
|
||||
| R2 | OCR quality insufficient for technical content | Medium | Some frames may have illegible text | Spot-check OCR per frame; manually transcribe critical frames in the report.md section |
|
||||
| R3 | Report exceeds 10000 LOC target | Low | User may want to split | Pass 2 can split; Pass 1 should not artificially cap |
|
||||
| R4 | Video mp4 files exceed disk space | Medium | Could hit quota | Delete mp4 after frame extraction (extract_frames.py already does this in bootslop) |
|
||||
| R5 | Two videos failed oEmbed fetch (private/age-restricted) | Confirmed for `9vM4p9NN0Ts` and `lVynu4bo1rY` | Unknown until track execution | User confirmed: `9vM4p9NN0Ts` = CS229, `lVynu4bo1rY` = CS336. The actual video data may still be accessible via `yt-dlp` (different from oEmbed) — verify in Phase 1 of each track |
|
||||
| R6 | User's math encoding notation (Pass 2) lost | Medium | Blocks Pass 2 | User action item: rediscover/redefine encoding before Pass 2 starts |
|
||||
| R7 | Pass 1 over-summarization loses signal for Pass 2 | Medium (if not enforced) | Cascades to Pass 2/3 | The "1000-10000 LOC target" + this spec's §0 explicit warning + per-section completeness check in verification |
|
||||
| R8 | Tier 2 capacity for 12+ child tracks | Medium | Tracks ship in sequence | Each child is independently shippable; the campaign is async |
|
||||
| R9 | Transcript API rate-limiting | Low | Some videos may fail on first fetch | Retry with backoff in `extract_transcript.py` |
|
||||
| R10 | `cv2` / `imagehash` not in this repo's venv | High (verified — they exist only in foreign venvs) | Blocks keyframe extraction | Install via `pip install opencv-python imagehash pillow` in the repo's venv (single one-time task) |
|
||||
|
||||
---
|
||||
|
||||
## 14. User Directives (recorded for next agent / future-self)
|
||||
|
||||
- **2026-06-21:** "Sure" — confirmed the 12-video order in §6.
|
||||
- **2026-06-21:** "This looks good, I'd say 2 [the report target]. should minimum 1000 and tops at 10k lines of markdown." — 1000-10000 LOC target per video report.
|
||||
- **2026-06-21:** "I want to add a note about this campaign, this is a first pass in a series of passes where we are doing essentially information extraction and distillation." — multi-pass framing; Pass 1 = this track.
|
||||
- **2026-06-21:** "Some of my preferences are within the workflow for conductor and are influenced by the 'handmade/data-oriented/GPGPU (Timothy Lottes, Onatt, Jebrim)' community along with my own caveats." — Pass 3 inputs.
|
||||
- **2026-06-21:** "These future passes after this first pass will be important to clarifying to my mind this large body of work encapsulated in the ai field which is largely impenetrable to me and associates." — campaign motivation.
|
||||
|
||||
---
|
||||
|
||||
## 15. See Also
|
||||
|
||||
- `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
|
||||
- `conductor/code_styleguides/data_oriented_design.md` — referenced by Pass 3 (out of scope here)
|
||||
- `conductor/code_styleguides/agent_memory_dimensions.md` — referenced by Pass 2/3 for memory-shape decisions
|
||||
- `conductor/code_styleguides/knowledge_artifacts.md` — referenced by Pass 3 for knowledge-base shape
|
||||
- `conductor/tracks/intent_dsl_survey_20260612/` — prior DSL work that Pass 2 may build on
|
||||
- `conductor/tracks/nagent_review_20260608/report.md` — precedent for deep-dive report format
|
||||
- `conductor/tracks/fable_review_20260617/report.md` — precedent for synthesis report format
|
||||
- `C:\projects\forth\bootslop\download_videos.py`, `extract_frames.py`, `process_visuals.py` — reference scripts (NOT imported; new scripts in this repo's namespace)
|
||||
- `https://pypi.org/project/youtube-transcript-api/` — transcript extraction
|
||||
- `C:\projects\kasa\venv\Lib\site-packages\cv2\` — proves `cv2`/`ffmpeg` is installable in a Python venv on this machine
|
||||
@@ -0,0 +1,86 @@
|
||||
# Track state for video_analysis_campaign_20260621
|
||||
# Updated by Tier 1 Orchestrator (initially) and Tier 2 Tech Lead (during execution)
|
||||
|
||||
[meta]
|
||||
track_id = "video_analysis_campaign_20260621"
|
||||
name = "Video Analysis Campaign (12 videos, 5 clusters, 3 passes)"
|
||||
status = "active"
|
||||
current_phase = 0 # Phase 0 = tooling prerequisites (not yet started)
|
||||
last_updated = "2026-06-21"
|
||||
|
||||
[blocked_by]
|
||||
# Independent umbrella. No blockers.
|
||||
|
||||
[blocks]
|
||||
# This umbrella blocks the synthesis track:
|
||||
video_analysis_synthesis_20260621 = "planned"
|
||||
# Each child track is "blocked_by" the umbrella + its own dependencies (none)
|
||||
|
||||
[phases]
|
||||
phase_0 = { status = "pending", checkpointsha = "", name = "Tooling Prerequisites (yt-dlp, cv2, imagehash, OCR backend)" }
|
||||
phase_1 = { status = "pending", checkpointsha = "", name = "Reusable Tooling (5 scripts with TDD)" }
|
||||
phase_2 = { status = "pending", checkpointsha = "", name = "Per-Child Tracks (12 videos, 5-phase pipeline each)" }
|
||||
phase_3 = { status = "pending", checkpointsha = "", name = "Synthesis Track (blocked by all 12 children)" }
|
||||
phase_4 = { status = "pending", checkpointsha = "", name = "Campaign Closeout (README update, end-of-track report, archive, chronology)" }
|
||||
|
||||
[tasks]
|
||||
# Phase 0 tasks
|
||||
t0_1 = { status = "pending", commit_sha = "", description = "Install yt-dlp in this repo's venv (pip install yt-dlp). Verify with python -c \"import yt_dlp; print(yt_dlp.version.__version__)\"." }
|
||||
t0_2 = { status = "pending", commit_sha = "", description = "Install opencv-python, imagehash, pillow in this repo's venv. Verify imports." }
|
||||
t0_3 = { status = "pending", commit_sha = "", description = "Decide on OCR backend: try winsdk first (matches bootslop), fall back to tesseract if winsdk proves problematic." }
|
||||
t0_4 = { status = "pending", commit_sha = "", description = "Create scripts/video_analysis/ namespace and tests/test_video_analysis_*.py skeleton (empty placeholder files)." }
|
||||
|
||||
# Phase 1 tasks (script TDD)
|
||||
t1_1 = { status = "pending", commit_sha = "", description = "Write tests for extract_transcript.py (red phase): success path, network error, missing video ID, malformed JSON response, retry behavior." }
|
||||
t1_2 = { status = "pending", commit_sha = "", description = "Implement extract_transcript.py (green phase). CLI: --url, --output, --json. Outputs transcript.json with segments + plain + metadata." }
|
||||
t1_3 = { status = "pending", commit_sha = "", description = "Write tests for download_video.py (red)." }
|
||||
t1_4 = { status = "pending", commit_sha = "", description = "Implement download_video.py (green). Subprocess yt-dlp. Outputs mp4 + download.log." }
|
||||
t1_5 = { status = "pending", commit_sha = "", description = "Write tests for extract_keyframes.py (red)." }
|
||||
t1_6 = { status = "pending", commit_sha = "", description = "Implement extract_keyframes.py (green). ffmpeg scene detect + cv2 + imagehash dedup. Outputs frames/*.jpg + extraction_meta.json." }
|
||||
t1_7 = { status = "pending", commit_sha = "", description = "Write tests for ocr_frames.py (red)." }
|
||||
t1_8 = { status = "pending", commit_sha = "", description = "Implement ocr_frames.py (green). Winsdk (or tesseract fallback). Outputs ocr.md." }
|
||||
t1_9 = { status = "pending", commit_sha = "", description = "Write tests for synthesize_report.py (red)." }
|
||||
t1_10 = { status = "pending", commit_sha = "", description = "Implement synthesize_report.py (green). Orchestrator. Outputs artifacts/ + report.md stub + summary.md stub." }
|
||||
|
||||
# Phase 2 tasks (12 child tracks - one entry each; details in child plans)
|
||||
t2_1 = { status = "pending", commit_sha = "", description = "Child 1: video_analysis_cs229_building_llms_20260621 - verify yt-dlp access (oEmbed failed 401), execute 5-phase pipeline, ship report.md (1000-10000 LOC) + summary.md" }
|
||||
t2_2 = { status = "pending", commit_sha = "", description = "Child 2: video_analysis_probability_logic_20260621 - execute 5-phase pipeline" }
|
||||
t2_3 = { status = "pending", commit_sha = "", description = "Child 3: video_analysis_entropy_epiplexity_20260621 - execute 5-phase pipeline" }
|
||||
t2_4 = { status = "pending", commit_sha = "", description = "Child 4: video_analysis_score_dynamics_giorgini_20260621 - execute 5-phase pipeline" }
|
||||
t2_5 = { status = "pending", commit_sha = "", description = "Child 5: video_analysis_platonic_intelligence_kumar_20260621 - execute 5-phase pipeline" }
|
||||
t2_6 = { status = "pending", commit_sha = "", description = "Child 6: video_analysis_free_lunches_levin_20260621 - execute 5-phase pipeline" }
|
||||
t2_7 = { status = "pending", commit_sha = "", description = "Child 7: video_analysis_generic_systems_fields_20260621 - execute 5-phase pipeline" }
|
||||
t2_8 = { status = "pending", commit_sha = "", description = "Child 8: video_analysis_brain_counterintuitive_20260621 - execute 5-phase pipeline" }
|
||||
t2_9 = { status = "pending", commit_sha = "", description = "Child 9: video_analysis_neural_dynamics_miller_20260621 - execute 5-phase pipeline" }
|
||||
t2_10 = { status = "pending", commit_sha = "", description = "Child 10: video_analysis_multiscale_hoffman_20260621 - execute 5-phase pipeline" }
|
||||
t2_11 = { status = "pending", commit_sha = "", description = "Child 11: video_analysis_cs336_architectures_20260621 - verify yt-dlp access (oEmbed failed 401), execute 5-phase pipeline" }
|
||||
t2_12 = { status = "pending", commit_sha = "", description = "Child 12: video_analysis_creikey_dl_cv_20260621 - execute 5-phase pipeline" }
|
||||
|
||||
# Phase 3 tasks (synthesis)
|
||||
t3_1 = { status = "pending", commit_sha = "", description = "Initialize video_analysis_synthesis_20260621 (spec.md + plan.md + metadata.json + state.toml)" }
|
||||
t3_2 = { status = "pending", commit_sha = "", description = "Execute synthesis: consume 12 children's report.md + summary.md, produce per_video_summary.md + report.md" }
|
||||
|
||||
# Phase 4 tasks (closeout)
|
||||
t4_1 = { status = "pending", commit_sha = "", description = "Update umbrella README.md with final statuses (all 12 children + synthesis shipped)" }
|
||||
t4_2 = { status = "pending", commit_sha = "", description = "Write end-of-track report at docs/reports/TRACK_COMPLETION_video_analysis_campaign_20260621.md" }
|
||||
t4_3 = { status = "pending", commit_sha = "", description = "Move umbrella + 13 children to conductor/archive/ per project convention" }
|
||||
t4_4 = { status = "pending", commit_sha = "", description = "Update conductor/chronology.md with 14 new rows" }
|
||||
|
||||
[verification]
|
||||
# These flip to true as the campaign progresses
|
||||
tooling_installed = false
|
||||
scripts_tdd_complete = false
|
||||
all_12_children_shipped = false
|
||||
synthesis_shipped = false
|
||||
end_of_track_report_committed = false
|
||||
future_pass_hooks_intact = false
|
||||
|
||||
[user_directives_logged]
|
||||
order_confirmed = "Per user 2026-06-21: 12-video sequence in spec.md §6"
|
||||
report_loc_target = "Per user 2026-06-21: minimum 1000 LOC, maximum 10000 LOC markdown per video report"
|
||||
multi_pass_framing = "Per user 2026-06-21: Pass 1 = information extraction (this track), Pass 2 = de-obfuscation, Pass 3 = projection"
|
||||
lossless_preservation = "Per user 2026-06-21: Pass 1 artifacts must be lossless; over-summarization is data loss for Pass 2"
|
||||
stanford_mapping = "Per user 2026-06-21: 9vM4p9NN0Ts = CS229 (Building LLMs), lVynu4bo1rY = CS336 Lecture 3 (Architectures)"
|
||||
campaign_motivation = "Per user 2026-06-21: 'large body of work encapsulated in the ai field which is largely impenetrable to me and associates'"
|
||||
stylistic_influences = "Per user 2026-06-21: handmade/data-oriented/GPGPU (Timothy Lottes, Onat Türkçüoğlu, Jebrim) + user's own caveats - referenced for Pass 3"
|
||||
no_day_estimates = "Per conductor/workflow.md Tier 1 Track Initialization Rules (added 2026-06-16). Scope measured in files/sites only."
|
||||
@@ -0,0 +1,91 @@
|
||||
# Track: Video Analysis — Creikey DL/CV for Game Developers
|
||||
|
||||
**Status:** Not started (umbrella published 2026-06-21)
|
||||
**Type:** Research-only child track (Pass 1 of 3)
|
||||
**Owner:** Tier 2 Tech Lead (execution)
|
||||
**Cluster:** D (Applied / practical)
|
||||
|
||||
> **Parent:** Child #12 (last) of the [video_analysis_campaign_20260621](../../video_analysis_campaign_20260621/) umbrella.
|
||||
|
||||
---
|
||||
|
||||
## 1. Video
|
||||
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| **Title** | Creikey — Deep Learning and Computer Vision for Game Developers — BSC 2025 |
|
||||
| **Author** | Creikey |
|
||||
| **URL** | https://youtu.be/yxkUvXs-hoQ |
|
||||
| **Cluster** | D (Applied / practical) |
|
||||
| **Slug** | `creikey_dl_cv` |
|
||||
| **Execution order** | #12 of 12 (applied capstone — validates the theory against practice) |
|
||||
|
||||
---
|
||||
|
||||
## 2. Deliverables
|
||||
|
||||
| Artifact | Path | Target |
|
||||
|---|---|---|
|
||||
| Transcript | `artifacts/transcript.json` | All segments |
|
||||
| Download log | `artifacts/download.log` | yt-dlp output |
|
||||
| Frames | `artifacts/frames/*.jpg` | 50-500 |
|
||||
| Extraction meta | `artifacts/extraction_meta.json` | Frame paths + hashes |
|
||||
| OCR | `artifacts/ocr.md` | Full OCR per frame |
|
||||
| Deep-dive report | `report.md` | **1000-10000 LOC markdown** |
|
||||
| Summary | `summary.md` | 200-400 words |
|
||||
|
||||
---
|
||||
|
||||
## 3. Pipeline (5 phases)
|
||||
|
||||
- [ ] **Phase 1:** Acquire
|
||||
- [ ] **Phase 2:** Keyframes
|
||||
- [ ] **Phase 3:** OCR
|
||||
- [ ] **Phase 4:** Synthesis (1000-10000 LOC)
|
||||
- [ ] **Phase 5:** Verification
|
||||
|
||||
---
|
||||
|
||||
## 4. Report structure
|
||||
|
||||
8 sections per umbrella spec §FR6.
|
||||
|
||||
```
|
||||
# Creikey — Deep Learning and Computer Vision for Game Developers (BSC 2025)
|
||||
**Source:** https://youtu.be/yxkUvXs-hoQ
|
||||
**Author:** Creikey
|
||||
**Cluster:** D
|
||||
**Slug:** creikey_dl_cv
|
||||
|
||||
## 1. TL;DR
|
||||
## 2. Key Concepts ← expect game-specific DL/CV applications, real-time constraints
|
||||
## 3. Frame Analysis
|
||||
## 4. Transcript Highlights
|
||||
## 5. Mathematical / Theoretical Content
|
||||
## 6. Connections ← should connect back to CS229 + CS336 + math foundations
|
||||
## 7. Open Questions
|
||||
## 8. References
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 5. Connections
|
||||
|
||||
- **Forward to:** none (last video in campaign; the synthesis track comes after).
|
||||
- **Backward from:** all 11 prior videos — this is the capstone that validates the theory against practice.
|
||||
- **Likely rich cross-references:** `cs336_architectures` (architectures used in practice), `cs229_building_llms` (foundational ML), `score_dynamics_giorgini` (training applied).
|
||||
|
||||
---
|
||||
|
||||
## 6. Verification
|
||||
|
||||
- [ ] All 7 deliverables present
|
||||
- [ ] `report.md` 1000-10000 LOC
|
||||
- [ ] Tests pass
|
||||
|
||||
---
|
||||
|
||||
## 7. See also
|
||||
|
||||
- [Umbrella spec.md](../../video_analysis_campaign_20260621/spec.md)
|
||||
- [Umbrella README.md](../../video_analysis_campaign_20260621/README.md)
|
||||
@@ -0,0 +1,105 @@
|
||||
# Track: Video Analysis — Stanford CS229 (Building LLMs)
|
||||
|
||||
**Status:** Not started (umbrella published 2026-06-21)
|
||||
**Type:** Research-only child track (Pass 1 of 3)
|
||||
**Owner:** Tier 2 Tech Lead (execution)
|
||||
**Cluster:** E (Stanford course VODs >1hr)
|
||||
|
||||
> **Parent:** This is child #1 of the [video_analysis_campaign_20260621](../../video_analysis_campaign_20260621/) umbrella. See [umbrella spec.md](../../video_analysis_campaign_20260621/spec.md) for the full design, multi-pass context (Pass 2 = de-obfuscation, Pass 3 = projection), and tooling requirements.
|
||||
|
||||
---
|
||||
|
||||
## 1. Video
|
||||
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| **Title** | Stanford CS229 — Machine Learning — Building Large Language Models (LLMs) |
|
||||
| **Author** | Stanford CS229 |
|
||||
| **URL** | https://youtu.be/9vM4p9NN0Ts |
|
||||
| **Cluster** | E (Stanford course VODs >1hr) |
|
||||
| **Estimated duration** | >1hr (Stanford course lecture) |
|
||||
| **Slug** | `cs229_building_llms` |
|
||||
| **Execution order** | #1 of 12 (canonical ML foundation — sets vocabulary for everything after) |
|
||||
|
||||
**Pre-execution note (2026-06-21):** This video's oEmbed API fetch returned 401. This may indicate a private/age-restricted video; `yt-dlp` may still work. **Phase 1 of this track must verify yt-dlp access before downloading the mp4.** If `yt-dlp` also fails, fall back to manual transcript sourcing (if available) or escalate.
|
||||
|
||||
---
|
||||
|
||||
## 2. Deliverables
|
||||
|
||||
| Artifact | Path | Target |
|
||||
|---|---|---|
|
||||
| Transcript (timestamped + plain) | `artifacts/transcript.json` | All segments |
|
||||
| Download log | `artifacts/download.log` | yt-dlp output |
|
||||
| Extracted unique frames | `artifacts/frames/*.jpg` | 50-500 frames |
|
||||
| Extraction metadata | `artifacts/extraction_meta.json` | Frame paths + hashes + timestamps |
|
||||
| OCR results | `artifacts/ocr.md` | Full OCR text per frame |
|
||||
| Deep-dive report | `report.md` | **1000-10000 LOC markdown** |
|
||||
| Quick summary | `summary.md` | 200-400 words |
|
||||
|
||||
**Optional (added per child track execution convention):** `plan.md`, `metadata.json`, `state.toml`.
|
||||
|
||||
---
|
||||
|
||||
## 3. Pipeline (5 phases)
|
||||
|
||||
Per the umbrella spec §FR5. Each phase commits atomically.
|
||||
|
||||
- [ ] **Phase 1: Acquire.** Run `extract_transcript.py` (always succeeds, fast). Run `download_video.py` if keyframe extraction needs the video. Verify `yt-dlp` access first.
|
||||
- [ ] **Phase 2: Keyframes.** Run `extract_keyframes.py` with threshold 0.4. Manually review frame set; flag candidates that look wrong.
|
||||
- [ ] **Phase 3: OCR.** Run `ocr_frames.py` on `frames/`. Spot-check OCR quality.
|
||||
- [ ] **Phase 4: Synthesis.** Tier 3 worker prompt: transcript + OCR + frame images → `report.md`. Human review + iteration. Target 1000-10000 LOC.
|
||||
- [ ] **Phase 5: Verification.** Idempotency check. Audit checklist. End-of-track report.
|
||||
|
||||
---
|
||||
|
||||
## 4. Report structure (8 sections)
|
||||
|
||||
Per umbrella spec §FR6. Target: 1000-10000 LOC.
|
||||
|
||||
```
|
||||
# Stanford CS229 — Building Large Language Models (LLMs)
|
||||
**Source:** https://youtu.be/9vM4p9NN0Ts
|
||||
**Author:** Stanford CS229
|
||||
**Date Added to Campaign:** 2026-06-21
|
||||
**Cluster:** E
|
||||
**Slug:** cs229_building_llms
|
||||
|
||||
## 1. TL;DR (3-5 sentences)
|
||||
## 2. Key Concepts (5-15 bullets, each with brief explanation)
|
||||
## 3. Frame Analysis (one subsection per significant frame; embed image; describe visual + OCR + significance)
|
||||
## 4. Transcript Highlights (with timestamps; verbatim quotes of key passages)
|
||||
## 5. Mathematical / Theoretical Content (formal notation; derivations; references)
|
||||
## 6. Connections to Other Videos in Campaign (forward + backward links)
|
||||
## 7. Open Questions / Follow-up
|
||||
## 8. References
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 5. Connections (forward + backward)
|
||||
|
||||
- **Forward to:** everything else in the campaign — this is the canonical ML/LLM foundation.
|
||||
- **Backward from:** none (this is video #1).
|
||||
- **Likely rich cross-references:** `cs336_architectures` (later in the campaign, deep dive on transformer architectures; this video provides the why).
|
||||
|
||||
---
|
||||
|
||||
## 6. Verification (per umbrella spec §12)
|
||||
|
||||
- [ ] All 7 deliverable artifacts present
|
||||
- [ ] `report.md` is 1000-10000 LOC
|
||||
- [ ] `summary.md` is 200-400 words
|
||||
- [ ] All 8 report sections populated
|
||||
- [ ] Idempotency check passes
|
||||
- [ ] Tests pass
|
||||
- [ ] Per-task commits with git notes
|
||||
|
||||
---
|
||||
|
||||
## 7. See also
|
||||
|
||||
- [Umbrella spec.md](../../video_analysis_campaign_20260621/spec.md) — full design
|
||||
- [Umbrella plan.md](../../video_analysis_campaign_20260621/plan.md) — campaign-level plan
|
||||
- [Umbrella README.md](../../video_analysis_campaign_20260621/README.md) — child index
|
||||
- [Umbrella metadata.json](../../video_analysis_campaign_20260621/metadata.json) — scope + risk register
|
||||
@@ -0,0 +1,96 @@
|
||||
# Track: Video Analysis — Stanford CS336 Lecture 3: Architectures
|
||||
|
||||
**Status:** Not started (umbrella published 2026-06-21)
|
||||
**Type:** Research-only child track (Pass 1 of 3)
|
||||
**Owner:** Tier 2 Tech Lead (execution)
|
||||
**Cluster:** E (Stanford course VODs >1hr)
|
||||
|
||||
> **Parent:** Child #11 of the [video_analysis_campaign_20260621](../../video_analysis_campaign_20260621/) umbrella. See [umbrella spec.md](../../video_analysis_campaign_20260621/spec.md) for full design.
|
||||
|
||||
---
|
||||
|
||||
## 1. Video
|
||||
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| **Title** | Stanford CS336 — Language Modeling from Scratch, Spring 2026, Lecture 3: Architectures |
|
||||
| **Author** | Stanford CS336 Spring 2026 |
|
||||
| **URL** | https://youtu.be/lVynu4bo1rY |
|
||||
| **Cluster** | E (Stanford course VODs >1hr) |
|
||||
| **Estimated duration** | >1hr (Stanford course lecture) |
|
||||
| **Slug** | `cs336_architectures` |
|
||||
| **Execution order** | #11 of 12 (deep dive on transformer architectures; pairs back to CS229 with full context from prior videos) |
|
||||
|
||||
**Pre-execution note (2026-06-21):** This video's oEmbed API fetch returned 401. This may indicate a private/age-restricted video; `yt-dlp` may still work. **Phase 1 of this track must verify yt-dlp access before downloading the mp4.** If `yt-dlp` also fails, fall back to manual transcript sourcing (if available) or escalate.
|
||||
|
||||
**Position rationale:** Placed late (after Clusters A/B/C) rather than early so the Tier 3 worker has full context from CS229 + math + Platonic + biological videos when analyzing the architecture details. CS229 (#1) sets the "why" for transformer architectures; CS336 (#11) is the "how" deep dive.
|
||||
|
||||
---
|
||||
|
||||
## 2. Deliverables
|
||||
|
||||
| Artifact | Path | Target |
|
||||
|---|---|---|
|
||||
| Transcript | `artifacts/transcript.json` | All segments |
|
||||
| Download log | `artifacts/download.log` | yt-dlp output |
|
||||
| Frames | `artifacts/frames/*.jpg` | 50-500 |
|
||||
| Extraction meta | `artifacts/extraction_meta.json` | Frame paths + hashes |
|
||||
| OCR | `artifacts/ocr.md` | Full OCR per frame |
|
||||
| Deep-dive report | `report.md` | **1000-10000 LOC markdown** |
|
||||
| Summary | `summary.md` | 200-400 words |
|
||||
|
||||
---
|
||||
|
||||
## 3. Pipeline (5 phases)
|
||||
|
||||
- [ ] **Phase 1: Acquire.** Run `extract_transcript.py` + `download_video.py`. Verify `yt-dlp` access first.
|
||||
- [ ] **Phase 2: Keyframes.** `extract_keyframes.py` with threshold 0.4.
|
||||
- [ ] **Phase 3: OCR.** `ocr_frames.py`.
|
||||
- [ ] **Phase 4: Synthesis.** Tier 3 worker: transcript + OCR + frames → `report.md` (1000-10000 LOC).
|
||||
- [ ] **Phase 5: Verification.** Idempotency + audit + end-of-track report.
|
||||
|
||||
---
|
||||
|
||||
## 4. Report structure
|
||||
|
||||
8 sections per umbrella spec §FR6.
|
||||
|
||||
```
|
||||
# Stanford CS336 Lecture 3: Architectures
|
||||
**Source:** https://youtu.be/lVynu4bo1rY
|
||||
**Author:** Stanford CS336 Spring 2026
|
||||
**Cluster:** E
|
||||
**Slug:** cs336_architectures
|
||||
|
||||
## 1. TL;DR
|
||||
## 2. Key Concepts ← expect transformer architectures, attention, FFN, MoE, etc.
|
||||
## 3. Frame Analysis ← expect dense formulas/diagrams; OCR critical
|
||||
## 4. Transcript Highlights
|
||||
## 5. Mathematical / Theoretical Content ← dominant
|
||||
## 6. Connections ← heavy cross-refs to CS229 + prior cluster videos
|
||||
## 7. Open Questions
|
||||
## 8. References
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 5. Connections
|
||||
|
||||
- **Forward to:** `creikey_dl_cv` (applied capstone — uses these architectures in games).
|
||||
- **Backward from:** `cs229_building_llms` (sets "why transformer architectures"), `score_dynamics_giorgini` (training dynamics), `platonic_intelligence_kumar` (representations inside the architecture).
|
||||
- **Likely rich cross-references:** `cs229_building_llms` (most direct — same LLM topic, different depth), `platonic_intelligence_kumar` (representations inside architectures).
|
||||
|
||||
---
|
||||
|
||||
## 6. Verification
|
||||
|
||||
- [ ] All 7 deliverables present
|
||||
- [ ] `report.md` 1000-10000 LOC
|
||||
- [ ] Tests pass
|
||||
|
||||
---
|
||||
|
||||
## 7. See also
|
||||
|
||||
- [Umbrella spec.md](../../video_analysis_campaign_20260621/spec.md)
|
||||
- [Umbrella README.md](../../video_analysis_campaign_20260621/README.md)
|
||||
@@ -0,0 +1,91 @@
|
||||
# Track: Video Analysis — From Entropy to Epiplexity (Wilson & Finzi)
|
||||
|
||||
**Status:** Not started (umbrella published 2026-06-21)
|
||||
**Type:** Research-only child track (Pass 1 of 3)
|
||||
**Owner:** Tier 2 Tech Lead (execution)
|
||||
**Cluster:** A (Math & information-theoretic foundations)
|
||||
|
||||
> **Parent:** Child #3 of the [video_analysis_campaign_20260621](../../video_analysis_campaign_20260621/) umbrella.
|
||||
|
||||
---
|
||||
|
||||
## 1. Video
|
||||
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| **Title** | From Entropy to Epiplexity |
|
||||
| **Author** | Andrew Wilson and Marc Finzi |
|
||||
| **URL** | https://youtu.be/_U8AwUq_aJQ |
|
||||
| **Cluster** | A |
|
||||
| **Slug** | `entropy_epiplexity` |
|
||||
| **Execution order** | #3 of 12 (builds on entropy; pairs with #2) |
|
||||
|
||||
---
|
||||
|
||||
## 2. Deliverables
|
||||
|
||||
| Artifact | Path | Target |
|
||||
|---|---|---|
|
||||
| Transcript | `artifacts/transcript.json` | All segments |
|
||||
| Download log | `artifacts/download.log` | yt-dlp output |
|
||||
| Frames | `artifacts/frames/*.jpg` | 50-500 |
|
||||
| Extraction meta | `artifacts/extraction_meta.json` | Frame paths + hashes |
|
||||
| OCR | `artifacts/ocr.md` | Full OCR per frame |
|
||||
| Deep-dive report | `report.md` | **1000-10000 LOC** |
|
||||
| Summary | `summary.md` | 200-400 words |
|
||||
|
||||
---
|
||||
|
||||
## 3. Pipeline
|
||||
|
||||
- [ ] **Phase 1:** Acquire
|
||||
- [ ] **Phase 2:** Keyframes
|
||||
- [ ] **Phase 3:** OCR
|
||||
- [ ] **Phase 4:** Synthesis (1000-10000 LOC report)
|
||||
- [ ] **Phase 5:** Verification
|
||||
|
||||
---
|
||||
|
||||
## 4. Report structure
|
||||
|
||||
8 sections per umbrella spec §FR6.
|
||||
|
||||
```
|
||||
# From Entropy to Epiplexity
|
||||
**Source:** https://youtu.be/_U8AwUq_aJQ
|
||||
**Author:** Andrew Wilson and Marc Finzi
|
||||
**Cluster:** A
|
||||
**Slug:** entropy_epiplexity
|
||||
|
||||
## 1. TL;DR
|
||||
## 2. Key Concepts ← expect epiplexity vs entropy, model complexity measures
|
||||
## 3. Frame Analysis
|
||||
## 4. Transcript Highlights
|
||||
## 5. Mathematical / Theoretical Content ← dominant
|
||||
## 6. Connections
|
||||
## 7. Open Questions
|
||||
## 8. References
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 5. Connections
|
||||
|
||||
- **Forward to:** `score_dynamics_giorgini` (learning dynamics), `cs336_architectures` (model complexity in LLMs).
|
||||
- **Backward from:** `probability_logic` (extends logic with probability).
|
||||
- **Likely rich cross-references:** `probability_logic` (most direct — both foundational).
|
||||
|
||||
---
|
||||
|
||||
## 6. Verification
|
||||
|
||||
- [ ] All 7 deliverables present
|
||||
- [ ] `report.md` 1000-10000 LOC
|
||||
- [ ] Tests pass
|
||||
|
||||
---
|
||||
|
||||
## 7. See also
|
||||
|
||||
- [Umbrella spec.md](../../video_analysis_campaign_20260621/spec.md)
|
||||
- [Umbrella README.md](../../video_analysis_campaign_20260621/README.md)
|
||||
@@ -0,0 +1,91 @@
|
||||
# Track: Video Analysis — Free Lunches (Levin)
|
||||
|
||||
**Status:** Not started (umbrella published 2026-06-21)
|
||||
**Type:** Research-only child track (Pass 1 of 3)
|
||||
**Owner:** Tier 2 Tech Lead (execution)
|
||||
**Cluster:** B (Platonic / geometric AI representations)
|
||||
|
||||
> **Parent:** Child #6 of the [video_analysis_campaign_20260621](../../video_analysis_campaign_20260621/) umbrella.
|
||||
|
||||
---
|
||||
|
||||
## 1. Video
|
||||
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| **Title** | Free Lunches: Model Systems for Studying the Agential Gifts from the Platonic Space |
|
||||
| **Author** | Michael Levin |
|
||||
| **URL** | https://youtu.be/K8BmMU1Tm-I |
|
||||
| **Cluster** | B |
|
||||
| **Slug** | `free_lunches_levin` |
|
||||
| **Execution order** | #6 of 12 (pairs with #5; agential/Platonic synthesis) |
|
||||
|
||||
---
|
||||
|
||||
## 2. Deliverables
|
||||
|
||||
| Artifact | Path | Target |
|
||||
|---|---|---|
|
||||
| Transcript | `artifacts/transcript.json` | All segments |
|
||||
| Download log | `artifacts/download.log` | yt-dlp output |
|
||||
| Frames | `artifacts/frames/*.jpg` | 50-500 |
|
||||
| Extraction meta | `artifacts/extraction_meta.json` | Frame paths + hashes |
|
||||
| OCR | `artifacts/ocr.md` | Full OCR per frame |
|
||||
| Deep-dive report | `report.md` | **1000-10000 LOC** |
|
||||
| Summary | `summary.md` | 200-400 words |
|
||||
|
||||
---
|
||||
|
||||
## 3. Pipeline
|
||||
|
||||
- [ ] **Phase 1:** Acquire
|
||||
- [ ] **Phase 2:** Keyframes
|
||||
- [ ] **Phase 3:** OCR
|
||||
- [ ] **Phase 4:** Synthesis (1000-10000 LOC)
|
||||
- [ ] **Phase 5:** Verification
|
||||
|
||||
---
|
||||
|
||||
## 4. Report structure
|
||||
|
||||
8 sections per umbrella spec §FR6.
|
||||
|
||||
```
|
||||
# Free Lunches: Model Systems for Studying the Agential Gifts from the Platonic Space
|
||||
**Source:** https://youtu.be/K8BmMU1Tm-I
|
||||
**Author:** Michael Levin
|
||||
**Cluster:** B
|
||||
**Slug:** free_lunches_levin
|
||||
|
||||
## 1. TL;DR
|
||||
## 2. Key Concepts ← expect agential materials, basal cognition, Platonic space, model systems
|
||||
## 3. Frame Analysis
|
||||
## 4. Transcript Highlights
|
||||
## 5. Mathematical / Theoretical Content ← dominant
|
||||
## 6. Connections
|
||||
## 7. Open Questions
|
||||
## 8. References
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 5. Connections
|
||||
|
||||
- **Forward to:** `generic_systems_fields` (crosses into Cluster C — generic behavior), `brain_counterintuitive` (agential materials), `multiscale_hoffman` (collective intelligence).
|
||||
- **Backward from:** `platonic_intelligence_kumar` (Platonic representations, agential lens).
|
||||
- **Likely rich cross-references:** `platonic_intelligence_kumar` (most direct — both Platonic), `multiscale_hoffman` (collective intelligence).
|
||||
|
||||
---
|
||||
|
||||
## 6. Verification
|
||||
|
||||
- [ ] All 7 deliverables present
|
||||
- [ ] `report.md` 1000-10000 LOC
|
||||
- [ ] Tests pass
|
||||
|
||||
---
|
||||
|
||||
## 7. See also
|
||||
|
||||
- [Umbrella spec.md](../../video_analysis_campaign_20260621/spec.md)
|
||||
- [Umbrella README.md](../../video_analysis_campaign_20260621/README.md)
|
||||
@@ -0,0 +1,91 @@
|
||||
# Track: Video Analysis — Interesting Behavior by Generic Systems (Fields)
|
||||
|
||||
**Status:** Not started (umbrella published 2026-06-21)
|
||||
**Type:** Research-only child track (Pass 1 of 3)
|
||||
**Owner:** Tier 2 Tech Lead (execution)
|
||||
**Cluster:** C (Biological / cognitive / generic systems)
|
||||
|
||||
> **Parent:** Child #7 of the [video_analysis_campaign_20260621](../../video_analysis_campaign_20260621/) umbrella.
|
||||
|
||||
---
|
||||
|
||||
## 1. Video
|
||||
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| **Title** | Interesting Behavior by Generic Systems |
|
||||
| **Author** | Chris Fields |
|
||||
| **URL** | https://youtu.be/QeMajYvhEbI |
|
||||
| **Cluster** | C |
|
||||
| **Slug** | `generic_systems_fields` |
|
||||
| **Execution order** | #7 of 12 (meta-theoretical framing for Cluster C) |
|
||||
|
||||
---
|
||||
|
||||
## 2. Deliverables
|
||||
|
||||
| Artifact | Path | Target |
|
||||
|---|---|---|
|
||||
| Transcript | `artifacts/transcript.json` | All segments |
|
||||
| Download log | `artifacts/download.log` | yt-dlp output |
|
||||
| Frames | `artifacts/frames/*.jpg` | 50-500 |
|
||||
| Extraction meta | `artifacts/extraction_meta.json` | Frame paths + hashes |
|
||||
| OCR | `artifacts/ocr.md` | Full OCR per frame |
|
||||
| Deep-dive report | `report.md` | **1000-10000 LOC** |
|
||||
| Summary | `summary.md` | 200-400 words |
|
||||
|
||||
---
|
||||
|
||||
## 3. Pipeline
|
||||
|
||||
- [ ] **Phase 1:** Acquire
|
||||
- [ ] **Phase 2:** Keyframes
|
||||
- [ ] **Phase 3:** OCR
|
||||
- [ ] **Phase 4:** Synthesis (1000-10000 LOC)
|
||||
- [ ] **Phase 5:** Verification
|
||||
|
||||
---
|
||||
|
||||
## 4. Report structure
|
||||
|
||||
8 sections per umbrella spec §FR6.
|
||||
|
||||
```
|
||||
# Interesting Behavior by Generic Systems
|
||||
**Source:** https://youtu.be/QeMajYvhEbI
|
||||
**Author:** Chris Fields
|
||||
**Cluster:** C
|
||||
**Slug:** generic_systems_fields
|
||||
|
||||
## 1. TL;DR
|
||||
## 2. Key Concepts ← expect generic systems, emergence, interesting behavior, information-theoretic life
|
||||
## 3. Frame Analysis
|
||||
## 4. Transcript Highlights
|
||||
## 5. Mathematical / Theoretical Content ← dominant
|
||||
## 6. Connections
|
||||
## 7. Open Questions
|
||||
## 8. References
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 5. Connections
|
||||
|
||||
- **Forward to:** `brain_counterintuitive` (concrete biological example), `neural_dynamics_miller` (concrete neuro), `multiscale_hoffman` (synthesis).
|
||||
- **Backward from:** `free_lunches_levin` (agential + Platonic, transitions into biology).
|
||||
- **Likely rich cross-references:** `multiscale_hoffman` (cross-cluster synthesis), `free_lunches_levin` (entry into biology cluster).
|
||||
|
||||
---
|
||||
|
||||
## 6. Verification
|
||||
|
||||
- [ ] All 7 deliverables present
|
||||
- [ ] `report.md` 1000-10000 LOC
|
||||
- [ ] Tests pass
|
||||
|
||||
---
|
||||
|
||||
## 7. See also
|
||||
|
||||
- [Umbrella spec.md](../../video_analysis_campaign_20260621/spec.md)
|
||||
- [Umbrella README.md](../../video_analysis_campaign_20260621/README.md)
|
||||
@@ -0,0 +1,91 @@
|
||||
# Track: Video Analysis — Multiscale Logic of Collective Intelligence (Hoffman & Prakash)
|
||||
|
||||
**Status:** Not started (umbrella published 2026-06-21)
|
||||
**Type:** Research-only child track (Pass 1 of 3)
|
||||
**Owner:** Tier 2 Tech Lead (execution)
|
||||
**Cluster:** C (Biological / cognitive / generic systems)
|
||||
|
||||
> **Parent:** Child #10 of the [video_analysis_campaign_20260621](../../video_analysis_campaign_20260621/) umbrella.
|
||||
|
||||
---
|
||||
|
||||
## 1. Video
|
||||
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| **Title** | A Multiscale Logic of Collective Intelligence |
|
||||
| **Author** | Donald Hoffman and Chetan Prakash |
|
||||
| **URL** | https://youtu.be/YnfaT5APPB0 |
|
||||
| **Cluster** | C |
|
||||
| **Slug** | `multiscale_hoffman` |
|
||||
| **Execution order** | #10 of 12 (synthesis across Cluster C) |
|
||||
|
||||
---
|
||||
|
||||
## 2. Deliverables
|
||||
|
||||
| Artifact | Path | Target |
|
||||
|---|---|---|
|
||||
| Transcript | `artifacts/transcript.json` | All segments |
|
||||
| Download log | `artifacts/download.log` | yt-dlp output |
|
||||
| Frames | `artifacts/frames/*.jpg` | 50-500 |
|
||||
| Extraction meta | `artifacts/extraction_meta.json` | Frame paths + hashes |
|
||||
| OCR | `artifacts/ocr.md` | Full OCR per frame |
|
||||
| Deep-dive report | `report.md` | **1000-10000 LOC** |
|
||||
| Summary | `summary.md` | 200-400 words |
|
||||
|
||||
---
|
||||
|
||||
## 3. Pipeline
|
||||
|
||||
- [ ] **Phase 1:** Acquire
|
||||
- [ ] **Phase 2:** Keyframes
|
||||
- [ ] **Phase 3:** OCR
|
||||
- [ ] **Phase 4:** Synthesis (1000-10000 LOC)
|
||||
- [ ] **Phase 5:** Verification
|
||||
|
||||
---
|
||||
|
||||
## 4. Report structure
|
||||
|
||||
8 sections per umbrella spec §FR6.
|
||||
|
||||
```
|
||||
# A Multiscale Logic of Collective Intelligence
|
||||
**Source:** https://youtu.be/YnfaT5APPB0
|
||||
**Author:** Donald Hoffman and Chetan Prakash
|
||||
**Cluster:** C
|
||||
**Slug:** multiscale_hoffman
|
||||
|
||||
## 1. TL;DR
|
||||
## 2. Key Concepts ← expect conscious agents, multiscale networks, fitness vs truth
|
||||
## 3. Frame Analysis
|
||||
## 4. Transcript Highlights
|
||||
## 5. Mathematical / Theoretical Content
|
||||
## 6. Connections
|
||||
## 7. Open Questions
|
||||
## 8. References
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 5. Connections
|
||||
|
||||
- **Forward to:** `cs336_architectures` (collective intelligence in transformers?), `creikey_dl_cv` (applied capstone).
|
||||
- **Backward from:** `neural_dynamics_miller` (concrete neuro), `brain_counterintuitive` (other biological), `generic_systems_fields` (meta-frame).
|
||||
- **Likely rich cross-references:** `free_lunches_levin` (both about collective/Platonic systems), `generic_systems_fields` (both meta-theoretical).
|
||||
|
||||
---
|
||||
|
||||
## 6. Verification
|
||||
|
||||
- [ ] All 7 deliverables present
|
||||
- [ ] `report.md` 1000-10000 LOC
|
||||
- [ ] Tests pass
|
||||
|
||||
---
|
||||
|
||||
## 7. See also
|
||||
|
||||
- [Umbrella spec.md](../../video_analysis_campaign_20260621/spec.md)
|
||||
- [Umbrella README.md](../../video_analysis_campaign_20260621/README.md)
|
||||
@@ -0,0 +1,91 @@
|
||||
# Track: Video Analysis — Cognition Emerges from Neural Dynamics (Miller)
|
||||
|
||||
**Status:** Not started (umbrella published 2026-06-21)
|
||||
**Type:** Research-only child track (Pass 1 of 3)
|
||||
**Owner:** Tier 2 Tech Lead (execution)
|
||||
**Cluster:** C (Biological / cognitive / generic systems)
|
||||
|
||||
> **Parent:** Child #9 of the [video_analysis_campaign_20260621](../../video_analysis_campaign_20260621/) umbrella.
|
||||
|
||||
---
|
||||
|
||||
## 1. Video
|
||||
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| **Title** | Cognition Emerges from Neural Dynamics |
|
||||
| **Author** | Earl Miller |
|
||||
| **URL** | https://youtu.be/0BS-BzEFTXA |
|
||||
| **Cluster** | C |
|
||||
| **Slug** | `neural_dynamics_miller` |
|
||||
| **Execution order** | #9 of 12 (concrete neuro) |
|
||||
|
||||
---
|
||||
|
||||
## 2. Deliverables
|
||||
|
||||
| Artifact | Path | Target |
|
||||
|---|---|---|
|
||||
| Transcript | `artifacts/transcript.json` | All segments |
|
||||
| Download log | `artifacts/download.log` | yt-dlp output |
|
||||
| Frames | `artifacts/frames/*.jpg` | 50-500 |
|
||||
| Extraction meta | `artifacts/extraction_meta.json` | Frame paths + hashes |
|
||||
| OCR | `artifacts/ocr.md` | Full OCR per frame |
|
||||
| Deep-dive report | `report.md` | **1000-10000 LOC** |
|
||||
| Summary | `summary.md` | 200-400 words |
|
||||
|
||||
---
|
||||
|
||||
## 3. Pipeline
|
||||
|
||||
- [ ] **Phase 1:** Acquire
|
||||
- [ ] **Phase 2:** Keyframes
|
||||
- [ ] **Phase 3:** OCR
|
||||
- [ ] **Phase 4:** Synthesis (1000-10000 LOC)
|
||||
- [ ] **Phase 5:** Verification
|
||||
|
||||
---
|
||||
|
||||
## 4. Report structure
|
||||
|
||||
8 sections per umbrella spec §FR6.
|
||||
|
||||
```
|
||||
# Cognition Emerges from Neural Dynamics
|
||||
**Source:** https://youtu.be/0BS-BzEFTXA
|
||||
**Author:** Earl Miller
|
||||
**Cluster:** C
|
||||
**Slug:** neural_dynamics_miller
|
||||
|
||||
## 1. TL;DR
|
||||
## 2. Key Concepts ← expect cortical dynamics, working memory, cognitive flexibility
|
||||
## 3. Frame Analysis
|
||||
## 4. Transcript Highlights
|
||||
## 5. Mathematical / Theoretical Content
|
||||
## 6. Connections
|
||||
## 7. Open Questions
|
||||
## 8. References
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 5. Connections
|
||||
|
||||
- **Forward to:** `multiscale_hoffman` (synthesis across scales).
|
||||
- **Backward from:** `brain_counterintuitive` (other concrete neuro), `generic_systems_fields` (meta-frame).
|
||||
- **Likely rich cross-references:** `brain_counterintuitive` (most direct — both about brain mechanisms).
|
||||
|
||||
---
|
||||
|
||||
## 6. Verification
|
||||
|
||||
- [ ] All 7 deliverables present
|
||||
- [ ] `report.md` 1000-10000 LOC
|
||||
- [ ] Tests pass
|
||||
|
||||
---
|
||||
|
||||
## 7. See also
|
||||
|
||||
- [Umbrella spec.md](../../video_analysis_campaign_20260621/spec.md)
|
||||
- [Umbrella README.md](../../video_analysis_campaign_20260621/README.md)
|
||||
@@ -0,0 +1,91 @@
|
||||
# Track: Video Analysis — Towards a Platonic Intelligence (Kumar)
|
||||
|
||||
**Status:** Not started (umbrella published 2026-06-21)
|
||||
**Type:** Research-only child track (Pass 1 of 3)
|
||||
**Owner:** Tier 2 Tech Lead (execution)
|
||||
**Cluster:** B (Platonic / geometric AI representations)
|
||||
|
||||
> **Parent:** Child #5 of the [video_analysis_campaign_20260621](../../video_analysis_campaign_20260621/) umbrella.
|
||||
|
||||
---
|
||||
|
||||
## 1. Video
|
||||
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| **Title** | Towards a Platonic Intelligence with Unified Factored Representations |
|
||||
| **Author** | Akarsh Kumar |
|
||||
| **URL** | https://youtu.be/1mXUFweWOug |
|
||||
| **Cluster** | B |
|
||||
| **Slug** | `platonic_intelligence_kumar` |
|
||||
| **Execution order** | #5 of 12 (geometric/Platonic framing) |
|
||||
|
||||
---
|
||||
|
||||
## 2. Deliverables
|
||||
|
||||
| Artifact | Path | Target |
|
||||
|---|---|---|
|
||||
| Transcript | `artifacts/transcript.json` | All segments |
|
||||
| Download log | `artifacts/download.log` | yt-dlp output |
|
||||
| Frames | `artifacts/frames/*.jpg` | 50-500 |
|
||||
| Extraction meta | `artifacts/extraction_meta.json` | Frame paths + hashes |
|
||||
| OCR | `artifacts/ocr.md` | Full OCR per frame |
|
||||
| Deep-dive report | `report.md` | **1000-10000 LOC** |
|
||||
| Summary | `summary.md` | 200-400 words |
|
||||
|
||||
---
|
||||
|
||||
## 3. Pipeline
|
||||
|
||||
- [ ] **Phase 1:** Acquire
|
||||
- [ ] **Phase 2:** Keyframes
|
||||
- [ ] **Phase 3:** OCR
|
||||
- [ ] **Phase 4:** Synthesis (1000-10000 LOC)
|
||||
- [ ] **Phase 5:** Verification
|
||||
|
||||
---
|
||||
|
||||
## 4. Report structure
|
||||
|
||||
8 sections per umbrella spec §FR6.
|
||||
|
||||
```
|
||||
# Towards a Platonic Intelligence with Unified Factored Representations
|
||||
**Source:** https://youtu.be/1mXUFweWOug
|
||||
**Author:** Akarsh Kumar
|
||||
**Cluster:** B
|
||||
**Slug:** platonic_intelligence_kumar
|
||||
|
||||
## 1. TL;DR
|
||||
## 2. Key Concepts ← expect "Platonic Representation Hypothesis", unified factored reps
|
||||
## 3. Frame Analysis
|
||||
## 4. Transcript Highlights
|
||||
## 5. Mathematical / Theoretical Content ← dominant
|
||||
## 6. Connections
|
||||
## 7. Open Questions
|
||||
## 8. References
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 5. Connections
|
||||
|
||||
- **Forward to:** `free_lunches_levin` (Platonic + agential), `cs336_architectures` (Platonic representations in LLMs).
|
||||
- **Backward from:** `score_dynamics_giorgini` (math foundations), `cs229_building_llms` (ML setup).
|
||||
- **Likely rich cross-references:** `free_lunches_levin` (most direct — both about Platonic representations, different angles).
|
||||
|
||||
---
|
||||
|
||||
## 6. Verification
|
||||
|
||||
- [ ] All 7 deliverables present
|
||||
- [ ] `report.md` 1000-10000 LOC
|
||||
- [ ] Tests pass
|
||||
|
||||
---
|
||||
|
||||
## 7. See also
|
||||
|
||||
- [Umbrella spec.md](../../video_analysis_campaign_20260621/spec.md)
|
||||
- [Umbrella README.md](../../video_analysis_campaign_20260621/README.md)
|
||||
@@ -0,0 +1,93 @@
|
||||
# Track: Video Analysis — Probability Theory is an Extension of Logic
|
||||
|
||||
**Status:** Not started (umbrella published 2026-06-21)
|
||||
**Type:** Research-only child track (Pass 1 of 3)
|
||||
**Owner:** Tier 2 Tech Lead (execution)
|
||||
**Cluster:** A (Math & information-theoretic foundations)
|
||||
|
||||
> **Parent:** This is child #2 of the [video_analysis_campaign_20260621](../../video_analysis_campaign_20260621/) umbrella. See [umbrella spec.md](../../video_analysis_campaign_20260621/spec.md) for the full design and multi-pass context.
|
||||
|
||||
---
|
||||
|
||||
## 1. Video
|
||||
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| **Title** | Probability Theory is an Extension of Logic |
|
||||
| **Author** | (unknown — verify during execution) |
|
||||
| **URL** | https://youtu.be/0yF9TvMeAzM |
|
||||
| **Cluster** | A (Math & information-theoretic foundations) |
|
||||
| **Slug** | `probability_logic` |
|
||||
| **Execution order** | #2 of 12 (pure math/logic; builds on CS229's ML setup) |
|
||||
|
||||
---
|
||||
|
||||
## 2. Deliverables
|
||||
|
||||
| Artifact | Path | Target |
|
||||
|---|---|---|
|
||||
| Transcript (timestamped + plain) | `artifacts/transcript.json` | All segments |
|
||||
| Download log | `artifacts/download.log` | yt-dlp output |
|
||||
| Extracted unique frames | `artifacts/frames/*.jpg` | 50-500 frames |
|
||||
| Extraction metadata | `artifacts/extraction_meta.json` | Frame paths + hashes + timestamps |
|
||||
| OCR results | `artifacts/ocr.md` | Full OCR text per frame |
|
||||
| Deep-dive report | `report.md` | **1000-10000 LOC markdown** |
|
||||
| Quick summary | `summary.md` | 200-400 words |
|
||||
|
||||
---
|
||||
|
||||
## 3. Pipeline (5 phases)
|
||||
|
||||
- [ ] **Phase 1: Acquire.** `extract_transcript.py` + `download_video.py`.
|
||||
- [ ] **Phase 2: Keyframes.** `extract_keyframes.py` with threshold 0.4.
|
||||
- [ ] **Phase 3: OCR.** `ocr_frames.py`.
|
||||
- [ ] **Phase 4: Synthesis.** Tier 3 worker: transcript + OCR + frames → `report.md` (1000-10000 LOC).
|
||||
- [ ] **Phase 5: Verification.** Idempotency + audit + end-of-track report.
|
||||
|
||||
---
|
||||
|
||||
## 4. Report structure (8 sections)
|
||||
|
||||
Per umbrella spec §FR6.
|
||||
|
||||
```
|
||||
# Probability Theory is an Extension of Logic
|
||||
**Source:** https://youtu.be/0yF9TvMeAzM
|
||||
**Author:** <verify>
|
||||
**Date Added to Campaign:** 2026-06-21
|
||||
**Cluster:** A
|
||||
**Slug:** probability_logic
|
||||
|
||||
## 1. TL;DR
|
||||
## 2. Key Concepts
|
||||
## 3. Frame Analysis
|
||||
## 4. Transcript Highlights
|
||||
## 5. Mathematical / Theoretical Content ← likely dominant
|
||||
## 6. Connections to Other Videos
|
||||
## 7. Open Questions
|
||||
## 8. References
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 5. Connections
|
||||
|
||||
- **Forward to:** `entropy_epiplexity` (info-theoretic framing), `score_dynamics_giorgini` (uses probability), `cs336_architectures` (transformer attention uses probability).
|
||||
- **Backward from:** `cs229_building_llms` (sets canonical ML vocabulary).
|
||||
- **Likely rich cross-references:** `entropy_epiplexity` (most direct — both about extending logic/math).
|
||||
|
||||
---
|
||||
|
||||
## 6. Verification
|
||||
|
||||
- [ ] All 7 deliverables present
|
||||
- [ ] `report.md` 1000-10000 LOC
|
||||
- [ ] All 8 sections populated
|
||||
- [ ] Tests pass
|
||||
|
||||
---
|
||||
|
||||
## 7. See also
|
||||
|
||||
- [Umbrella spec.md](../../video_analysis_campaign_20260621/spec.md)
|
||||
- [Umbrella README.md](../../video_analysis_campaign_20260621/README.md)
|
||||
@@ -0,0 +1,91 @@
|
||||
# Track: Video Analysis — Learning Dynamics from Statistics (Giorgini)
|
||||
|
||||
**Status:** Not started (umbrella published 2026-06-21)
|
||||
**Type:** Research-only child track (Pass 1 of 3)
|
||||
**Owner:** Tier 2 Tech Lead (execution)
|
||||
**Cluster:** A (Math & information-theoretic foundations)
|
||||
|
||||
> **Parent:** Child #4 of the [video_analysis_campaign_20260621](../../video_analysis_campaign_20260621/) umbrella.
|
||||
|
||||
---
|
||||
|
||||
## 1. Video
|
||||
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| **Title** | Learning Dynamics from Statistics: a score-based approach |
|
||||
| **Author** | Ludovico Giorgini |
|
||||
| **URL** | https://youtu.be/P75iVMmbqQk |
|
||||
| **Cluster** | A |
|
||||
| **Slug** | `score_dynamics_giorgini` |
|
||||
| **Execution order** | #4 of 12 (bridges math → learning theory) |
|
||||
|
||||
---
|
||||
|
||||
## 2. Deliverables
|
||||
|
||||
| Artifact | Path | Target |
|
||||
|---|---|---|
|
||||
| Transcript | `artifacts/transcript.json` | All segments |
|
||||
| Download log | `artifacts/download.log` | yt-dlp output |
|
||||
| Frames | `artifacts/frames/*.jpg` | 50-500 |
|
||||
| Extraction meta | `artifacts/extraction_meta.json` | Frame paths + hashes |
|
||||
| OCR | `artifacts/ocr.md` | Full OCR per frame |
|
||||
| Deep-dive report | `report.md` | **1000-10000 LOC** |
|
||||
| Summary | `summary.md` | 200-400 words |
|
||||
|
||||
---
|
||||
|
||||
## 3. Pipeline
|
||||
|
||||
- [ ] **Phase 1:** Acquire
|
||||
- [ ] **Phase 2:** Keyframes
|
||||
- [ ] **Phase 3:** OCR
|
||||
- [ ] **Phase 4:** Synthesis (1000-10000 LOC)
|
||||
- [ ] **Phase 5:** Verification
|
||||
|
||||
---
|
||||
|
||||
## 4. Report structure
|
||||
|
||||
8 sections per umbrella spec §FR6.
|
||||
|
||||
```
|
||||
# Learning Dynamics from Statistics: a score-based approach
|
||||
**Source:** https://youtu.be/P75iVMmbqQk
|
||||
**Author:** Ludovico Giorgini
|
||||
**Cluster:** A
|
||||
**Slug:** score_dynamics_giorgini
|
||||
|
||||
## 1. TL;DR
|
||||
## 2. Key Concepts ← expect score-based generative models, score matching, SDEs
|
||||
## 3. Frame Analysis
|
||||
## 4. Transcript Highlights
|
||||
## 5. Mathematical / Theoretical Content ← dominant
|
||||
## 6. Connections
|
||||
## 7. Open Questions
|
||||
## 8. References
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 5. Connections
|
||||
|
||||
- **Forward to:** `cs336_architectures` (score-based connections to diffusion LLMs? if applicable), `creikey_dl_cv` (applied score-based models).
|
||||
- **Backward from:** `entropy_epiplexity` (model complexity), `probability_logic` (probability foundations).
|
||||
- **Likely rich cross-references:** `entropy_epiplexity` (model complexity informs training dynamics).
|
||||
|
||||
---
|
||||
|
||||
## 6. Verification
|
||||
|
||||
- [ ] All 7 deliverables present
|
||||
- [ ] `report.md` 1000-10000 LOC
|
||||
- [ ] Tests pass
|
||||
|
||||
---
|
||||
|
||||
## 7. See also
|
||||
|
||||
- [Umbrella spec.md](../../video_analysis_campaign_20260621/spec.md)
|
||||
- [Umbrella README.md](../../video_analysis_campaign_20260621/README.md)
|
||||
@@ -0,0 +1,125 @@
|
||||
# Track: Video Analysis Campaign — Synthesis (2026-06-21)
|
||||
|
||||
**Status:** Not started (umbrella published 2026-06-21)
|
||||
**Type:** Research-only synthesis track (Pass 1 of 3)
|
||||
**Owner:** Tier 1 Orchestrator (synthesis spec + report); Tier 2 Tech Lead (execution)
|
||||
**Priority:** A (delivers the user's requested "summary of each video" + "summary report of key takeaways")
|
||||
**Domain:** Meta-tooling (cross-cutting research synthesis; no `src/` changes)
|
||||
|
||||
> **Parent:** This synthesis track is blocked_by all 12 child tracks of the [video_analysis_campaign_20260621](../../video_analysis_campaign_20260621/) umbrella. See [umbrella spec.md](../../video_analysis_campaign_20260621/spec.md) for the full campaign design and multi-pass context.
|
||||
|
||||
> **Multi-pass note:** The synthesis `report.md` is intermediate input to Pass 2 (de-obfuscation). Per the campaign's lossless-preservation directive (umbrella spec §0), the synthesis must preserve detail — Pass 2 will compress, not this pass.
|
||||
|
||||
---
|
||||
|
||||
## 1. Inputs
|
||||
|
||||
This track consumes the outputs of all 12 child tracks:
|
||||
|
||||
| # | Slug | Cluster | Source |
|
||||
|---|---|---|---|
|
||||
| 1 | `cs229_building_llms` | E | [video_analysis_cs229_building_llms_20260621/](../../video_analysis_cs229_building_llms_20260621/) |
|
||||
| 2 | `probability_logic` | A | [video_analysis_probability_logic_20260621/](../../video_analysis_probability_logic_20260621/) |
|
||||
| 3 | `entropy_epiplexity` | A | [video_analysis_entropy_epiplexity_20260621/](../../video_analysis_entropy_epiplexity_20260621/) |
|
||||
| 4 | `score_dynamics_giorgini` | A | [video_analysis_score_dynamics_giorgini_20260621/](../../video_analysis_score_dynamics_giorgini_20260621/) |
|
||||
| 5 | `platonic_intelligence_kumar` | B | [video_analysis_platonic_intelligence_kumar_20260621/](../../video_analysis_platonic_intelligence_kumar_20260621/) |
|
||||
| 6 | `free_lunches_levin` | B | [video_analysis_free_lunches_levin_20260621/](../../video_analysis_free_lunches_levin_20260621/) |
|
||||
| 7 | `generic_systems_fields` | C | [video_analysis_generic_systems_fields_20260621/](../../video_analysis_generic_systems_fields_20260621/) |
|
||||
| 8 | `brain_counterintuitive` | C | [video_analysis_brain_counterintuitive_20260621/](../../video_analysis_brain_counterintuitive_20260621/) |
|
||||
| 9 | `neural_dynamics_miller` | C | [video_analysis_neural_dynamics_miller_20260621/](../../video_analysis_neural_dynamics_miller_20260621/) |
|
||||
| 10 | `multiscale_hoffman` | C | [video_analysis_multiscale_hoffman_20260621/](../../video_analysis_multiscale_hoffman_20260621/) |
|
||||
| 11 | `cs336_architectures` | E | [video_analysis_cs336_architectures_20260621/](../../video_analysis_cs336_architectures_20260621/) |
|
||||
| 12 | `creikey_dl_cv` | D | [video_analysis_creikey_dl_cv_20260621/](../../video_analysis_creikey_dl_cv_20260621/) |
|
||||
|
||||
**Per-child inputs consumed:**
|
||||
- `report.md` (the 1000-10000 LOC deep-dive)
|
||||
- `summary.md` (the 200-400 word quick summary)
|
||||
|
||||
The per-child `transcript.json`, `frames/`, `ocr.md`, and `extraction_meta.json` are NOT consumed here — they feed Pass 2 directly.
|
||||
|
||||
---
|
||||
|
||||
## 2. Deliverables
|
||||
|
||||
| Artifact | Path | Description |
|
||||
|---|---|---|
|
||||
| Per-video roll-up | `per_video_summary.md` | One paragraph (150-250 words) per video — the "summary of each video" the user requested. Ordered by execution order (matches umbrella §6). |
|
||||
| Synthesis report | `report.md` | The "summary report of key takeaways" — 6 sections per umbrella §FR7. |
|
||||
|
||||
---
|
||||
|
||||
## 3. Synthesis report structure (6 sections)
|
||||
|
||||
Per umbrella spec §FR7.
|
||||
|
||||
```
|
||||
# Video Analysis Campaign — Synthesis
|
||||
|
||||
## 1. Theme Matrix (across clusters A/B/C/D/E)
|
||||
## 2. Cross-Video Concept Map
|
||||
## 3. 5-10 High-Level Takeaways
|
||||
## 4. Mathematical Prerequisite Graph
|
||||
## 5. Open Research Questions
|
||||
## 6. Recommended Next-Watch List
|
||||
```
|
||||
|
||||
**Section detail:**
|
||||
|
||||
**§1 Theme Matrix** — a 2D table with rows = clusters (A/B/C/D/E) and columns = themes (e.g., foundations, representations, training, applications, biological inspiration, ethics). Each cell: which videos address this theme.
|
||||
|
||||
**§2 Cross-Video Concept Map** — for each major concept that appeared in 2+ videos, list: (a) which videos introduced it, (b) which videos built on it, (c) which videos referenced it. Format: per-concept subsection with a list of video slugs + brief role description.
|
||||
|
||||
**§3 5-10 High-Level Takeaways** — bullet list of the most important cross-cutting insights the user should walk away with. Each takeaway: 2-5 sentences with references to the videos that support it.
|
||||
|
||||
**§4 Mathematical Prerequisite Graph** — a directed graph showing which mathematical concepts are needed to understand which. E.g., "to understand CS336 Lecture 3, you need: linear algebra (CS229), probability (Probability = Extension of Logic), score-based dynamics (Giorgini)." Format: text-based DAG or ASCII graph.
|
||||
|
||||
**§5 Open Research Questions** — questions raised by the videos that the field doesn't have consensus answers to. The user mentioned this is "largely impenetrable" to them and associates — these questions are the campaign's open frontier.
|
||||
|
||||
**§6 Recommended Next-Watch List** — based on what the user liked in this batch, suggest related videos/authors/topics to investigate next. Source from cross-references in the per-video reports + the user's stated stylistic preferences.
|
||||
|
||||
---
|
||||
|
||||
## 4. Pipeline (per umbrella spec §FR7)
|
||||
|
||||
- [ ] **Phase 1: Ingest.** Read all 12 child `report.md` files + `summary.md` files. Build an in-memory index.
|
||||
- [ ] **Phase 2: Per-video roll-up.** Generate `per_video_summary.md` by either lifting each child's `summary.md` (preferred) or writing a 150-250 word summary if the child's is too short.
|
||||
- [ ] **Phase 3: Synthesis report.** Generate `report.md` per the 6-section structure above. Pass 1 of 3 = detailed; Pass 2 will compress.
|
||||
- [ ] **Phase 4: Verification.** Cross-check that every video in the campaign has a roll-up entry. Cross-check that every theme in §1 is sourced from at least one video. Cross-check that every takeaway in §3 has at least one supporting video reference.
|
||||
|
||||
---
|
||||
|
||||
## 5. Lossless preservation directive
|
||||
|
||||
Per umbrella spec §0: this synthesis is intermediate input to Pass 2 (de-obfuscation). DO NOT over-summarize. The §3 takeaways should be 2-5 sentences each (not 1 sentence). The §4 math prerequisite graph should reference specific videos, not just "foundational math." The §5 open research questions should include the user's own context (what's impenetrable to them) and not just generic AI debates.
|
||||
|
||||
If the synthesis report is less than 1000 LOC, it is too short. Target: 1000-5000 LOC for the synthesis report (less than per-video because the heavy lifting is in the per-video reports).
|
||||
|
||||
---
|
||||
|
||||
## 6. Verification (per umbrella spec §12)
|
||||
|
||||
- [ ] All 12 children shipped (read all their `report.md` + `summary.md`)
|
||||
- [ ] `per_video_summary.md` has 12 entries (one per video), each 150-250 words
|
||||
- [ ] `report.md` has all 6 sections populated
|
||||
- [ ] `report.md` is 1000-5000 LOC (detailed enough for Pass 2 to compress)
|
||||
- [ ] Every §3 takeaway references at least one video
|
||||
- [ ] Every §1 theme cell references at least one video
|
||||
- [ ] §6 next-watch list references at least 3 sources
|
||||
|
||||
---
|
||||
|
||||
## 7. Out of scope (per umbrella spec §10)
|
||||
|
||||
- De-obfuscation (Pass 2 — future track, user must first rediscover encoding notation)
|
||||
- Projection to applied domain (Pass 3 — future track, user must first articulate "own caveats")
|
||||
- Modifying any `src/*.py` files in manual_slop
|
||||
- Building a video knowledge base (separate dimension per `conductor/code_styleguides/knowledge_artifacts.md`)
|
||||
|
||||
---
|
||||
|
||||
## 8. See also
|
||||
|
||||
- [Umbrella spec.md](../../video_analysis_campaign_20260621/spec.md) — full campaign design + multi-pass context
|
||||
- [Umbrella plan.md](../../video_analysis_campaign_20260621/plan.md) — campaign-level plan
|
||||
- [Umbrella README.md](../../video_analysis_campaign_20260621/README.md) — child index
|
||||
- All 12 child `spec.md` files (linked in §1 above)
|
||||
Reference in New Issue
Block a user