← All topics (review home)

Skill: write-like-james @ efd8fba · the build: write-lesson, write-mcqs, write-video-script, review-lesson (two blind reads and a re-read), review-figures, review-accuracy @ b0fa825

Topic 19 "The three rock families" — your read (2 October 2026)

Skim first

The lessons in teaching order, each with its one rule sentence; then the intro script; then the question types. The review page follows.

The lessons and their rules

LessonAtomRule sentence
L01 Spot metamorphic rock: wavy stripes, or flat sheetsEAR4-011Bands or wavy stripes. Or grains lined up in flat sheets. Often hard, often shiny.
L02 How heat and squeezing change a rock into a new rockEAR4-012Heat and squeezing deep underground. Change a rock into a new rock. Without melting it.
L03 Sort any rock into its family from the clue in its grainsEAR4-005A jumble or a glassy look means igneous. Flat layers of pieces mean sedimentary. Wavy bands or flat sheets mean metamorphic.
L04 Which rocks can hold water, oil or natural gasEAR4-006Tiny spaces between the grains hold water, oil or gas. Sandstone and limestone: like a sponge. Granite and slate: no spaces, so nothing held.

The intro script (111 words, about 56 s)

Here's Miss Garcia's class on the steps of the old courthouse. The steps are white stone with gray wavy stripes, the roof is dark gray stone, and the walls are speckled granite. Miss Garcia says two of these rocks were once a completely different rock. Jada looks at the hard white step and cannot believe it. Which two rocks changed, and what could change a rock? And under the town, one rock holds water like a sponge. To find out, we will look at wavy stripes in rocks, heat and squeezing, sorting rocks into families, and which rocks hold water and oil. Okay, so are you ready to sort the rocks?

The question types (from TYPES_G4T19.md)

  1. Type 1 (011, 005): A drawn look box: "Which look / which family / which rock could this be?" · the four looks, the four families, or four rock names · 011, 005
  2. Type 2 (005): A described rock (a clue card or one sentence): "Which family is it?" · the four families · 005
  3. Type 3 (011, 005): "Which of these four rocks is <family>?" · four one-line rock descriptions (or two lettered rocks + both / neither) · 011, 005
  4. Type 4 (011, 012): A named rock → its family, or a before rock → its after rock (and back); a look feature → what it lets the rock do · four rock names, the four families, or four events · 011, 012
  5. Type 5 (011, 005): "Which clue tells these two rocks apart?"; the sort run backwards (family → the look it must have) · four clue sentences or four looks · 011, 005
  6. Type 6 (012): The mechanism: where, which two things, what the rock on top does, what really happens · four places / pairs / events · 012
  7. Type 7 (012): A hot rock's path (melts and cools / stays solid and is squeezed) → its family · the four families · 012
  8. Type 8 (006): Tiny spaces: which rock has them, where oil or gas sits, what a drop or a table shows, a real outcome's reason · four rocks / places / statements · 006
  9. Type 9 (012, 005, 006): Typed: the rock's or the family's name from its clues (slate, igneous, granite) · 012, 005, 006
  10. Type 10 (005, 006): Multi-select: the set of metamorphic clues; the set of rocks that hold water · 005, 006

Four lessons: a rock whose grains sit in bands that bend and wave, or lie lined up so it splits into flat sheets, is metamorphic (gneiss, slate, marble); heat and squeezing deep underground change a rock into a new rock without melting it (limestone to marble, shale to slate); any rock sorts into igneous, sedimentary or metamorphic by the clue in its grains; a rock with tiny spaces between its grains (sandstone, limestone) holds water, oil or natural gas like a sponge, and a rock with no spaces (granite, slate) cannot. Every key agreed by two cold readers, a third reader re-read the fixed bundle, and the one key that slipped in the fix pass is corrected; the figure review and the guidance-and-accuracy review are applied. Pictures are placeholders until you answer.

1. Do the bank's family-sort items stand with three options, not four?

A family-sort item asks "which family is this rock?" and the sort has three classes: igneous, sedimentary, metamorphic.

The brief asks for four-option items, so v1 added "a mineral" as a fourth. A mineral is the stuff a grain is made of, not a rock family, so no child can act on that option and it is never the key.

Built: thirteen three-option sort items; the checker accepts the set and prints a warning naming it, so your call stays visible.

Recommendation: three options.

Three options / four, with "a mineral" back

2. Does "metamorphic means changed: every metamorphic rock was once a different rock" stay at the coin in L01?

L01 coins the family by its look. The coin wants a because, and the full how (heat and squeezing deep underground) is L02's lesson.

Built: the one line at the coin, and nothing more of L02 in L01.

Recommendation: keep.

Keep / cut to L02

3. Does the glass block stand in for the brief's brick in L04?

L04 pairs a sponge (tiny spaces, holds water) with a thing that has no spaces. A fired brick soaks up water, so the brief's pair would teach a false line.

Built: a glass block beside the sponge.

Recommendation: keep.

Keep / brick

The lessons

4. L01 Spot metamorphic rock: wavy stripes, or flat sheets – Jasper picks a gray striped rock out of the class rock box and calls the stripes layers; the stripes bend and wave, and sandstone's layers are flat and straight. Gneiss, slate and marble by eye; "metamorphic rock" coined last. page

5. L02 How heat and squeezing change a rock into a new rock – Jada at a Vermont marble quarry hears that the white marble was once gray limestone. Deep underground the rock on top squeezes a layer and it is hot; the grains change into new grains while the rock stays solid; limestone to marble, shale to slate, and shale told from slate. page

6. L03 Sort any rock into its family from the clue in its grains – Miss Garcia tips the rock box onto the table and the class sorts it into three piles; one frame for every rock, and the near miss said plainly: flat layers of pieces are sedimentary, wavy bands of grains are metamorphic. page

7. L04 Which rocks can hold water, oil or natural gas – Miss Garcia drips water onto a sandstone and a granite; the drop soaks into one and beads on the other. Tiny spaces hold water like a sponge, and Texas oil sits in a limestone's tiny spaces, not in an underground lake. page

Applied without asking

Topic 18 had keyed a "gray, splits into sheets" card as sedimentary (shale) and this topic's Rock N card keyed the same words metamorphic (slate), so L02 now tells slate from shale (shale is soft and crumbles into mud; slate is hard, and its sheets are smooth and ring when you tap them), the video says it, L03 says the one-line tell, and Rock N's card carries hard and smooth. Four figures on the L01 page had shared one clip id and rendered as empty white rectangles; every id is unique now and every box draws on the built page. The drop cards' colour no longer tracks the key, gneiss's bands are made of grains, marble's sparkle is glints rather than holes. Eleven bank items took fresh scenes, gneiss, slate and marble are recognised as names before L02 keys them, Jasper is right once, and the bird bath replaces the roof tile the article answered. One bank key was wrong after the three-option re-order (a limestone description keyed igneous); the cold re-read caught it, it is re-keyed, and every MCQ's key text was read against its stem by script. Two look items that shared one stem now name their rocks and where they were found; two cards no longer share the letter R; four bank drawings are fresh instances; two keys are no longer the longest option; Jada's white rock is a kitchen counter.

Also on the site

The bank's family-sort items have three options where the sort has three classes (igneous, metamorphic, sedimentary), not four.

Topic intro and poll · summary and three questions · mixed practice · the PP100 bank · the type sheet

After you answer

Nothing on the page changes if you keep all three; "a mineral" back is a one-line change and a key re-spread, "brick" is a one-figure redraw and two lines. Either way the picture pass starts, and the six-video batch is built, checked and waiting for your word.

The records, whole

The build record (v1, v2 and the v3 polish)

Skill: course-build → write-lesson (L01 a fact lesson with two near-miss boundary pairs; L02 a why / mechanism lesson; L03 the capstone sort as an example sequence in one frame; L04 a two-class categorical) → write-example-sequence, design-check-sequence, sentence-atomise, write-explanation, write-mcqs (quizzes, practice, the PP100 bank and its type sheet); write-video-script (intro, four lesson scripts, summary; the elementary micro-lesson anatomy); review-figures (author self-check on twenty renders; a non-author cold pass appended) @ b0fa825

Grade 4 Topic 19 — The three rock families — build record (v1, 2 October 2026)

What this is, in plain words

Four short lessons that finish the rock-families story Topic 18 began. A child first learns to spot the third family by eye: a rock whose grains sit in bands that bend and wave (gneiss), or lie lined up so the rock splits into flat sheets (slate), or sparkle with gray wavy stripes (marble). Then the child learns how such a rock comes to be: deep underground, the rock piled on top squeezes it and it is hot, so its grains change into new grains, and it becomes a new rock without ever melting (limestone to marble in Vermont; shale to slate in Pennsylvania). Then the capstone: given any rock, read the clue in its grains and sort it into igneous, sedimentary or metamorphic, with the near miss handled in so many words (a striped rock whose stripes are flat layers of pieces is sedimentary; one whose stripes are wavy bands of grains is metamorphic). Last, the TEKS closing lesson: a rock with tiny spaces between its grains (sandstone, limestone) holds water, oil or natural gas like a sponge, and a rock with no spaces (granite, slate) cannot — so Texas oil sits in a limestone's tiny spaces, not in an underground lake.

Counts. 4 lessons · 4 scripts (144, 150, 150, 148 spoken words) + intro (111 words, 2 question marks) + summary (136 words) · 4 attached questions + the intro's poll + 3 summary questions (key string C B B A C A A; A 3 of 7) · 41 quiz items (11 + 10 + 10 + 10; 1 written answer) · 12 practice items (all MCQ; three Grade 3 retrievals; the term recalled last by MCQ) · 52-item PP100 bank (47 four-option MCQs, 3 typed, 2 multi-selects; easy 16 / medium 22 / hard 14; per atom 011: 10, 012: 13, 005: 16, 006: 13) · 60 figures (44 SVG by code, 11 photo placeholders, 5 cartoon placeholders) · checker 0 FAIL, 19 WARN (every WARN answered below) · articles 295 / 291 / 298 / 292 words · page builds (/tmp/g4t19_test.html) · blind bundle cut (blind/2026-10-02: 106 MCQ, 3 typed, 1 FRQ, 2 multi) · video batch built (6 videos) and check_brief.py clean on L01–L04 and the summary; the batch is NOT sent.

Structural decisions (in place of a blueprint)

LessonTitle (the skill in student terms)Headache sceneExample sequenceCheck typeVideo?
L01 EAR4-011Spot metamorphic rock: wavy stripes, or flat sheetsJasper picks a striped gray rock out of the class rock box and says the stripes are layers, so it is sedimentary; Jana holds it beside the sandstone, whose layers are flat and straight, but the new rock's stripes bend and wavethe FACT form with two near-miss boundary pairs (no full E / NE run: the honest non-examples are the two families' looks the child already holds): gneiss (bands that bend and wave) → granite beside it (the same colored grains in a jumble: igneous, never bands) → slate (grains too small to see but lined up, so it splits into flat sheets) → sandstone's flat layers as the sorting sentence (each layer is sand grains stuck together) → marble (grains sparkle like sugar; gray wavy stripes cross the white) → the looks card → "often hard and often shiny" → coin "metamorphic rock" last → "metamorphic means changed" (one line, so L02's question is already live)(a) fluency: a Topic 17 recall, four drawn look boxes y/n, two LOOK3 items, one apply, Jasper's claim, two term MCQsvideo and article
L02 EAR4-012How heat and squeezing change a rock into a new rockJada at a Vermont marble quarry; the guide says the marble was once limestone, which Jada knows from the rock box and which looks nothing like marblea WHY / mechanism lesson, no example sequence: the limestone followed from the sea floor to deep underground (rock piles on top over a very long time) → two things happen there: the rock above presses in (squeezing) and it is hot (heat) → the grains change: shell pieces disappear, new grains lock together → marble → the boundary said in so many words: it stayed solid the whole time; a rock that melts, then cools and hardens, is igneous → the second case in the same frame (shale → slate, the squeezing lines the grains up) → rule word for word(c) what / why / misconception / transfer: a Topic 24 recall, two what items, the why as a written answer on a FRESH case (sandstone → quartzite), two false claims and one TRUE claim, where, the transfer, which two thingsvideo and article
L03 EAR4-005Sort any rock into its family from the clue in its grainsMiss Garcia tips the rock box out for sorting into three piles; Jada holds up a striped rock, Jasper says stripes mean metamorphic, Jana says stripes mean sedimentarythe capstone, ONE frame: "This rock has <clue>. So this rock is <family>." Cases: grains locked in a jumble (igneous) → sand grains in flat, straight layers (sedimentary) → smooth and glassy (igneous) → dark and light bands that bend and wave (metamorphic) → the NEAR MISS, Jada's rock: flat, straight stripes with sand grains stuck together (sedimentary), and the sorting sentence "a metamorphic rock's stripes are wavy bands of grains, not flat layers of pieces" → splits into flat sheets (metamorphic) → shell pieces in flat layers (sedimentary) → the sort table → rule(a) fluency on the fixed set FAM3: four drawn clue cards, four described rocks (two near misses), which question sorts a striped rock, Jasper's claimvideo and article
L04 EAR4-006Which rocks can hold water, oil or natural gasMiss Garcia drips water onto a sandstone and a granite: the sandstone's drop soaks in and the rock darkens; the granite's drop stays on top in a beada two-class categorical taught from the real happening: sandstone close up (tiny spaces between the grains, so the water went in) → granite close up (grains locked, no spaces, so the drop stayed on top) → the everyday pair (a sponge; a glass block) → the three resources, recalled as Grade 3's "natural resources", on real cases (Texas limestone holding oil; sandstone holding water and natural gas) → the misconception by name (the oil sits in the tiny spaces, not in an underground lake) → granite and slate (no spaces; a slate roof keeps the rain out) → the resource table → rule(a) fluency: a Topic 28 recall, two drawn drop cards and one plain case y/n, which rock holds water, which rock keeps rain out, where the oil sits, Jasper's false claim, Jada's TRUE claim, the transfer (a bead, so no oil)video and article

Why these calls: the atom order and the capstone come from the architecture row; L01 is a FACT lesson, not a classification run, because the honest non-examples are the two other families' looks and the lesson's job is to add a third look to a child who holds two — so the two boundary pairs (granite / gneiss with the same grains; sandstone / slate both splitting flat) carry the contrast; L01 says "metamorphic means changed" in one line so the coin is honest and L02's question is already open; L02 says the igneous boundary in so many words ("it stayed solid the whole time") because Kusnick's "metamorphic rocks are melted" is the belief most children hold; L03 teaches the sort by example sequence with the near miss the brief named (a layered rock whose stripes are wavy bands) and gives the boundary its sorting sentence before any check sorts a striped rock; L04 keeps the drop test as the one observable (a child can do it) and brings the three TEKS resources in through real US cases, with Grade 3's "natural resource" recalled in one line and one item.

Judgement calls, each recorded: (1) "grain", never "crystal" — Topic 17 coined grain for the small pieces in a rock and barred crystal, so the atom text's "crystals" is written as grains throughout (the cross note's clues "crystals lined up" become "grains lined up in flat sheets"); the coordinator may want Topic 18 read against this. (2) The everyday pair is a sponge and a GLASS BLOCK, not the brief's sponge and brick: a fired brick soaks up water (it is porous), so a child who has seen a wet brick darken would meet a false line. (3) Igneous and sedimentary are Topic 18's coins; each is recapped in one line on first reuse ("Granite is an igneous rock: it formed when melted rock cooled and hardened"; "Limestone forms at the bottom of the sea, where shell pieces settle in layers, get pressed together and stick") and never re-taught; the three family names are the sort's labels. (4) Marble's look is given as "grains sparkle like sugar, with gray wavy stripes crossing the white" (Vermont's veined marble), so every member named in L01 carries one of the two metamorphic clues and the rule names only what every member has. (5) Shale is introduced in L02 as "a gray sedimentary rock made of mud pressed into flat layers" (a rock name, not a coined term) because the shale → slate case is the brief's; shale is kept out of L04 (its spaces are too small for water to move). (6) The fourth option on the bank's family sort is "mineral" (Topic 17's sister word) — a question for James below. (7) "metamorphic" (eleven letters) is in RECALL_BY_MCQ; every recall item on the term is an MCQ keyed on it, so the bank's hard tier types slate, igneous and granite, and chains MCQs for the rest; the typed "marble" item was re-authored as a hard chained MCQ because the checker (S30a) rules a key that is not a lexicon word an open typed question.

Questions for James

The per-lesson table

LessonAtomLesson typeItems (quiz)Script wordsArticle wordsIdea lines / subtitles / figuresAttached key
L01 Spot metamorphic rock: wavy stripes, or flat sheetsEAR4-011fact lesson, two near-miss boundary pairs; coins metamorphic rock last11 (1 recall, 4 drawn y/n, 2 LOOK3, 1 apply, 1 claim, 2 term MCQs)14429519 / 5 / 10C (metamorphic)
L02 How heat and squeezing change a rock into a new rockEAR4-012why / mechanism; two before-and-after cases; the igneous boundary said10 (1 recall, 2 what, 1 why FRQ, 3 claims (one TRUE), 1 where, 1 transfer, 1 which two)15029121 / 4 / 8B (no: the shale does not melt)
L03 Sort any rock into its family from the clue in its grainsEAR4-005capstone sort; example sequence in one frame with the near miss and its sorting sentence10 (4 drawn cards, 4 described rocks, 1 which question, 1 claim)15029816 / 4 / 5B (sedimentary)
L04 Which rocks can hold water, oil or natural gasEAR4-006two-class categorical from the drop test; the misconception by name10 (1 recall, 3 y/n on tiny spaces, 2 which rock, 1 where, 2 claims (one TRUE), 1 transfer)14829217 / 4 / 8A (yes: it has tiny spaces)

design-check-sequence records

`

Skill: design-check-sequence @ b0fa825

Part: L01 (EAR4-011)

Type: (a) one-step categorisation — for a drawn or described look, say whether it is the look of metamorphic rock (yes / no), or name the look from the fixed set LOOK3.

Plan: Topic 17 recall (grains are minerals; 3 opt, 0) → drawn look boxes: bands (y), sheets (y), layers (n), jumble (n) → "which look is this?" on LOOK3: sheets (1), bands (0) → apply: Rock J bands / Rock K layers (0) → Jasper's claim, stripes make rocks the same kind (n) → term recognition (FAM3, 2) → term recalled by MCQ, last (1). Two-option string y y n n 0 n; three-option 0 1 0 2 1.

Belongs in practice/test instead: the four-option forms; the looks asked on named rocks (PP-03, PP-05, PP-06).

`

`

Skill: design-check-sequence @ b0fa825

Part: L02 (EAR4-012)

Type: (c) concept understanding — the payoff is a mechanism (heat and squeezing deep underground change the grains without melting) and the register's beliefs are named (a rock cannot change; metamorphic rocks are melted).

Plan: Topic 24 recall (lava cools into solid rock; 3 opt, 0) → WHAT: limestone becomes (1 marble); shale becomes (1 slate) → WHY as a written answer on a FRESH case (sandstone → quartzite under a mountain; starter "The sandstone changed because…"; read against the article's limestone and shale cases, the two-paths table and the figures: quartzite appears nowhere on the page) → MISCONCEPTION: Jada, a rock cannot change (n); Jasper, marble is melted limestone (n); Jana, a rock can change while solid (y, the TRUE claim) → where (0 deep underground) → TRANSFER: hot, squeezed, stays solid → a metamorphic rock (1) → which two things (2). Two-option string n n y; three-option 0 1 1 0 1 2.

Form of the why: the fresh-instance form (AP Biology's coordinator ruling), case fresh against the article.

Belongs in practice/test instead: before ← after in reverse (PP-21, PP-22); the events form of the melted claim (PP-23).

`

`

Skill: design-check-sequence @ b0fa825

Part: L03 (EAR4-005)

Type: (a) one-step categorisation — for a described or carded rock, name its family from the fixed set FAM3 (igneous / sedimentary / metamorphic).

Plan: drawn clue cards J jumble (0), L bands (2), K shells (1), M glassy (0) → described: splits into sheets (2), stripes of pebbles in flat layers — near miss (1), stripes that are wavy bands — near miss (2), sand grains in flat layers (1) → which question sorts a striped rock (3 opt, 0) → Jasper's claim, every striped rock is sedimentary (n). Three-option keys 0 2 1 0 2 1 2 1 0 — never the option order or its reverse in a run; two-option n.

Belongs in practice/test instead: four-option forms with "mineral"; the two-rock comparison with both / neither (PP-43); the set of clues (PP-45).

`

`

Skill: design-check-sequence @ b0fa825

Part: L04 (EAR4-006)

Type: (a) one-step categorisation — for a rock shown after the drop test or named, say whether it has tiny spaces (yes / no), or pick the rock / the place.

Plan: Topic 28 recall (a natural resource; 3 opt, 0) → drop card J soaked (y) → limestone drop soaks in (y) → drop card K bead (n) → which rock holds water (3 opt, 2 sandstone) → which rock keeps rain out (3 opt, 1 slate) → where the oil sits (3 opt, 0) → Jasper's claim, an underground lake (n) → Jada's TRUE claim, gas in tiny spaces (y) → TRANSFER: a bead, so no oil (n). Two-option string y y n n y n; three-option 0 2 1 0.

Belongs in practice/test instead: the four-rock forms; the table read (PP-16); the dry-well reason (PP-52); the set of rocks (PP-48).

`

The key strings

The example sequences, written out

L01 (fact form; two boundary pairs; the frame "<Rock> has <look>" with the family named after): gneiss — the grains are sorted into bands, and the bands bend and wave → granite beside it — the same pink, gray and black grains, but in a jumble, with no bands at all; igneous rock never has bands → slate — grains too small to see, but all lined up the same way, so it splits into thin, flat sheets → sandstone's flat layers are different: each layer is sand grains stuck together → marble — grains lock tightly together and sparkle like sugar; gray wavy stripes cross the white → all three hard; gneiss and marble shiny → rule → coin.

L03 (one frame, rule induced after, so the frames carry no "because"):

L04 (two classes, the frame "<rock> has <tiny spaces / no spaces>, so <what the water does>"): sandstone — tiny spaces between the grains, so the water went in → granite — grains lock together with no spaces, so the drop stayed on top → a sponge works like the sandstone → a glass block works like the granite → limestone with tiny spaces holds oil; sandstone holds water and natural gas → granite and slate hold no water, no oil and no gas → rule.

The rules applied

Rule (vault note)Where it bites here
Lesson titles name the skill in student terms"Spot metamorphic rock: wavy stripes, or flat sheets"; "How heat and squeezing change a rock into a new rock"; "Sort any rock into its family from the clue in its grains"; "Which rocks can hold water, oil or natural gas"
Coin a term as when X, we call it Y; the coin last; the scaffold retiredL01: "A rock with bands or wavy stripes, or with grains lined up so it splits into flat sheets, is called metamorphic rock" after five cases; from L02 on every line says metamorphic rock
A coined term is used from then on, with a one-line recap on first reuseigneous ("Granite is an igneous rock: it formed when melted rock cooled and hardened"), sedimentary (the limestone-forms line), natural resource ("things we take from nature to use")
Lesson text states the fact, never the topic that taught itno "in Topic 18" or "you learned"; the Grade 3 lava fact and the natural-resource definition are stated
A non-example is a near miss, never an absurd casegranite beside gneiss (same grains); sandstone beside slate (both split flat); a striped rock whose stripes are flat layers; "on top of a hill" and "at the bottom of a lake" as where-distractors
A boundary case gets its sorting sentenceL03: "A metamorphic rock's stripes are different: they are wavy bands of grains, not flat layers of pieces"; L01: "Sandstone's flat layers are different: each layer is sand grains stuck together"; L02: "If a rock melts, then cools and hardens, it is igneous rock"
Physics / science lessons confront the age's misconceptions by nameL02 names "a rock cannot change into another rock" and "metamorphic rocks are melted" as Jada's and Jasper's claims; L04 names "oil sits in an underground lake" as Jasper's
What a thing IS before what it DOES; what before whyL01 the look, L02 the forming; L04 the spaces, then what they hold
The headache figure is the teaching figure with the answer's layer offpair_headache is pair_bands_layers with no chips and the rocks named only as "Jasper's rock" and "sandstone"; deep_before is deep_during without arrows or glow; resource_table_headache has blank cells
A verdict mark names its questionevery teaching pair carries its question above the chips ("Wavy bands, or flat layers?"; "Between the grains"; "Tiny spaces, or no spaces?")
Code draws what must be exact; David's pack renders what must look real46 SVG (look boxes, step cards, tables, cards, rule cards); 11 photo placeholders (every real rock and place); 5 cartoons (every scene with children); IMAGE_KINDS and IMAGE_BRIEFS complete, asserted at import
An item figure's blind text is data, never the answerdrop cards: "a dark oval patch on its top where the drop fell; no drop is left on top"; look boxes: counts, colours and shapes; the grep of every [Drawing: line for igneous / sedimentary / metamorphic / soaked / holds / can hold returned 0
Say the positive word"stayed solid the whole time"; "the drop stays on top in a round bead"; "holds no water, no oil and no gas" (the atom's own negation, kept); "cross it" for the stripes
Only a thing that runs is said to run"gray wavy stripes cross the white", never "run through" (S29 found two and all were rewritten)
Every sentence has a subject and a verb0 fragments after the two colon bullets were rewritten ("A jumble or a glassy look means igneous"); the summary bullets carry verbs
Units as words; numbers on screen as numeralsno numbers in student text beyond "two" and "three"; the figures' blind data uses numerals (6 px, 22 grains)
Biggest / smallest for size only0 hits (S39)
US spellinggray, color, meters absent; 0 S14 hits
A character's name belongs to one topicMiss Garcia; Jada, Jana, Jasper — build_tools_names.py Garcia Jada Jana Jasper → all four free, exit 0; no other character anywhere
The intro teaches nothing, ≤ 120 words, ≤ 3 question marks, the map line, a ready line and the poll111 words, 2 question marks, no "is called"; "To find out, we will look at wavy stripes in rocks, heat and squeezing, sorting rocks into families, and which rocks hold water and oil."; "Okay, so are you ready to sort the rocks?"
The summary opens "Here's everything we found out about …" and recaps rules, not examplesthe opener on the title "the three rock families"; the four lexicon sentences with "First / Next / Then / And"; 136 words
Every lesson video opens by re-establishing its sceneevery first beat names the people and the thing on screen
Closing bullets on every lesson, summary bullets on the topicthree bullets of a few words each, with verbs; check_brief.py closing findings 0 on L01–L04 and the summary (the intro's R79 hit is the standing accepted hit on every topic intro: the batch tool passes no bullets to an intro, which has no rule slide)
An attached question stands aloneevery attached stem names its own scene; S27 0 hits
Recognition before recall; a long term recalled by MCQmetamorphic in RECALL_BY_MCQ; L01 q10 (recognition) then q11 (recall by MCQ); practice PR-12 last
A quiz climbs recognise → apply → produce; term items lasteach quiz ends on its claim, apply or term items; the one FRQ sits fourth of ten in L02 (S32 silent)
Hard means more of the skillevery hard bank item carries its hb line (a chain, a near miss, a set, a recalled name)
A test item is a fresh instancethe type sheet's inventory names the nearest lesson-side item per bank item; S28 0 after PP-07 and PP-09 were re-scened (Georgia; Jana's mountain rock)
A real thing named survives the claim made about itgneiss from the mountains of New York (the Adirondacks); slate from Pennsylvania; marble from Vermont (Danby's gray-veined marble); oil in Texas limestone (the Permian Basin's carbonate reservoirs); natural gas in Ohio sandstone (the Clinton sandstone); granite and slate as the no-space rocks; shale kept out of the water class

Misconception rows (the catalogue is silent on rocks; the literature named in the brief, and what was done)

Belief (source)Lesson line that addresses itClaim item
A rock cannot change into another rock; a rock stays the same rock (Happs 1982, LISP rocks and minerals)L01 "Metamorphic means changed: every metamorphic rock was once a different rock"; L02 the whole mechanism and the two before-and-after cardsL02 q5 Jada (no); PR-10 Jana TRUE (yes); PP-41
Metamorphic rocks are melted / were lava (Kusnick 2002, J. Geoscience Education 50)L02 "The limestone got very hot, but it stayed solid the whole time. If a rock melts, then cools and hardens, it is igneous rock." and the two-paths tableL02 q6 Jasper (no); L02 q7 Jana TRUE (yes); L02 video (no); PP-23, PP-24 / PP-25
Stripes are layers, so a striped rock is sedimentary; rocks are grouped by one surface feature (Happs 1982; Ford 2005)L01's headache and pair figure; L03's near miss and sorting sentenceL01 q9 Jasper (no); L03 q10 Jasper (no); PP-42, PP-43
Oil sits in underground lakes, pools or rivers (Kusnick 2002; AAAS Project 2061 earth-science items)L04 "The oil sits in the rock's tiny spaces, the way water sits in a sponge, not in an underground lake" and the oil cardL04 q8 Jasper (no); L04 q9 Jada TRUE (yes); PP-35
Every rock is "gray and hard" (Ford 2005) — Topic 17's rownot re-confronted here; L01's three named rocks are gray, white and dark gray with their colours stated—

Checker: 0 FAIL, 19 WARN (python3 build_tools_check_topic.py grade4/topic19_build/content/G4T19.py)

Names run (python3 build_tools_names.py Garcia Jada Jana Jasper → exit 0, all four "free")

No other character or claim-maker appears anywhere in the topic (the quarry guide and "a town" are unnamed).

Bank freshness (re-performed before this report)

Scene nouns of every lesson, quiz, attached and summary item: rock box, quarry, guide, courthouse, steps, roof, roof tile, dropper, sponge, glass block, Vermont, Texas, Pennsylvania, New York, ribbons, mountain (the FRQ's quartzite case). Grep over every bank and practice string: rock box 0 · quarry 0 · courthouse 0 · steps 0 · roof 0 · tile 0 · dropper 0 · glass block 0 · Vermont 0 · Texas 0 · Pennsylvania 0 (PP-34 was re-scened to Ohio) · New York 0 · guide 0 · ribbon 0 · sponge 4 — all four inside why / fb lines quoting the lexicon's own "like a sponge", none in a stem or option. The slate-roof scene (L04's article and q6) was removed from the bank: PP-38 is now a slate porch floor and PP-49 types slate from two properties. "Mountain" appears in PP-09 and PP-26 as the mechanism's own words ("a mountain of rock piled on top"), not as the FRQ's scene. The ⟂ draw constraints are on the type sheet.

Blind-text grep (the bundle's [Drawing: lines)

grep -c -i "igneous|sedimentary|metamorphic|soaked|holds water|cannot hold|can hold" over the 20 distinct drawing lines → 0. Every line is data: counts of lines and speckles, colours, "a dark oval patch … no drop is left on top", the card's own words, the table's cells.

Sentence-atomise self-check (one row per lesson; every idea line one sentence and ≤ 22 words, S1 / S38 clean)

LessonIdea linesOne idea per sentenceCause → effectNamed actorVerb carriesPlain word before the term≤ 8 lines per runFixes applied
L0119yesyes (the grains are sorted into bands, so the bands wave; grains lined up, so it splits)Jasper, Jana, the grains, the stripesbend, wave, lock, sparkle, splitbands / wavy stripes / flat sheets → metamorphic rockyes (five subtitles, ten figures)"run through" → "cross"; two lines merged to cut the article from 390 to 295 words; "glitters" → "sparkle"
L0221yesyes (rock piles on top, so the limestone lies deep; the rock above presses in, so it is squeezed; heat and squeezing change the grains)the rock above, the heat and the squeezing, the shell pieces, the new grainspresses, squeezes, changes, disappear, lockheat and squeezing → metamorphic rock formsyes (four subtitles, eight figures)"two things act on" → "two things happen to" (verb list); the quarry glossed; two lines merged
L0316yesyes (the clue → the family, in one frame)Miss Garcia, Jada, Jasper, Jana, the rocktips, holds up, gives a clue, meanthe clue words → the family nameyes (four subtitles, five figures)the closing return cut to one sentence (was 25 words); the first-rock line shortened
L0417yesyes (tiny spaces, so the water went in; no spaces, so the drop stayed on top)Miss Garcia, the drop, the sand grains, the oildrips, soaks in, stays, holdtiny spaces → can hold water, oil or natural gasyes (four subtitles, eight figures)a 23-word and a 27-word line each split in two; the glass-block line and the well line cut for length (their figures' captions carry them)

Figures (60: 44 SVG by code, 11 photo placeholders, 5 cartoons; author's review-figures self-check on twenty renders)

Depiction register: figures.py docstring (ten look boxes, the look pair, the looks card, the step cards, before / after, the two-paths table, the sort table, the sponge card, the oil card, the resource table, drop cards, clue cards, rule cards). Opened at 900 px (qlmanage): pair_bands_layers, pair_jumble_bands, looks_meta, deep_before, deep_during, before_after_marble, melt_or_not, clue_cards_four, sort_table, rule_sort, spaces_vs_locked, sponge_glass_card, oil_in_spaces, resource_table_full, q_drop_j, q_drop_k, q_look_sheets, pp_look_glassy. Fixes from the renders: the look pair widened to 400 px (two chips had collided); the looks card widened to 560 px (the sheets chip ran off the frame); the slate split redrawn as two pale wedges inside the box (the lifted sheet had been clipped by the clip path); the oil card's magnifier and chip moved apart and the well moved right; a taller rule card for the four-line sort rule and the two-sentence spaces rule (the last line had sat on the frame). After the cold pass: a "mud" look added so shale is never drawn as sandstone (before_after_slate, deep_slate); a wide chip is clamped inside the pair frame (the sheets chip had started at x = -5); the deep cards grew to 250 px so DEEP UNDERGROUND sits below the ground frame; the sheets and glassy looks vary by seed (line spacing 5 / 6 / 7 px and the split's side; the highlight's side) so an item's render is never the teaching render; the two unused item boxes (spaces, locked) were dropped. Every chip inside its frame; every table header measured against its column (resource_table asserts it); item figures carry no verdict chip and their alt text says what is drawn. Guards in the drawer: the spaces box asserts at least 18 grains with a gap of 3 px or more between every pair; the locked box shares every vertex so no gap can appear; Topic 17's grain box asserts its speckle count.

Owed

The non-author cold pass (review-questions on the blind bundle + review-figures on the renders; a separate agent, 2 Oct 2026) — findings and what was done

The reviewer answered all 108 keyed items cold without the key file; every cold answer agreed with the taught key; no item had two defensible options or none; no "In the video", no double negative, no British spelling, no verdict-plus-reason option, no [Drawing: line naming a family or verdict.

FindingSeverityWhat was done
L02 q4 (the why FRQ): the stem stated the mechanism ("gets very hot, and the rock above presses on it"), so the Explain was the stem copied backfixstem now gives only the case: "Deep under a mountain, over a very long time, a sandstone turned into quartzite, a hard, shiny rock. Explain what changed the sandstone into quartzite."
PP-03 = L01 q6 / L03 q5 with "Slate" added (renamed, not fresh)fixre-authored as a new move: grains lined up → what this lets the rock do (split into thin flat sheets), four events
PP-15 = SUMMARY-3 with limestone → sandstonefixre-authored as a two-block prediction: water on a slate block and a sandstone block, which soaks it in
before_after_slate: the BEFORE box was the sandstone "layers" look, so shale read as sandstonefixa "mud" look added (seven flat gray-brown bands, no dots) and used for shale here and on deep_slate
pair_sheets_layers: the sheets chip started at x = -5 (clipped)fixchips clamped inside the pair frame
L01 q6 / q7: the stem echoed the key's words ("splits into … flat sheets"; "stripes … bend")considerboth rewritten ("comes apart in thin, flat pieces, because its grains all lie the same way"; "sorted into ribbons that curve across it")
L03 q5 reused L01 q6's stem word for wordconsiderrewritten ("breaks into thin, flat pieces along its grains, which all lie lined up the same way")
L03 attached question = L03 q3 (card K) without the cardconsiderre-scened to mud pressed together in flat, straight layers
PP-35: the key was the only option naming a rock (odd one out, longest)considerdistractors rewritten in the same shape ("a rock with no spaces, like granite"; "melted rock deep underground"; "a lake of oil under the ground")
PP-42 = L03 q6 / q8 with sand grains and "gray"considerre-authored: a hard, shiny rock with grains in a jumble; Jasper says shiny rocks are metamorphic (the "often" features as the near miss)
PP-43 = L01 q8 with T / Vconsiderre-authored as the sort run backwards: the rock is sedimentary, which look must it have (four looks, hard-and-shiny as the trap)
PP-40 and PP-49 both typed "slate"; metamorphic and sedimentary have no typed recallconsiderPP-49 now types "granite" (two properties: a jumble, no spaces); "metamorphic" stays MCQ by James's spelling rule and "sedimentary" is Topic 18's eleven-letter coin — both recalled by MCQ; "marble" cannot be typed because the checker (S30a) rules a non-lexicon key open
PP-45 and PP-48 (multi-selects) split into single items already in the bankconsider — keptthe set IS the skill in both (knowing both metamorphic clues together; knowing both rocks with tiny spaces together); the brief allows a few multi-selects where the answer is a set; the type sheet's ⟂ list keeps each off a test with its single-item twins
deep_* cards: DEEP UNDERGROUND chip straddled the ground frame's bottom edgefixframe 250 px tall, chip below the ground with margin
pp_look_sheets, pp_look_glassy: identical to the teaching rendersfixsheets and glassy now vary by seed; items use seeds 20 and 16
pp_look_spaces, pp_look_locked: drawn, unusedinfodropped from FIGURES
L02 q1, PR-2: Grade 3 recalls, not this topic's atomsfinekept as the brief's one-item doorways (labelled with their Grade 3 atoms in the code)

After the pass: checker 0 FAIL, 19 WARN (the table above); articles 295 / 291 / 298 / 292; scripts 144 / 150 / 150 / 148; page builds; bundle re-cut (106 MCQ, 3 typed, 1 FRQ, 2 multi; the blind-text grep still 0); batch rebuilt, key string C B B A C A A, check_brief.py clean of closing findings on L01–L04 and the summary.

v2 — reviews applied (2 October 2026)

Skill: course-build → write-lesson (article lines) → write-video-script (the L01 / L02 beats) → write-mcqs (every item change) → write-explanation (fb / why lines) → sentence-atomise (every new sentence) @ b0fa825

In plain words. Every key held: two blind readers agreed all 112, and the reviewer found no science error. The one real hole was the course arguing with itself. Topic 18 taught shale as gray mud that splits into flat sheets and keyed a "gray, splits into sheets" card as sedimentary; this topic's Rock N card ("gray; splits into thin flat sheets") keyed metamorphic. A Topic 18 student would answer sedimentary and be right by what the course taught. The lesson now says what tells the two apart — Shale splits into sheets too, but shale is soft and crumbles into mud. Slate is hard, and its sheets are smooth and ring when you tap them. — the video says it, L03 says the one-line tell (sheets of lined-up grains mean metamorphic; flat layers of pieces mean sedimentary), and Rock N's card carries hard, smooth and lined up. Around it: the family sorts are three-option ("a mineral" struck), eleven bank items got fresh scenes, gneiss / marble / slate are recognised as names in L01 before L02 keys them, Jasper is right once, the bird bath replaces the roof tile the article answered, and the page-breaking figure fault is gone — every clipPath id is unique, so the gneiss and slate boxes that rendered as empty rectangles on the built L01 page now show their drawings (screenshots of all four article pages opened and read).

Finding → change

RecordFindingChange
Blind read (both) · Review (Essential)the slate look / Rock N also describes shale; no boundary sentenceL02 article: the two sentences above after "The squeezing lined the grains up…"; deep_slate placed before them; L02 script beat 6 "Shale, a soft gray rock made of mud, changes the same way into slate, a hard rock that splits into smooth sheets."; L03 "Sheets of lined-up grains mean metamorphic, and flat layers of pieces mean sedimentary."; Rock N card "gray and hard; splits into thin, smooth sheets; grains too small to see, all lined up the same way"; the sheets drawing now shows the top two sheets LIFTING (dark underside above a pale gap) and its blind text says "thin flat sheets stacked like pages … lift away"; L01-q3 fb names "sheets of lined-up grains, not flat layers of pieces"
Blind readPP-01 = L01-02, PP-02 = L01-03, PP-36 = L04-02, PP-37 = L04-04 (drawings verbatim)every look box and drop card is an instance by seed — bands 2 or 3 ribbons and a phase, sheets 5/6/7 px lines, left or right split, gray / green-gray / purple-gray, drop cards a seeded block with the patch or drop left / middle / right — and the blind text is built per instance (blind_text), so no two items carry one description; PP-36 / PP-37 gain a scene (a riverbank stone; a hillside stone)
Blind readPP-11, 12, 19, 23, 33, 34, 35 renamed lesson itemsPP-11 a black rock on a hike (glassy, sharp edges); PP-12 a river cliff's rock (sand and pebbles in flat layers); PP-19 two gray rocks that both come apart flat → which look shows one is metamorphic (the sheets side); PP-23 no claim-maker, "a rock becomes a metamorphic rock — what happens to the rock?"; PP-33 a town hall's striped front step; PP-34 an Ohio farm's water well in sandstone; PP-35 Jada's picture of oil in rivers through a cave
Blind readgneiss, marble, slate first met as keys; no recognition itemL01 quiz: three rock-name items on NAMES3 (gneiss / marble / slate; keys 0 2 1) replace the second FAM3 term item (q10); "tiny spaces" is coined in L04's article and video before L04-q2 (confirmed, no item added)
Blind readPP-37 option D "tiny spaces already full of water" defensible"It has tiny spaces between its grains."
Blind read⟂ pairson the type sheet: PP-08 / PP-22 ⟂ PP-40; PP-06 ⟂ PP-39; PP-35 ⟂ PP-49 / 51 / 52; PP-05 ⟂ PP-46; PP-19 ⟂ PP-20 (new pair after the re-scene); PP-24 ⟂ PP-25 kept
Blind readPP-49 a child types "igneous"; PP-44 pluralPP-49 wrong_fb for igneous / igneous rock / an igneous rock ("Igneous is the name of the rock's FAMILY…"); PP-44 accepts "igneous rocks", "ignious rocks", "igneus rocks"
Review (Worth fixing, James's Q1)"a mineral" as the fourth family optionfourteen family sorts three-option (fam() over FAM3); keys A 4 · B 5 · C 5; the topic module declares PP100_THREE_OPTION_SETS; the shared checker's S11 now accepts a declared three-option set and prints a WARN naming the count (James's 2026-09-30 ruling: an option no child would pick is deleted, three being the count) — a one-line revert if James keeps four
ReviewJasper wrong 7 of 7L04-q9 (natural gas in the spaces: yes) is Jasper's TRUE claim; L04-q8 (the lake: no) is Jana's; PP-35 is Jada's picture. Claims now: Jasper 3 no / 1 yes, Jada 1 no, Jana 2 yes / 1 no
ReviewL04-q6 roof tile answered by the article"Jana wants a flat stone for a bird bath that keeps every drop of water in. Which rock should she choose?" sandstone / slate / limestone; fb and why on the stone
ReviewL01-q1 keyed "minerals" for the pieces; silly distractors"Each grain in a rock is one kind of stuff, the same all the way through. What do we call that stuff?" a mineral / a sediment (Topic 18's coin) / a layer
Review"sit in a jumble" (new descriptor)"locked together in a jumble, with no bands at all" — article, caption, L01-q5 fb / why, L03-q1 fb, PP-46 why; the lexicon's phrase everywhere
Reviewthe jumble never spoken in L01; shale → slate never spoken in L02L01 beat 4 "Granite's grains are the same, but locked together in a jumble, with no bands." (pair_jumble_bands on screen); L02 beat 6 above; beats 1, 2, 5 trimmed to hold 150 / 150 words
ReviewPP-23's key two-clause and longest"It melts, then cools into new rock." / "It breaks into pieces that settle." / "It dissolves in water, then dries." / "It stays solid while its grains change."
Review"The shell pieces disappear""The shell pieces turn into new grains, and the new grains grow and lock together." (article and script)
Review"a soft gray rock made of shell pieces" against Topics 17–18's limestone"a soft gray rock with shell pieces inside" (headache, article, script, L02-q3 fb)
Figures (1, page-breaking)clipPath ids from the seed collided on the L01 pagelook_box ids lk<counter>_<x>_<y> (a module counter plus position; never a seed); check_svg_ids.py figures.py → PASS (54 figures, 27 ids, 0 shared); the built page's four article routes screenshotted and read — every look box shows its drawing
Figures (2)drop-card colour tracked the key; two twin pairsone neutral gray-brown for both states; seeded size and drop position; blind text names the position
Figures (3)pp_look_shells was the teaching boxseeded shells drawer (3 or 4 layers, 3–5 shells scattered per layer, sizes varied); PP-29 uses seed 17, the teaching box seed 16
Figures (4)gneiss's bands not made of grainsdark grains in the dark bands, pink and white grains in the light bands, radius 2.4–3.2 (granite's size), each grain wholly inside its band, no heavy overlap
Figures (5)marble's sparkle read as holesfour-point glints (_glint), 16 per box, on a slightly warmer white so they show
Figures (unplaced)deep_slate, resource_table_headache, marble_quarry_photo, the three Topic 17 photosdeep_slate placed in L02's second case; resource_table_headache placed after "Where did the sandstone's water go?" (the teaching table with its data layer off); marble_quarry_photo and granite_photo / sandstone_photo / limestone_photo deleted from FIGURES and IMAGE_BRIEFS (no page used them); pp_clue_p / pp_clue_s deleted (PP-11 / 12 are sentences now). 54 figures: 42 SVG, 7 photo, 5 cartoon
Figures (minor)oil_in_spaces overlaps, chip adrift; 22 vs 19; dark band unlabelled; pp_look_bands blind wordinggap guard (grains wholly in the lens, 14 px apart) and the chip under the lens; BLIND["spaces"] reads the count the seed-8 box really places (19); "rock piled on top" sits inside the dark band; bands blind text "dark ribbons … curve up and down", never the option phrase
Review (Leave rows, done as they said)wavy bands of sorted grains vs flat layers of pieces; gneiss's parent unnamed; "deep underground, it is hot"; the Texas oil line; marble's stripes; the Grade 3 recall sentenceskept word for word

Counts and key strings

4 lessons · scripts 150 / 150 / 150 / 148 · intro 111 · summary 136 · articles 297 / 322 / 312 / 292 (L02 and L03 WARN above the 300 line: the Essential boundary sentences and the L03 tell; kept) · quiz items 13 + 10 + 10 + 10 · practice 12 · bank 52 (33 four-option MCQs, 14 three-option sorts, 3 typed, 2 multi; easy 16 / medium 22 / hard 14; per atom 011: 10 · 012: 13 · 005: 16 · 006: 13; tags rise with atom order as before) · figures 54.

Keys: attached and summary C B B A C A A (unchanged); L01 two-option y y n n y n, three-option 0 1 0 0 2 1 1; L02 n n y / 0 1 1 0 1 2; L03 n / 0 2 1 0 2 1 2 1 0; L04 y y n n y n / 0 2 1 0; practice 0 1 0 2 1 0 1 0 1 0 0 2; bank four-option A 8 · B 10 · C 7 · D 8, three-option A 4 · B 5 · C 5; bank key string ABBDACCACBCBADBACDBBCADCBABCBCBDCCADABDtABBt[AB]BB[AB]tCBD (t = typed, [..] = multi).

Checker results

Items changed (stem, options, key, model, figure, blind text or accept list)

Lessons: L01-q1 (whole item), L01-q3 (fb), L01-q5 (fb, why), L01-q10 → cut, L01-q10 / q11 / q12 new (gneiss, slate, marble recognition), L01-q13 = old q11; L02-q3 (fb); L03-q1 (fb); L04-q6 (whole item), L04-q8 (Jana; stem, why), L04-q9 (Jasper; stem, why). Figures on items: q_look_bands / sheets / layers / jumble, q_drop_j / k (instances and blind text). Bank: PP-02, 05, 06, 11, 12, 13, 24, 25, 27, 28, 29, 30, 42, 47 (three options; keys re-spread); PP-01 (figure instance, blind text); PP-11, 12, 19, 23, 33, 34, 35, 36, 37 (stems and / or options; PP-19 and PP-23 options; PP-37 option D); PP-27 (card); PP-29 (figure seed); PP-44 (accept); PP-46 (why); PP-49 (wrong_fb). Practice and attached: unchanged.

Sentence-atomise, v2 lines

WhereLines readSplit / rewrittenWhat changed
L015 (the jumble line, the pair caption, beats 1 / 4 / 5)1beat 4 one sentence, one actor (granite's grains), one contrast; the caption two sentences, one rock each
L028 (the headache line, the new-grains line, the two boundary sentences, beats 1–6)2"turn into new grains, and the new grains grow and lock together" (two actors kept, one event each, the link stated); the boundary as two sentences, shale then slate, lined up in the same frame (soft / crumbles; hard / smooth / ring)
L031 (the tell)0one sentence, two parallel halves on "mean"
L043 (the headache caption, L04-q6 fb / why)0"the water stays on top of the stone" — the thing named, the positive word
Bank11 new stems, 2 option sets, 3 whys, 1 wrong_fb4PP-11, 12, 36, 37 cut from three or four sentences to two (S23); PP-49's wrong line names the family / rock distinction in one sentence each

v3 — polish (2 October 2026, the cold re-read applied)

Skill: course-build → write-mcqs (every item change) → write-explanation (why lines) → sentence-atomise (every new sentence) @ efd8fba

In plain words. Reader C's re-read found one wrong key: PP-47 describes limestone (grains too small to see, flat layers, shell pieces) and its letter sat on igneous. The v2 fix pass had struck "a mineral" and re-ordered the three-option sets, and that item's letter was left behind. The key text is now sedimentary, and a script printed every MCQ's key letter beside its key text and stem (quizzes, attached, summary, practice, bank — 112 MCQs); every family-sort item was read one by one, and PP-47 was the only mismatch. The rest is bank hygiene: two drawn look items shared one stem word for word (the TimeBack exporter refused the twin), two cards both said Rock R, four bank drawings were lesson-quiz drawings with a new letter, two keys were the longest option, and Jada's white rock was the quarry marble renamed.

Finding → change

Finding (Reader C)Change
PP-47 keyed igneous for a limestone descriptionfam([2, 1, 0]), key 1 → the letter B now reads sedimentary; three-option keys A 4 · B 4 · C 5
PP-29 and PP-30 share "Look at the close-up of a rock's surface. Which family is this rock?"PP-29 "The close-up shows the surface of Rock P, a stone from a river bed in Arkansas. Which family is Rock P?"; PP-30 the same frame for Rock X, from a field in New Mexico; each box carries its chip (ROCK P, ROCK X); whys name the rock
PP-28 and PP-37 both "Rock R"PP-37 is Rock U (pp_drop_u, seed 62, the drop left of the middle); pp_drop_r deleted; Rock R is PP-28's clue card only
PP-01, 02, 36, 37 re-skin L01-02, L01-03, L04-02, L04-04PP-01 bands seed 25 (new phase and grain scatter); PP-02 sheets seed 23 (7 px, LEFT split, purple-gray; the quiz's is 6 px, left, green-gray; the teaching pair's 5 px, right, gray) and a new move: "which rock could the stone be?" over sandstone / granite / slate / limestone (naming the family was the quiz's move), so the bank is 34 four-option + 13 three-option; PP-36 soaked card seed 59 (patch LEFT of the middle, a narrower, taller block); PP-37 a new move: the drawn bead is the evidence and the student predicts a whole cup poured over Rock U — "All of the water runs off the top." / "A little of the water soaks in." / "All of the water soaks in." / "The water makes tiny spaces in the rock." (the quiz asks "does Rock K have tiny spaces")
PP-17 and PP-31 key the longest optionPP-17 key "a rock with wavy bands of grains"; PP-31 key "a rock with shell pieces in flat layers"; the longest option is now a distractor in both; PP-31's why follows
PP-39 is Jada's quarry marble renamed"A kitchen counter is cut from a white stone whose grains sparkle, with gray wavy stripes. Which rock was the stone before heat and squeezing changed it?"
(author, same pass) PP-33's town-hall step was the intro's courthouse step renamed"A garden wall in a park is built from a striped stone."
Give-away setstype sheet ⟂ list: PP-17 ⟂ 31 ⟂ 32 added; PP-03 joins PP-19 ⟂ 20; PP-04 ⟂ 45, PP-21 ⟂ 39, PP-08 ⟂ 22 ⟂ 40, PP-14 ⟂ 48 confirmed

Key check (the script /tmp/keycheck_g4t19.py, run before and after)

Before: 13 of the 14 family sorts matched (PP-47 B = igneous against a limestone stem). After: all 13 three-option sorts match — PP-05 A metamorphic (gneiss) · PP-06 C metamorphic (marble) · PP-11 C igneous (glassy black rock) · PP-12 A sedimentary (sand and pebbles in layers) · PP-13 A igneous (jumble) · PP-24 C igneous (melted, cooled) · PP-25 B metamorphic (stayed solid) · PP-27 B metamorphic (card N) · PP-28 C metamorphic (card R) · PP-29 A sedimentary (shells, Rock P) · PP-30 C igneous (glassy, Rock X) · PP-42 B igneous (hard, shiny jumble) · PP-47 B sedimentary (limestone). Every other MCQ's key text matched its stem on the read (quizzes, attached, summary, practice).

Counts and checks

Bank 52: 34 four-option MCQs (keys A 8 · B 10 · C 8 · D 8), 13 three-option sorts (A 4 · B 4 · C 5), 3 typed, 2 multi; tiers unchanged (16 / 22 / 14). Figures 54 (pp_drop_r → pp_drop_u).

Items changed (v2 → v3)

PP-02 (stem, options, key letter C, why, figure instance), PP-17 (key text), PP-29 (stem, why, figure chip), PP-30 (stem, why, figure chip), PP-31 (key text, why), PP-33 (stem), PP-36 (figure instance), PP-37 (stem, options, why, figure pp_drop_u), PP-39 (stem, why), PP-47 (option order; the key text). PP-01 (figure instance only). Figures: pp_look_bands, pp_look_sheets, pp_look_shells, pp_look_glassy, pp_drop_s, pp_drop_u. Lessons, practice, attached: unchanged.

Sentence-atomise, v3 lines

WhereLines readSplit / rewrittenWhat changed
PP-02, 29, 30 stems60two sentences each: the close-up and its stone named, then the one question; "the stone" repeated, never "it"
PP-37 stem, options, why2 + 4 + 31the stem cut from three sentences to two; every option one happening about the water; the why one link per line (bead → no spaces → water goes in only where there are spaces → runs off)
PP-33, PP-39 stems; PP-31, 39 whys2 + 50"the stone" named in both halves of PP-39; PP-31's why no longer says "stuck together" after the option dropped it
The guidance, questions and accuracy review

Skill: course-build → review-lesson (Roles B, B2) → review-questions → review-accuracy (non-author pass; filed by the coordinator from the reviewer's hand-back) @ b0fa825

Topic 19 — guidance, questions and accuracy review, 2 October 2026

A sound, well-sequenced topic with one real hole. The science is right at Grade 4 depth and the igneous boundary is said plainly ("it stayed solid the whole time"); every mechanical claim re-performs true (0 FAIL; scripts 144 / 150 / 150 / 148; intro 111; summary 136; articles 295 / 291 / 298 / 292; 52 items, keys A 10 B 12 C 13 D 12; blind-text grep 0). The hole is a cross-topic collision: Topic 18 taught shale as "gray mud … that split into flat sheets" and keyed a "gray, splits into sheets" card as sedimentary; Topic 19's Rock N card ("gray; splits into thin flat sheets; grains too small to see") keys metamorphic. A Topic 18 student answers sedimentary and is right by what the course taught. The lesson never gives a sentence that tells slate from shale; the fix is on L02, with the card following. Three smaller tells (Jasper is wrong in all seven of his claims; L04's roof-tile item is answered by an article line; L01's recall item keys "minerals" where Topic 17's coin for the pieces you can see is "grains") and two video-parity gaps are worth fixing before the videos go.

The author's three questions, the reviewer's view: (1) "mineral" as the fourth option on the family sort — strike it: a category error no child can act on, never a key; make the twelve family items three-option. (2) "Metamorphic means changed" at the coin — keep. (3) The glass block over the brief's brick — agree (a fired brick absorbs water; the pair would teach a false line).

Leave: "wavy bands of SORTED grains" versus "flat layers of PIECES" is a description a child can apply; gneiss's parent rightly unnamed; "deep underground, it is hot" honest without magma; the Texas oil line true and picturable; marble's wavy stripes a scoped simplification; Jada / Jana one letter apart is a NAMES_POOL matter (noted for the pool); the Grade 3 recall sentences word for word.

wherefindingrule brokenseveritythe rewrite
L02 article after the slate line; PP-27 cardshale also splits into sheets and Topic 18 keyed it sedimentary; no boundary sentenceboundary section; category definitionEssentialL02: "Shale splits into sheets too, but shale is soft and crumbles into mud. Slate is hard, and its sheets are smooth and ring when you tap them." Card N: "gray; hard; splits into thin, smooth sheets; grains too small to see"
the twelve family-sort items"a mineral" as the fourth optionoptions a child can act onWorth fixing (James's Q1)three options
claim items topic-wideJasper wrong 7 of 7keys spread; name tellWorth fixingL04 q9 to Jasper as a TRUE claim (natural gas in the spaces: yes); PP-35 to Jada
L04 q6slate roof answered by the article line and the L01 photofresh instanceWorth fixing"Jana wants a flat stone for a bird bath that keeps every drop of water in. Which rock should she choose?" sandstone / slate / limestone
L01 q1"minerals" keyed for the pieces you can see; silly distractorsone word for one thing; check 74Worth fixing"Each grain in a rock is one kind of stuff, the same all the way through. What do we call that stuff?" a mineral / a sediment / a layer
L01 article "sit in a jumble"new igneous descriptorcoined term recapped on first reuseWorth fixing"locked together in a jumble, with no bands at all"
L01 script beats 1, 3; L02 script beats 1, 4, 5the jumble never spoken (q5, LOOK3 need it); shale → slate never spoken (q3, PP-08 / 22 / 40 need it)video / article parityWorth fixingthe reviewer's beats (149 words each)
PP-23 optionskey two-clause and longestcheck 47Worth fixing"It melts, then cools into new rock." / "It breaks into pieces that settle." / "It dissolves in water, then dries." / "It stays solid while its grains change."
L02 "The shell pieces disappear"stuff-vanishes readingsecond everyday readingWorth fixing"The shell pieces turn into new grains, and the new grains grow and lock together."
L02 headache "a soft gray rock made of shell pieces"contradicts Topics 17–18's limestonethe course against itselfWorth fixing"a soft gray rock with shell pieces inside"
The figure review

Skill: course-build → review-figures (non-author pass; filed by the coordinator from the reviewer's hand-back) @ b0fa825 — figures at g3-5-science commit 78436e2

Topic 19 — figure review, 2 October 2026

On the L01 article page as built, the gneiss box beside granite is an EMPTY white rectangle, and in the three-looks card the slate box is empty and the gneiss box is shifted and cut. Looked at one by one the drawings are clear and honest: wavy bands really wave, flat layers are really flat. The cross-section is the best figure in the topic. Mechanical pass clean per SVG (60 of 60; no text outside a frame, no overlap); the page-level fault only shows on the built page.

  1. clipPath ids collide across figures on one page (page-breaking). look_box writes <clipPath id="c<seed>">; seeds 3, 4 and 6 recur across pair_headache, pair_jumble_bands, pair_sheets_layers and looks_meta, all inline on L01; the browser takes the first #c3, so later boxes clip to nothing. Fix: a unique id per call (a module counter, or c<seed>_<x0>_<y0>), then screenshot every lesson page, not only the single SVGs. General rule (vault-synced 2 Oct 2026): a figure passes on the built page; inline SVG ids are unique across a page.
  2. The drop cards' colour tracks the key and the two item pairs are exact twins: soaked = tan, bead = grey, always; q_drop_j ≡ pp_drop_s, q_drop_k ≡ pp_drop_r. One neutral rock colour for both states; a seed on drop_card.
  3. pp_look_shells is the teaching figure re-used (the shells drawer ignores its seed). Seed the shell positions and layer count; break the regular 4-per-row grid.
  4. Gneiss's bands are not made of grains: solid bands with speckles crossing both colours. Fill dark bands with dark grains, light bands with pink / white grains, near granite's size.
  5. Marble's sparkle reads as tiny holes (open circles), which L04 then teaches as "tiny spaces". Four-point glints instead.

Unplaced (6): deep_slate — delete or place beside "Deep underground in Pennsylvania…"; resource_table_headache — PLACE after "Where did the sandstone's water go?" (the teaching table with its data layer off, exactly the headache rule); marble_quarry_photo — place at L02's opening or delete; granite_photo, sandstone_photo, limestone_photo — imported from Topic 17 but on no page: delete from FIGURES, or the picture pass renders three photos nobody sees. courthouse_cartoon is video-only (fine).

Minor: oil_in_spaces grains overlap (no gap guard) and the chip sits adrift; BLIND["spaces"] says 22 grains, the render has 19; deep_* dark band unlabelled; pp_look_bands blind text echoes an option phrase ("stripes that curve up and down" instead); briefs complete and specimen-named; Topic 17's drawers used as drawn.

keykindused byverdictwhat is wrongthe fix
pair_headache, pair_bands_layers, pair_sheets_layerssvgL01 / L03PASS alone; FAIL on pageid collision(1)
pair_jumble_bandssvgL01FAILgneiss box empty on page; bands not grains(1), (4)
looks_metasvgL01, summaryFAILslate box empty, gneiss cut(1)
spaces_vs_lockedsvgL04PASSblind count 22 vs 19correct
clue_cards_four, melt_or_not, sort_table, resource_table_full, pp_table_tvsvgL02–L04, PP-16PASS——
q_look_bands / pp_look_bands, q_look_layers, q_look_sheets / pp_look_sheets, q_look_jumble, pp_look_glassysvg itemL01 quiz / bankPASSwave phase; blind wordingvary by seed; reword
pp_look_swirlssvg itemPP-18WEAKsparkle as holes(5)
pp_look_shellssvg itemPP-29FAILteaching box re-used(3)
deep_before / deep_duringsvgL02, summaryPASSdark band unlabelledlabel
deep_slatesvgnoneUNPLACED—place or delete
before_after_marblesvgL02WEAKregular shell grid; sparkle dots(3), (5)
before_after_slatesvgL02PASSmud look held—
resource_table_headachesvgnonePLACE—L04 headache
q_clue_j / k / l / m, pp_clue_n / p / r / ssvg cardL03 quiz / bankPASStext cards—
sponge_glass_cardsvgL04PASS——
oil_in_spacessvgL04WEAKoverlapping grains; chip adriftgap guard; chip by the magnifier
q_drop_j, q_drop_k, pp_drop_r, pp_drop_ssvg itemL04 quiz / PP-37, 38FAILcolour tracks key; twins(2)
rule_look / form / sort / spacessvgL01–L04PASS——
gneiss / slate / slate_roof / marble / shale / oil_pump / drops_two_rocks photosphotoL01–L04PASS—picture pass
marble_quarry_photo, granite_photo, sandstone_photo, limestone_photophotononeUNPLACED—place or delete
the five cartoonscartoonintro–L04PASS—picture pass

Three best: deep_during, pair_headache / pair_bands_layers, spaces_vs_locked. Three weakest: pair_jumble_bands, the drop-card set, pp_look_shells.

The blind read and the v2 re-read

Skill: course-build → review-lesson (Role A blind key read, two readers; Role C adjudication by the coordinator) @ b0fa825

Topic 19 — The three rock families — blind read, 2 October 2026

Every key agreed by two blind readers (112 items each; MCQ disagreements 0; both multi-selects PP-45 C, D and PP-48 A, C matched; the three typed answers on the lists; the FRQ model in the key's words). No wrong-key risk. Both readers flag the same near miss and the same reuse set. The intro poll is not bundled by design.

Flags carried into the fix pass

ItemWhoFlagRuling
L01-03, PP-02 (same drawing), PP-27A, Bthe slate look ("thin flat lines, no grains, strips lifting away") is also a fair description of shale, which L02-03 calls "mud in flat layers"drawing description "thin flat sheets lifting off"; PP-27's card gains "grains lie lined up the same way"; the lesson's one-line tell (sheets of lined-up grains = metamorphic; flat layers of pieces = sedimentary) said in L03
PP-01 = L01-02, PP-02 = L01-03, PP-36 = L04-02, PP-37 = L04-04 (drawings verbatim); PP-11, 12, 19, 23, 33, 34, 35 renamed lesson itemsA, Bfresh instancere-scene every one
gneiss (PP-05, 23, 46); marble, slate first met as keys (L02-02 / 03); granite, limestone, sandstone, "tiny spaces"A, Bno coining item in the bundlethe guidance review confirms each is coined in a lesson line before its first item; add a recognition item where one is missing
PP-37 option D ("tiny spaces already full of water")Adefensible unless the lesson rules it outa lesson line or a different distractor
⟂BPP-08 / PP-22 print PP-40's "slate"; PP-06 + PP-21 give PP-39; PP-35's distractor gives PP-49 / 51 / 52; PP-19 = PP-33; PP-24 / PP-25; PP-05 → PP-46on the type sheet
PP-49 typed "granite"A, Ba child may type "igneous" (the family)a wrong-term why for "igneous"; accept "igneous rocks" plural on PP-44

Readers' files: blind/2026-10-02/READER_A.md, READER_B.md.

v2 re-read, 2 October 2026 (Reader C on blind/2026-10-02-v2, the whole bundle)

One key did not survive: PP-47. "A pale rock is made of grains too small to see, in flat layers, with a few shell pieces stuck in the layers. Which family is it?" — the reader says sedimentary (C); the sequestered key says A, igneous. The stem describes limestone; the key is wrong, most likely a letter left at A when the fix pass struck "a mineral" and re-ordered the three-option sets. Everything else agreed (114 items; both multi-selects matched; the three typed words on the lists). The slate / shale items are decidable from the lesson's coined look "grains lined up in flat sheets" (L01's LOOK3, word for word). Flags to the polish pass: re-key PP-47 and check every three-option family item's key TEXT against its letter; the two drawn look items that share the stem "Look at the close-up of a rock's surface. Which family is this rock?" get distinct stems (the TimeBack exporter builds ids from the prompt and refused the twin); PP-28 and PP-37 both name "Rock R"; PP-01, 02, 36, 37 are re-skinned lesson-quiz drawings; PP-17 and PP-31 key the longest option; PP-39 is Jada's quarry marble renamed; the give-away sets for the type sheet. Reader's file: READER_C.md.