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
| Lesson | Atom | Rule sentence |
|---|---|---|
| L01 Spot metamorphic rock: wavy stripes, or flat sheets | EAR4-011 | Bands 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 rock | EAR4-012 | Heat 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 grains | EAR4-005 | A 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 gas | EAR4-006 | Tiny 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)
- 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
- Type 2 (005): A described rock (a clue card or one sentence): "Which family is it?" · the four families · 005
- Type 3 (011, 005): "Which of these four rocks is <family>?" · four one-line rock descriptions (or two lettered rocks + both / neither) · 011, 005
- 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
- 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
- Type 6 (012): The mechanism: where, which two things, what the rock on top does, what really happens · four places / pairs / events · 012
- Type 7 (012): A hot rock's path (melts and cools / stays solid and is squeezed) → its family · the four families · 012
- 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
- Type 9 (012, 005, 006): Typed: the rock's or the family's name from its clues (slate, igneous, granite) · 012, 005, 006
- 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.
The questions the author put to you (built as recommended)
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)
| Lesson | Title (the skill in student terms) | Headache scene | Example sequence | Check type | Video? |
|---|---|---|---|---|---|
| L01 EAR4-011 | Spot metamorphic rock: wavy stripes, or flat sheets | Jasper 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 wave | the 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 MCQs | video and article |
| L02 EAR4-012 | How heat and squeezing change a rock into a new rock | Jada 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 marble | a 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 things | video and article |
| L03 EAR4-005 | Sort any rock into its family from the clue in its grains | Miss 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 sedimentary | the 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 claim | video and article |
| L04 EAR4-006 | Which rocks can hold water, oil or natural gas | Miss 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 bead | a 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
- Should the bank's family-sort items carry "mineral" as the fourth option, or should they be three-option items? Context: the brief asks for four-option MCQs as the bulk of the bank; the sort has three honest labels. "Mineral" is Topic 17's sister word and the rock / mineral confusion is documented (Happs 1982), so a child who picks it is telling us something. Recommendation: keep "mineral", or strike it to three options across the twelve items that use FAM4 (
fam(...)in the bank) — a one-line change. Built with "mineral". - Is "metamorphic means changed: every metamorphic rock was once a different rock" (one line at L01's coin) the right amount of L02 inside L01? Context: the coin form wants a because; the full how is L02's atom. Recommendation: keep the one line — it makes the name honest and opens the quarry question. Built that way.
- Does the glass block stand in for the brief's brick in L04? Context: a brick is porous and soaks water, so the brief's pair would teach a false line; a glass block has no spaces. Recommendation: the glass block. Built that way.
The per-lesson table
| Lesson | Atom | Lesson type | Items (quiz) | Script words | Article words | Idea lines / subtitles / figures | Attached key |
|---|---|---|---|---|---|---|---|
| L01 Spot metamorphic rock: wavy stripes, or flat sheets | EAR4-011 | fact lesson, two near-miss boundary pairs; coins metamorphic rock last | 11 (1 recall, 4 drawn y/n, 2 LOOK3, 1 apply, 1 claim, 2 term MCQs) | 144 | 295 | 19 / 5 / 10 | C (metamorphic) |
| L02 How heat and squeezing change a rock into a new rock | EAR4-012 | why / mechanism; two before-and-after cases; the igneous boundary said | 10 (1 recall, 2 what, 1 why FRQ, 3 claims (one TRUE), 1 where, 1 transfer, 1 which two) | 150 | 291 | 21 / 4 / 8 | B (no: the shale does not melt) |
| L03 Sort any rock into its family from the clue in its grains | EAR4-005 | capstone sort; example sequence in one frame with the near miss and its sorting sentence | 10 (4 drawn cards, 4 described rocks, 1 which question, 1 claim) | 150 | 298 | 16 / 4 / 5 | B (sedimentary) |
| L04 Which rocks can hold water, oil or natural gas | EAR4-006 | two-class categorical from the drop test; the misconception by name | 10 (1 recall, 3 y/n on tiny spaces, 2 which rock, 1 where, 2 claims (one TRUE), 1 transfer) | 148 | 292 | 17 / 4 / 8 | A (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
- Attached questions in video order (L01, L02, L03, L04, summary 1–3): C B B A C A A — A 3 of 7, no position above 60 %.
- Lesson quizzes, two-option items (first option = yes / Rock J): L01
y y n n 0 n· L02n n y· L03n· L04y y n n y n— no four in a row alternate; no position above 60 % within a lesson (L01's apply item was re-keyed to Rock J after the checker found position 2 at 4 of 6). - Three-option items: L01
0 1 0 2 1· L020 1 1 0 1 2· L030 2 1 0 2 1 2 1 0· L040 2 1 0· practice0 1 0 2 1 0 1 0 1 0 2(two-option0). - Bank MCQ keys: A 10 · B 12 · C 13 · D 12 (47 MCQs).
- Claims: L01 1 (no) · L02 3 (no, no, YES) · L03 1 (no) · L04 2 (no, YES) · practice 1 (YES) — 5 no of 8 (63 %); every lesson with two or more claims carries a TRUE one.
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"):
- This rock has grains locked together in a jumble, with no layers. So this rock is igneous.
- The next rock has tiny sand grains stuck together in flat, straight layers. So this rock is sedimentary.
- The next rock is smooth and glassy, with no grains to see. So this rock is igneous too.
- The next rock has dark and light bands that bend and wave. So this rock is metamorphic.
- Jada's stripes are flat and straight, with sand grains stuck together in each one. Flat layers of pieces mean sedimentary. (sorting sentence: a metamorphic rock's stripes are wavy bands of grains, not flat layers of pieces)
- Jasper's rock splits into thin, flat sheets, because its grains all lie lined up the same way. So his rock is metamorphic.
- Jana's rock has shell pieces stuck together in flat layers. So her rock is sedimentary.
- Rule: To sort a rock into its family, look at its grains. Grains locked in a jumble, or a glassy look, mean igneous. Pieces stuck together in flat layers mean sedimentary. Bands or wavy stripes, or grains lined up in flat sheets, mean metamorphic.
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 retired | L01: "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 reuse | igneous ("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 it | no "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 case | granite 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 sentence | L03: "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 name | L02 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 why | L01 the look, L02 the forming; L04 the spaces, then what they hold |
| The headache figure is the teaching figure with the answer's layer off | pair_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 question | every 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 real | 46 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 answer | drop 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 verb | 0 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 numerals | no numbers in student text beyond "two" and "three"; the figures' blind data uses numerals (6 px, 22 grains) |
| Biggest / smallest for size only | 0 hits (S39) |
| US spelling | gray, color, meters absent; 0 S14 hits |
| A character's name belongs to one topic | Miss 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 poll | 111 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 examples | the 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 scene | every first beat names the people and the thing on screen |
| Closing bullets on every lesson, summary bullets on the topic | three 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 alone | every attached stem names its own scene; S27 0 hits |
| Recognition before recall; a long term recalled by MCQ | metamorphic in RECALL_BY_MCQ; L01 q10 (recognition) then q11 (recall by MCQ); practice PR-12 last |
| A quiz climbs recognise → apply → produce; term items last | each 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 skill | every hard bank item carries its hb line (a chain, a near miss, a set, a recalled name) |
| A test item is a fresh instance | the 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 it | gneiss 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 it | Claim 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 cards | L02 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 table | L02 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 sentence | L01 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 card | L04 q8 Jasper (no); L04 q9 Jada TRUE (yes); PP-35 |
| Every rock is "gray and hard" (Ford 2005) — Topic 17's row | not 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)
- S8 (7) script beats of three sentences (L03's rule beat of five: the four-sentence rule plus its opener) — kept, each beat is one screen state; the rule is spoken word for word as the lexicon requires.
- S36 (12 words) readability, each answered: shale, gneiss, quartzite (rock names the page introduces with a one-line description — fine); quarry (glossed in L02: "where people cut marble out of the ground" — fine); sparkle / sparkles / sparkling (the everyday word for marble's look; "glitters" was swapped to it so one word carries the idea — fine); split (everyday — fine); stripe (everyday — fine); disappear (everyday — fine); width → swapped to "how wide they are" in L03's fb, remains once in PP-33's why ("Color and width do not sort a rock") — fine for Grade 4; hollow → swapped to "an empty space inside rock" (James's note); heavier (everyday — fine).
- Clean: S1–S7, S9–S15, S20–S23, S25–S35, S37–S39; S29 counts 0 after "run through" → "cross"; S30 typed=3, fail=0.
python3 grade4/check_g4_articles.py→ 0 FAIL: articles 295 / 291 / 298 / 292 (L01 was 390 and L03 352 before the trim); scripts 144 / 150 / 150 / 148; intro 111; summary 136, opener ok.
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)
| Lesson | Idea lines | One idea per sentence | Cause → effect | Named actor | Verb carries | Plain word before the term | ≤ 8 lines per run | Fixes applied |
|---|---|---|---|---|---|---|---|---|
| L01 | 19 | yes | yes (the grains are sorted into bands, so the bands wave; grains lined up, so it splits) | Jasper, Jana, the grains, the stripes | bend, wave, lock, sparkle, split | bands / wavy stripes / flat sheets → metamorphic rock | yes (five subtitles, ten figures) | "run through" → "cross"; two lines merged to cut the article from 390 to 295 words; "glitters" → "sparkle" |
| L02 | 21 | yes | yes (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 grains | presses, squeezes, changes, disappear, lock | heat and squeezing → metamorphic rock forms | yes (four subtitles, eight figures) | "two things act on" → "two things happen to" (verb list); the quarry glossed; two lines merged |
| L03 | 16 | yes | yes (the clue → the family, in one frame) | Miss Garcia, Jada, Jasper, Jana, the rock | tips, holds up, gives a clue, mean | the clue words → the family name | yes (four subtitles, five figures) | the closing return cut to one sentence (was 25 words); the first-rock line shortened |
| L04 | 17 | yes | yes (tiny spaces, so the water went in; no spaces, so the drop stayed on top) | Miss Garcia, the drop, the sand grains, the oil | drips, soaks in, stays, hold | tiny spaces → can hold water, oil or natural gas | yes (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
- Blind review: the bundle is cut (
blind/2026-10-02/, 112 items, keys sequestered, re-cut after the cold pass); two cold readers still to run and the adjudication to file. The non-author cold pass is below. - Videos:
handoff/G4T19/videos/batch_G4T19.jsonbuilt (6 videos; key string C B B A C A A);check_brief.pyclean on L01–L04 and the summary; NOT sent — James's word is needed for Grade 4's first batch. - Pictures: 11 photo and 5 cartoon placeholders carry their briefs in
IMAGE_BRIEFS; the picture pass waits for James's answers to the three questions above. - Register: nothing to change on the atoms; the coordinator may want Topic 18 read for "crystal" against Topic 17's "grain".
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.
| Finding | Severity | What 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 back | fix | stem 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) | fix | re-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 → sandstone | fix | re-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 sandstone | fix | a "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) | fix | chips clamped inside the pair frame |
| L01 q6 / q7: the stem echoed the key's words ("splits into … flat sheets"; "stripes … bend") | consider | both 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 word | consider | rewritten ("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 card | consider | re-scened to mud pressed together in flat, straight layers |
| PP-35: the key was the only option naming a rock (odd one out, longest) | consider | distractors 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" | consider | re-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 / V | consider | re-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 recall | consider | PP-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 bank | consider — kept | the 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 edge | fix | frame 250 px tall, chip below the ground with margin |
pp_look_sheets, pp_look_glassy: identical to the teaching renders | fix | sheets and glassy now vary by seed; items use seeds 20 and 16 |
pp_look_spaces, pp_look_locked: drawn, unused | info | dropped from FIGURES |
| L02 q1, PR-2: Grade 3 recalls, not this topic's atoms | fine | kept 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
| Record | Finding | Change |
|---|---|---|
| Blind read (both) · Review (Essential) | the slate look / Rock N also describes shale; no boundary sentence | L02 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 read | PP-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 read | PP-11, 12, 19, 23, 33, 34, 35 renamed lesson items | PP-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 read | gneiss, marble, slate first met as keys; no recognition item | L01 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 read | PP-37 option D "tiny spaces already full of water" defensible | "It has tiny spaces between its grains." |
| Blind read | ⟂ pairs | on 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 read | PP-49 a child types "igneous"; PP-44 plural | PP-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 option | fourteen 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 |
| Review | Jasper wrong 7 of 7 | L04-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 |
| Review | L04-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 |
| Review | L01-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 |
| Review | the jumble never spoken in L01; shale → slate never spoken in L02 | L01 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 |
| Review | PP-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 page | look_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 pairs | one neutral gray-brown for both states; seeded size and drop position; blind text names the position |
| Figures (3) | pp_look_shells was the teaching box | seeded 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 grains | dark 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 holes | four-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 photos | deep_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 wording | gap 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 sentences | kept word for word |
Questions for James — built as recommended
- Q1 (the fourth option): "a mineral" struck; the family sorts are three-option (see the checker note above — his call stands open on the WARN).
- Q2 ("metamorphic means changed" at the coin): kept.
- Q3 (the glass block for the brief's brick): kept (a fired brick soaks up water).
- NAMES_POOL note: Jada / Jana are one letter apart (the reviewer's Leave row); recorded here for the pool's owner, the pool itself not edited.
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
build_tools_check_topic.py→ 0 FAIL, 19 WARN: the S8 beat notes, S36 words (new: hike — everyday, in a scene that shows it), and the one new S11 WARN naming the 14 three-option sorts.grade4/check_g4_articles.py→ 0 FAIL (two 300-line WARNs, L02 322 and L03 312).build_tools_names.py Garcia Jada Jana Jasper→ exit 0, all four free.check_svg_ids.py content/figures.py→ PASS (54 figures, 27 ids, 0 shared). On the built page the checker reads 0 SVG blocks: the site embeds figures as JSON and injects them, so the module read is the one that counts.build_tools_build_topic_site.py→/tmp/g4t19_v2.html; article routes screenshotted at 900 px (/tmp/g4t19_v2_L0N_part*.png) and read: every look box drawn (gneiss's bands beside granite, the three-looks card, the sheets pair),deep_slateand the headache table in place, the oil chip under its lens, the dark band labelled.build_tools_video_batch.py→ 6 videos, key string C B B A C A A;check_brief.py✓ L01–L04 and summary; the intro's R79 line is the standing accepted hit;grep -ci strand→ 0. Not sent.- Fresh bundle
blind/2026-10-02-v2/: 108 MCQ, 3 typed, 1 FRQ, 2 multi; 20[Drawing:lines; grep for metamorphic|igneous|sedimentary|slate|shale|marble|gneiss|spaces → 1 hit: PP-16's table ("Rock T, TINY SPACES yes … Rock V, TINY SPACES no") — the table's own column header, the datum the item reads one step beyond (which rock can hold water, oil or gas); data, not a family word or verdict. Every other line is colours, counts, positions and the cards' own words. - Old-name grep over
content/*.py(0 each): FAM4 · marble_quarry_photo · pp_clue_p · pp_clue_s · granite_photo · sandstone_photo · limestone_photo · "made of shell pieces" · "pieces disappear" · "sit in a jumble" · "already full of water" · "underground rivers" ·c%d; "mineral" and "roof tile" remain only in code comments and the article's slate-roof line.
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
| Where | Lines read | Split / rewritten | What changed |
|---|---|---|---|
| L01 | 5 (the jumble line, the pair caption, beats 1 / 4 / 5) | 1 | beat 4 one sentence, one actor (granite's grains), one contrast; the caption two sentences, one rock each |
| L02 | 8 (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) |
| L03 | 1 (the tell) | 0 | one sentence, two parallel halves on "mean" |
| L04 | 3 (the headache caption, L04-q6 fb / why) | 0 | "the water stays on top of the stone" — the thing named, the positive word |
| Bank | 11 new stems, 2 option sets, 3 whys, 1 wrong_fb | 4 | PP-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 description | fam([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-04 | PP-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 option | PP-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 sets | type 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).
build_tools_check_topic.py→ 0 FAIL, 19 WARN (the S8 beat notes, S36 words, the S11 three-option WARN now naming 13).grade4/check_g4_articles.py→ 0 FAIL (L02 322, L03 312 WARN as before).build_tools_build_topic_site.py→/tmp/g4t19_v3.html(4 lessons, 12 practice, 52 pp100, 54 figures); the six changed renders opened and read (Rock U's drop left of the middle; Rock S's patch left; the purple-gray sheets lifting at the left; ROCK P under the shells box).check_svg_ids.py content/figures.py→ PASS (54 figures, 27 ids, 0 shared).- TimeBack export
/tmp/g4t19_export/G4T19_2026-10-02/andvalidate_export.py→ledger header matches template: True (58 columns)·pp100 header matches template: True (34 columns)·ledger schema errors: 0·pp100 schema errors: 0·cross-check errors: 0·ledger rows 84, pp100 items 52, images referenced 39, images present 39·RESULT: PASS. The three-option rows pass the contract (PP-47's row: option_a metamorphic · option_b sedimentary · option_c igneous · correct_answer B; option_d empty). - Fresh bundle
blind/2026-10-02-v3/: 108 MCQ, 3 typed, 1 FRQ, 2 multi (114 held).
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
| Where | Lines read | Split / rewritten | What changed |
|---|---|---|---|
| PP-02, 29, 30 stems | 6 | 0 | two sentences each: the close-up and its stone named, then the one question; "the stone" repeated, never "it" |
| PP-37 stem, options, why | 2 + 4 + 3 | 1 | the 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 whys | 2 + 5 | 0 | "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.
| where | finding | rule broken | severity | the rewrite |
|---|---|---|---|---|
| L02 article after the slate line; PP-27 card | shale also splits into sheets and Topic 18 keyed it sedimentary; no boundary sentence | boundary section; category definition | Essential | L02: "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 option | options a child can act on | Worth fixing (James's Q1) | three options |
| claim items topic-wide | Jasper wrong 7 of 7 | keys spread; name tell | Worth fixing | L04 q9 to Jasper as a TRUE claim (natural gas in the spaces: yes); PP-35 to Jada |
| L04 q6 | slate roof answered by the article line and the L01 photo | fresh instance | Worth 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 distractors | one word for one thing; check 74 | Worth 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 descriptor | coined term recapped on first reuse | Worth fixing | "locked together in a jumble, with no bands at all" |
| L01 script beats 1, 3; L02 script beats 1, 4, 5 | the jumble never spoken (q5, LOOK3 need it); shale → slate never spoken (q3, PP-08 / 22 / 40 need it) | video / article parity | Worth fixing | the reviewer's beats (149 words each) |
| PP-23 options | key two-clause and longest | check 47 | Worth 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 reading | second everyday reading | Worth 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 limestone | the course against itself | Worth 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.
- clipPath ids collide across figures on one page (page-breaking).
look_boxwrites<clipPath id="c<seed>">; seeds 3, 4 and 6 recur acrosspair_headache,pair_jumble_bands,pair_sheets_layersandlooks_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, orc<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. - 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 ondrop_card. pp_look_shellsis 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.- 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.
- 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.
| key | kind | used by | verdict | what is wrong | the fix |
|---|---|---|---|---|---|
| pair_headache, pair_bands_layers, pair_sheets_layers | svg | L01 / L03 | PASS alone; FAIL on page | id collision | (1) |
| pair_jumble_bands | svg | L01 | FAIL | gneiss box empty on page; bands not grains | (1), (4) |
| looks_meta | svg | L01, summary | FAIL | slate box empty, gneiss cut | (1) |
| spaces_vs_locked | svg | L04 | PASS | blind count 22 vs 19 | correct |
| clue_cards_four, melt_or_not, sort_table, resource_table_full, pp_table_tv | svg | L02–L04, PP-16 | PASS | — | — |
| q_look_bands / pp_look_bands, q_look_layers, q_look_sheets / pp_look_sheets, q_look_jumble, pp_look_glassy | svg item | L01 quiz / bank | PASS | wave phase; blind wording | vary by seed; reword |
| pp_look_swirls | svg item | PP-18 | WEAK | sparkle as holes | (5) |
| pp_look_shells | svg item | PP-29 | FAIL | teaching box re-used | (3) |
| deep_before / deep_during | svg | L02, summary | PASS | dark band unlabelled | label |
| deep_slate | svg | none | UNPLACED | — | place or delete |
| before_after_marble | svg | L02 | WEAK | regular shell grid; sparkle dots | (3), (5) |
| before_after_slate | svg | L02 | PASS | mud look held | — |
| resource_table_headache | svg | none | PLACE | — | L04 headache |
| q_clue_j / k / l / m, pp_clue_n / p / r / s | svg card | L03 quiz / bank | PASS | text cards | — |
| sponge_glass_card | svg | L04 | PASS | — | — |
| oil_in_spaces | svg | L04 | WEAK | overlapping grains; chip adrift | gap guard; chip by the magnifier |
| q_drop_j, q_drop_k, pp_drop_r, pp_drop_s | svg item | L04 quiz / PP-37, 38 | FAIL | colour tracks key; twins | (2) |
| rule_look / form / sort / spaces | svg | L01–L04 | PASS | — | — |
| gneiss / slate / slate_roof / marble / shale / oil_pump / drops_two_rocks photos | photo | L01–L04 | PASS | — | picture pass |
| marble_quarry_photo, granite_photo, sandstone_photo, limestone_photo | photo | none | UNPLACED | — | place or delete |
| the five cartoons | cartoon | intro–L04 | PASS | — | 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
| Item | Who | Flag | Ruling |
|---|---|---|---|
| L01-03, PP-02 (same drawing), PP-27 | A, B | the 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 items | A, B | fresh instance | re-scene every one |
| gneiss (PP-05, 23, 46); marble, slate first met as keys (L02-02 / 03); granite, limestone, sandstone, "tiny spaces" | A, B | no coining item in the bundle | the 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") | A | defensible unless the lesson rules it out | a lesson line or a different distractor |
| ⟂ | B | PP-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-46 | on the type sheet |
| PP-49 typed "granite" | A, B | a 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.