This is the only file you edit to add, remove, or reorder lectures. The three run
prompts (run1_spine.md, run2_body.md, run3_assemble.md) read it; they never
ask you to edit anything else.
slugis a stable id and the folder name underlectures/. Never rename a slug once a lecture has an approved spine — it's the key everything joins on.ordersets sequence in the assembled document. Use gaps of 10 so you can insert a lecture between two others (e.g.15) without renumbering anything. Reordering changes only assembly (Run 3); it never invalidates a spine or body.papersare arXiv ids. Include figure-only / referenced papers too (e.g. a scaling-laws paper you only cite a figure from); mark themrole: referenced.figuresis the explicit, curated placement list — Claude does not subselect or add figures. This is a placement list, not a license to structure the notes around figures (Run 2 stays prose-first regardless). Spec the subset you actually want shown.page_budget_total(indefaults) is the approximate target length of the whole compiled document, in pages. Run 1 apportions it into a per-lecturepage_allowanceproportional to load. It is a target biased toward concision, not a hard cap — substance wins over the number, and overflow is flagged in a lecture's README rather than padded or amputated.- Changing a lecture's
papers/slides/video/figureschanges its param hash, which marks its spine stale (Run 1 will offer to regenerate). Changing onlyorderortitledoes not.
"<id> Figure N" paper figure · "<id> Table N" table · "slide N: <desc>"
lecturer-original slide figure · "<url> | title: <t> | source: <page>" external web
image — fetch and attribute to the named source/page · qualifiers (left), (right),
(top half, Pythia) crop to that panel · (refer back) same image as an earlier entry
in the same lecture — reference once, never re-insert · "refer back to previous lecture's figure, do not include" the image was introduced in an earlier lecture —
do not re-include it; the back-reference is added at assembly by Run 3, not baked into
the frozen body · (slide-only: not in <paper>) use the slide version · "A (left) + B (left)" present as one figure / tight pair · source: slide-original | paper-adapted | paper-clean provenance hint (else inferred by the ladder).
course:
name: "CS329A: Self-Improving AI Agents"
institution: "Stanford University"
defaults:
page_budget_total: 20 # whole compiled document, approximate target (pages)
density: concise # prefer the shortest version that loses no substance
audience: "CS300-series graduate students"
lectures:
- slug: course-overview
order: 10
title: "Course Overview"
papers:
- "Note: for this particular lecture the goal for this introductory lecture is not summarizing papers, but only relying on the lecture transcript, while including the figures specified below with referencing the papers and sources they are coming from."
slides: "/Users/laszlo/Library/CloudStorage/OneDrive-Personal/Stanford/CS329A/Course_Materials/course_files_export/Lectures/Fall 2025 - Lecture 1 CS329A.pdf"
video: "/Users/laszlo/Library/CloudStorage/OneDrive-Personal/Stanford/CS329A/Course_Materials/CS329A on 9_22_2025 (Mon)_default_b0f8e752.mp4"
figures:
- "2001.08361 Figure 1" # LLM scaling law
- "https://huggingface.co/blog/assets/33_large_language_models/01_model_size.jpg | source & context: https://huggingface.co/blog/large-language-models)"
- "slide 19 pretraining-finetuning-inference pipeline | source: slide-original"
- "2407.21787 Figure 1" # Large Language Monkeys
- "https://www.anthropic.com/_next/image?url=https%3A%2F%2Fwww-cdn.anthropic.com%2Fimages%2F4zrzovbb%2Fwebsite%2F58d9f10c985c4eb5d53798dea315f7bb5ab6249e-2401x1000.png&w=3840&q=75 | title: The evaluator-optimizer workflow | source: https://www.anthropic.com/engineering/building-effective-agents"
- "2405.15793 Figure 1"
- "2408.06292 Figure 1"
- slug: test-time-compute
order: 20
title: "Test-Time Compute Scaling"
papers:
- { id: 2407.21787, role: core } # Large Language Monkeys
- { id: 2502.17578, role: core } # How Do LLM Monkeys Get Their Power Laws
- { id: 2408.03314, role: core } # Scaling LLM Test-Time Compute Optimally
- { id: 2409.15254, role: core } # Archon
- { id: 2001.08361, role: referenced } # Kaplan scaling laws (figure + analogy only)
slides: "/Users/laszlo/Library/CloudStorage/OneDrive-Personal/Stanford/CS329A/Course_Materials/course_files_export/Lectures/Fall 2025 - Lecture 2 CS329A.pdf"
video: "/Users/laszlo/Library/CloudStorage/OneDrive-Personal/Stanford/CS329A/Course_Materials/CS329A on 9_26_2025 (Fri)_default_ceead911.mp4"
figures:
- "slide 5: pretraining-finetuning-inference pipeline | do not include, just refer back to previous lecture's figure!"
- "2407.21787 Figure 1 | just refer back to figure in previous lecture, do not include" # Large Language Monkeys
- "2407.21787 Figure 2" # Large Language Monkeys
- "2001.08361 Figure 1 | just refer back to figure in previous lecture, do not include" # LLM scaling law
- "2407.21787 Figure 5"
- "2502.17578 Figure 2"
- "2407.21787 Figure 7"
- "2407.21787 Figure 8"
- "2408.03314 Figure 5"
- "2408.03314 Figure 2"
- "2408.03314 Figure 1"
- "2409.15254 Figure 2"
- "2409.15254 Table 3"
- "2409.15254 Figure 6 (left) + Figure 7 (left)"