# Project Context: Sample project: Machine learning course

Generated by Spool on 2026-08-20. 5 blocks total.

---

## How to Read This Context

The blocks below come from FOUR different authority categories. Treat each
category according to the rules in this section. This sorting matters —
mishandling categories will produce confidently wrong answers.

### 📖 Reference (authoritative)
Blocks whose `source` looks like an institutional / official artifact:
- email clients (Mail, Outlook, etc.)
- school / institutional domains
- file attachments (PDF, docx, slides)
- forum / platform posts from authoritative figures

**Handling**: Treat as ground truth. Do not contradict. Do not extrapolate
beyond what they say. If they conflict with other categories, Reference wins — but
only at equal recency. When a later block from any category says a Reference has
since changed, put the conflict in front of the user with both dates. Do not
silently pick a side, and do not tell them they are wrong on the strength of an
older Reference alone.

### 🧩 Synthesis (already-formed understanding)
Blocks whose `source` is another AI tool (Claude, ChatGPT, Gemini, etc.)
AND whose content has the shape of a long structured explanation (headings,
formulas, multi-paragraph essays). An AI-sourced block that is not clearly a
dialogue trace belongs here rather than in 🔄 Process — that is the default.

**Handling**: These are someone else's synthesis. They may be useful as
background or framing, but their correctness is not guaranteed. Do not
treat them as facts. If they contradict Reference, defer to Reference.
Do not copy them wholesale into your output.

### 🔄 Process (conversation traces — read for evolution, not facts)
Blocks whose `source` is another AI tool AND whose content has the shape
of a question-and-answer dialogue (multiple turns, short exchanges,
dialogue markers like "User:" or "Q:" or "我:", high question density).

**Handling**: The literal content of these blocks is NOT a reliable source
of facts. What IS reliable is the user's evolving questions — what they
ask repeatedly, where they got confused, what they kept circling back to.
Extract these as signals of the user's cognitive gaps and address them,
but never quote the AI responses inside these blocks as if they were
authoritative.

### 💭 Personal (the user's own hypotheses and notes)
Blocks with no `source` field — these are typed by the user directly
into Spool. They represent the user's current understanding, often
incomplete or speculative.

**Handling**: Read these to understand where the user currently stands.
If they contain factual errors, point them out directly — do not protect
the user's feelings at the cost of correctness. What they have already written
down correctly, do not explain back to them.

### ⭐ User-highlighted spans (`==…==`)
Substrings wrapped in `==…==` inside any block above are sentence-level key points the user emphasized at capture time — prioritize them. They coexist with pinned blocks (pin = whole block is core context; highlight = a sentence within a block is key); when a highlight sits inside a pinned block, treat it as one emphasis, not two.

## Notation

A block is one line, optionally followed by indented sub-lines:

`📌 #12 [2026-07-02 14:30 · from Safari] the block's own text`

- `#12` is this block's number inside this project. The user sees the same number in
  Spool, so it is how you point at one block — say "#12", never an internal id.
- The bracket is when it was captured and, after `· from`, where it came from. That
  `from` label is what the four categories above are decided by; no label means the
  user typed it themselves, and that case is marked `💭` on the line rather than left
  for you to infer.
- `💭` = the user wrote this themselves — the block carries no `· from` label, so it is
  💭 Personal, the highest signal in the pack. It is printed here so you never have to
  settle the band by failing to find a label. The same marker sits on `note:` sub-lines,
  which are 💭 Personal for the same reason even when their block is not.
- `📌` = the user pinned it as core context. Pinned blocks are printed in full ONCE, in
  "Pinned Blocks"; their slot in the timeline is a one-line placeholder ending in
  `(pinned — full text …)`. That placeholder is not missing content.

Indented under a block:

- `note:` — the user's own annotation. Their words, not the source's: weigh it as
  💭 Personal even when the block itself is 📖 Reference. Where a block is named by a
  short preview rather than printed in full, that preview is its note when it has one.
- `ai note:` — the same slot, written by an AI through Spool's write tools instead of by
  the user. Weigh it as 🧩 Synthesis: another model's framing of the block, useful but not
  guaranteed correct, and never evidence of what the user thinks. It is never used to name
  a block, and it never outranks the block's own source.
- `↩ cites:` — this block builds on the older block previewed after the marker.
- `↩ replaces (that block no longer holds):` — the user has retired the older block.
  Do not use it as a current fact, and do not go looking for it in this pack. You may
  still say the user considered it and ruled it out — that a road was already closed is
  worth knowing.
- `↩ corrects one point in:` — one point in the older block is wrong. The older block is
  still printed here in full and still stands on everything else.
- `⚠️ one point in this block was corrected later — see #N` — the same fact, seen from
  the older block. Read #N before using this one. When #N said which sentence it was
  correcting, that sentence is quoted after it — the rest of this block is unaffected.
Files are NOT listed under a block. They belong to the project and are listed once, at the
end, under "Related Files & Links". A file whose text Spool extracted is printed there only
when the user opted in; otherwise its row is marked `[extracted: yes, not inlined]`, which
means the text exists and you may ask the user for it.

Any line wrapped in `[... ...]` is Spool speaking, not content: it states what was left
out of this pack and how to get it. Nothing Spool leaves out has been deleted. If what it
says is missing looks likely to bear on what the user is asking, say so before answering.

## What This Is

Everything above and below is context, not a task. The user's own request arrives
separately — do that, and use this to do it well.

If they have not asked for anything yet, do not summarise the whole project back to
them and do not audit their notes. Give a short re-entry briefing — where the project
stands, what is still open, what changed most recently — and then stop and wait.

---

## Pinned Blocks

(no pinned blocks)

## Full Record (chronological)

#1 [2026-08-06 10:20 · from course.edu · Safari] Week 6 is about overfitting. The homework wants a validation curve, not just an accuracy number.
#2 [2026-08-10 11:40 · from Lecture 7 slides · Safari] A model that does well on the data it was trained on and badly on new data has overfitted. A bigger model is not the fix.
    💭 note: This is the part I never followed in class.
#3 [2026-08-10 14:05 · from AI chat · Safari] Regularisation is a fee charged for complexity: the model can still bend to the data, but every extra bend costs it something, so it keeps only the ones that pay for themselves.
💭 #4 [2026-08-11 16:30] Revision plan: redo problem set 3 with the fee idea in hand, then watch lecture 8.
#5 [2026-08-11 16:42 · from Claude · MCP] Before Friday: problem set 3 question 2 is the overfitting one — that is the question the quiz will rhyme with. Do it with the fee idea, not with a bigger model.
    ↩ cites: [2026-08-11 16:30] Revision plan: redo problem set 3 with t…

---

## Output Language

Respond in Simplified Chinese unless content itself dictates otherwise
(e.g. don't translate quoted English source material). Technical terms
may stay in their original language.
