Learning Progress Tracker
Learning Progress Tracker
This tracker makes the owner learning pipeline measurable. The goal is to learn from the ground up while using posttrainllm as the lab.
Status values:
not-startedreadingappliedverified
Ground-Up Roadmap Progress
Canonical roadmap: learn/curriculum.md.
Coverage index (every subsystem → anchor): learn/coverage-map.md.
All ten modules now have a polished session; remaining work is mastery, not authoring. Status is per-module learning state, not doc-existence.
| # | Module | Status | Evidence | Next Concrete Action |
|---|---|---|---|---|
| 1 | Functions, data, parameters | reading |
Session 1 exists and has self-checks | Pass mastery gate out loud; write checkpoint |
| 2 | Loss and gradient descent | reading |
Session 2 exists and has worked examples | Compute one MSE + gradient step by hand |
| 3 | Vectors, matrices, tensors | reading |
Session 9 (tensors) written; anchors LoRA shape logic | Trace one layer’s shapes; read a shape error and name the wrong axis |
| 4 | Non-linear neural nets + backprop | not-started |
Session 3 exists | Run/inspect tiny non-linear example |
| 5 | ML paradigms and scaling | not-started |
Sessions 4 and 5 exist | Classify posttrainllm attempts by paradigm |
| 6 | Tokenization, embeddings, language modeling | not-started |
Session 6 exists | Tokenize SQL prompts and inspect splits |
| 7 | Attention and transformer blocks | reading |
Session 10 (attention) written; ties to interpretability heatmap | Work one tiny Q/K/V attention example |
| 8 | Training mechanics | not-started |
Session 8 exists | Inspect tiny overfit gate and failure symptoms |
| 9 | Post-training: SFT, LoRA, preference tuning | reading |
SFT/LoRA/DPO docs and SQL run evidence exist | Explain SQL SFT win vs SimPO collapse |
| 10 | Evals, rewards, self-improvement | reading |
Session 11 (evals/rewards) written; eval protocol, attempt ledger, SQL candidate-choice tools exist | Build/inspect candidate-selection rows and report slice metrics |
Factory Lab Progress
| Module | Status | Evidence | Next Concrete Action |
|---|---|---|---|
| Eval design | applied |
Frozen SQL gates, public-vs-synthetic distinction, slice metrics tooling | Add public Spider/BIRD execution gate when DBs are local |
| Data for post-training | applied |
SQL SFT rows, preference pairs, failure-derived rows, candidate-choice builder | Build candidate-selection train/eval rows from existing predictions |
| SFT + LoRA mechanics | applied |
Expanded synthetic SFT worked; public v4 worked on public exact; LoRA geometry tooling exists | Run controlled rank sweep only after next target is frozen |
| Preference tuning | applied |
Hygiene SimPO collapsed and is documented | Write/run reference-anchored DPO retry recipe |
| Verifiable rewards | reading |
SQL execution and BFCL AST matching are understood as target reward surfaces | Turn SQL candidate selection into a scored reward/data loop |
| RLVR / ReST / OAPL | not-started |
Batch plan renderer exists; no model run | Start only after candidate-selection evidence exists |
| Failure analysis | applied |
Failure taxonomy, trace review tooling, attempt ledger | Attach trace_review.md to every new SQL run |
| Public reporting | applied |
Public artifacts registry, case-study template, publish-check | Re-render public SQL artifact with perf and public execution when available |
Current Focus
The next project-lab focus is candidate selection for SQL:
- Why selection is easier than generation.
- How to build candidate sets without leakage.
- How to score candidate choices by execution/gold equivalence.
- How to decide whether selection skill transfers back to generation.
The next ground-up focus is Module 1 -> Module 2:
- Explain data vs parameters.
- Compute loss for bad and better guesses.
- Take one gradient-descent update.
- Connect that to why LoRA changes parameters rather than prompts.
Completion Criteria
A module reaches verified only when:
- the concept is explained in owner-readable docs,
- the concept changes a recipe or validator,
- a run or smoke test exercises the change,
- and the result is recorded in
docs/attempt-ledger.md.
Reading alone is not enough.