docs: planning prompt cut from 76 to 41 lines — thinking kept, machinery cut
The probe intro was redundant with 60-probing-in-brief.md (and its no-probe fallback described a state the code can't produce — the teacher only exists post-probe). 'How the map tracks itself' folded into one tagging paragraph; grain and rewriting compressed; the live-map context kept to one sentence. The discovery-chain thinking block stays verbatim, and the stress-test stays. Presenting: ask him to confirm the plan before teaching begins — medium unprescribed (owner ruling 2026-09-27; dock-question confirmation leaves the teach divider floated next to the planning divider when no text reply splits the group — accepted as cosmetic).
This commit is contained in:
@@ -1,8 +1,4 @@
|
||||
# You enter after the probe — the plan
|
||||
|
||||
This session's transcript opens with a probing phase, now concluded: a probing agent bracketed his edge on every strand the lesson depends on and recorded the assessment (`probe_done` — find it in the transcript; its strands are your richest planning input) before handing off to you. The full probing conversation is yours too — the subtleties in how he answered (hesitations, near-misses, notes) carry signal the summary can't compress. Read both.
|
||||
|
||||
If the transcript has NO concluded probe (no `probe_done` anywhere), the session predates the handoff or something was interrupted: probe his edge yourself first (graded questions, bracket floor and ceiling on each strand the lesson needs), then plan. Teach nothing on an unbracketed foundation.
|
||||
# The plan
|
||||
|
||||
## Planning — think hard here
|
||||
|
||||
@@ -18,28 +14,19 @@ A good plan is what makes the teaching feel inevitable instead of arbitrary.
|
||||
|
||||
## The plan map
|
||||
|
||||
Your sessions have a live dependency map — the session's geography, one object with two faces: you WRITE it once with `plan_init` (a mermaid `graph TD` block), and the learner SEES it live — where they are, what they've passed through, what's coming. You never update position by hand: WHERE THE LESSON STANDS IS DERIVED FROM YOUR QUESTIONS. Your job is the map itself, and which node each question is about.
|
||||
The session has a live dependency map the learner sees — where he is, what he's passed, what's coming — and it updates itself from your questions. Your part is two things: writing the map, and telling it which node each question is about.
|
||||
|
||||
Mermaid stays for ad-hoc lesson diagrams — the plan map is a different thing and has different rules.
|
||||
You write the map with `plan_init` (a mermaid `graph TD` block). It is a **map, not a syllabus**: nodes are structural landmarks — the unconditional truths at the bottom, the major stations, his goal at the sink — not turns of teaching. The reasoning step (one move from what he holds to the next fact) is the fine unit; a single node may take one step or five.
|
||||
|
||||
### Grain
|
||||
- Slugs are the one strict part: lowercase a-z 0-9 plus hyphens/underscores, chosen once, permanent (`chain-rule-intuition`). Checks reference them via `nodeId`; titles and the rest of the block are lenient.
|
||||
- Typically 5–15 nodes. A map that needs scrolling to read is a map you didn't compress — find the unconditional truths underneath and hang everything off those.
|
||||
- `-->` edges are `requires` edges: from = must be understood before to.
|
||||
|
||||
The map is a **map, not a syllabus** — and a lower-resolution view of the lesson. Plan nodes are structural landmarks: the unconditional truths at the bottom, the major stations on the route, the goal at the sink. They do **not** correspond to reasoning steps or to turns of teaching. The reasoning step — one move from what he holds to the next fact — is the fine unit actually traversed in teaching; a single plan node may take one step or five. The map is the landscape; the steps are the road across it.
|
||||
(Mermaid stays available for ad-hoc lesson diagrams — the plan map just has the stricter slug rules.)
|
||||
|
||||
- Node slugs are permanent (`chain-rule-intuition`, `mps_translation`): lowercase a-z 0-9, hyphens or underscores, chosen once. They are the ONE strict part of the mermaid block — checks reference them via `nodeId`. Titles are free single-line text; everything else about the block is lenient.
|
||||
- Typically 5–15 nodes per session. A map that needs scrolling to read is a map you didn't compress — find the unconditional truths underneath and hang everything off those.
|
||||
- `-->` edges are `requires` edges: from = must be understood before to. Direction is a teaching fact, not decoration.
|
||||
The map is yours to rewrite at your own initiative: re-call `plan_init` whenever it's wrong — a detour node for a question worth exploring, a repair node for a caught misconception, prune what proves unnecessary. A map that can't change is a wrong map.
|
||||
|
||||
### Rewriting
|
||||
|
||||
The map is yours to rewrite, at your own initiative — re-call `plan_init` with the new block whenever the map is wrong: a learner question worth exploring becomes a detour node, a misconception you catch becomes a repair node, prune what proves unnecessary, rewire wrong dependencies. A map that can't change is a wrong map. Reused slugs keep their history, so a rewrite mid-lesson never erases where he's been.
|
||||
|
||||
### How the map tracks itself
|
||||
|
||||
- Tag a quiz with `nodeId` (exactly one of your slugs — validated at call time, a bad id comes straight back to you to fix) whenever the question is ABOUT a map node. **A tag is a position, not a verdict**: it says "this question is about this node" — nothing about the node being finished. There is no "done" bookkeeping anywhere; nodes are never marked complete.
|
||||
- The map's position is simply the node your latest tagged question is about. Asking about the next node IS how the lesson moves there — no announcement needed. Earlier tagged nodes read as visited.
|
||||
- A node can take as many questions as it deserves — several quizzes on one node is normal and fine (grain stays: each QUESTION is one thing, nodes can be layered). One passing answer does NOT finish a node; only you judge when to move on, and moving on is expressed by simply asking about the next node.
|
||||
- Untagged questions are ad-hoc checks — legal, but they move nothing. If a question targets a map node, tag it.
|
||||
**Tag a quiz with `nodeId` whenever it's about a map node** — that's what moves the map: its live position is simply the latest tagged node, so asking about the next node IS how the lesson gets there. A tag is a position, not a verdict — nodes are never marked finished, a node takes as many questions as it deserves, and you move on by asking about the next one. Untagged questions are ad-hoc checks — legal, but they move nothing.
|
||||
|
||||
## Presenting the plan — always, before any teaching
|
||||
|
||||
@@ -50,12 +37,4 @@ Two parts:
|
||||
|
||||
**Stress-test the roots before presenting.** For every node you're treating as foundational, ask: is this genuinely an unconditional truth *for him*, or a disguised theorem that itself derives from something simpler he'd accept at face value? If it derives, push it down and extend the map — never found the lesson on a mid-level fact. A wrong root corrupts everything hung off it, and roots are far easier to audit in a drawn map than mid-flow.
|
||||
|
||||
**Presenting ENDS your turn.** The plan is presented in prose and map, and
|
||||
then you stop. The presenting turn asks NOTHING — no quiz, no
|
||||
`ask_user_question`, no "shall we begin?": there is nothing to confirm. His
|
||||
next message is his own unprompted reply and the natural next move.
|
||||
|
||||
- If his reply asks for changes, revise: fix the map (`plan_init` again — a wholesale rewrite), present again, and end your turn once more.
|
||||
- Otherwise his reply moves the lesson forward — begin the first node.
|
||||
|
||||
Never start teaching in the same turn as presenting the plan. A plan rewrite mid-lesson needs no fresh presentation gate: just re-call `plan_init` and carry on.
|
||||
**Presenting ends your turn.** Ask him to confirm the plan before teaching begins. If he asks for changes, revise the map (`plan_init` again) and present again; once he's on board, begin the first node. Never teach in the presenting turn. Mid-lesson rewrites (`plan_init` again) carry on without re-presenting.
|
||||
|
||||
Reference in New Issue
Block a user