# 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
