Skill: write-video-script → video-brief · write-lesson (the sweep) · vault-sync @ f89ba26
The four Grade 3 opening intros, re-authored without the word "strand" (30 Sep 2026, v2 — after your 18:00 ruling)
Your words, 30 Sep 18:00: "never use the word strand for a student — immediately block those lessons from publish and reauthor — do not show the videos until that strand word is removed."
What happened
- Blocked. The Physics and Matter intros rendered this afternoon say "This strand is about…". Both videos are withdrawn (
handoff/STRAND_INTROS/videos/withdrawn/BLOCKED_strand_word/). Nothing is on the site or in TimeBack. - The word is banned for students, everywhere. Not just the four intros: every script line, on-screen text, article line, caption, figure alt text, question, reply and title, and every title or objective that reaches the platform export. Staff documents keep it as an internal word.
- A checker now enforces it. Sweep S37 in
build_tools_check_topic.pyFAILS a topic on the word (any case, singular or plural) in any student-facing string. Run on all 42 topics: 10 hits in 4 topics before, 0 after, and 0 FAIL on every topic. - The four scripts continue the story instead of describing the course. The map beat is now the story's next line — "To find out, we will look at…" — naming the subject in a child's words. Same one-scene stories, same rules (at most 120 words, one scene, at most three question marks with the ready line, connectives, coins nothing, teaches nothing, names no topic, no hands).
- Their student-facing title is now "Before we start: Physics" (Matter / Earth and Space / Living things) — on the topic pages' cards and in the course ledger. The test placeholders read "PLACEHOLDER: End of Physics test".
- A fresh batch is pre-flighted and NOT sent:
handoff/STRAND_INTROS/videos/batch_G3_INTROS_v3.json(0 occurrences of the word; check_brief: only the standing R79 intro hit per entry). It waits for your go. - Vault:
10 Rules/Students never see the word strand.md(your words as origin; scope: every student-facing string including platform titles; staff documents may use it; checks: S37 and a ledger grep), plus a line in write-lesson's Grade 3-5 language rules and write-video-script's elementary section. Commits 835d45b, f89ba26 (not pushed).
Every S37 hit, before → after
| Topic | Where | Before | After |
|---|---|---|---|
| 1 | opening intro, beat 4 (spoken) | This strand is about how things move. What pushes and pulls them, and the sound and light around us. | To find out, we will look at how things move, what pushes and pulls them, and the sound and light around us. |
| 16 | opening intro, beat 4 (spoken) | This strand is about stuff. What it's made of, describing and measuring it, and what heating and cooling do to it. | To find out, we will look at what stuff is made of, how to describe and measure it, and what heating and cooling do to it. |
| 42 | summary video, beat 13 (spoken) | And that's the end of the Life strand: you have followed living things from what they need… | And that's the end of our lessons on living things: you have followed them from what they need, through how they grow and respond, to how they live together and cope when their world changes. |
| 42 | summary video, beat 13 (on screen) | a wide picture of every living thing from the strand's topics | a wide picture of every living thing from these topics |
| 6 | intro beat 6, L02 beats 5–6, L03 beat 7 (on-screen directions) | "hair strands", "the rising strands", "the strands" | "hairs", "the rising hairs", "the hairs" |
| 6 | figure alt text balloon_hair_rises, v_balloon_hair (and their blind notes and image briefs) | her hair strands stand up toward the balloon | her hairs stand up toward the balloon |
Topic 6's hits are the other sense of the word (a strand of hair). The check is blind to sense, so the plainer word goes in rather than an exception. Every other occurrence in the 42 topic modules is a comment, a docstring or an author-facing note (staff words; left).
Also cleaned, not S37 hits: the four topic pages' cards ("Physics strand intro video" → "Before we start: Physics (video)"), a Topic 32 author note on the review page, and the course ledger's titles (below).
The four scripts — before → after
Physics — opens Topic 1 (Topics 1 to 15) · student title Before we start: Physics · 112 spoken words · 3 question marks incl. the ready line · one scene · grade3/topic01_build/content/G3T01.py · batch slug G3-PHYSICS-INTRO
Before (the map beat as rendered / batched this afternoon): This strand is about how things move. What pushes and pulls them, and the sound and light around us.
After (30 Sep, v2):
| # | Narration | On screen |
|---|---|---|
| 1 | Here's a roller coaster. A car full of children creeps slowly up the first big hill. Then it tips over the top and races down. | a fairground roller coaster seen from the side: a chain pulls the car of children up the first tall hill; the children are whole figures, seated, plain oblong arms raised, no fingers, no close-up faces; the car tips over the top and races down into the dip; no title slide |
| 2 | Nobody is pushing it, yet it goes faster and faster, round the loop and up the next hill. So how fast is it going, and what makes it race like that? How will it ever stop? | the same track: the car flies through the loop and climbs the next hill; two question marks appear above the track, one at a time |
| 3 | And down in the line, you hear every scream, and at night you see its lights from across the town. | the same fair, now at night: the coaster's lights glow; a line of children waits on the ground below, whole figures; small arcs drift from the track toward them |
| 4 | To find out, we will look at how things move, what pushes and pulls them, and the sound and light around us. | the lit roller coaster holds; the car keeps moving along the track |
| 5 | Okay, so are you ready to get things moving? | the three replies appear |
Ready line: "Okay, so are you ready to get things moving?" Poll: Are you ready to get things moving? — Yes, let's go! / Not sure yet / Let me watch that again. Every reply is accepted; the middle one says "That's fine. We start small and take it one step at a time.".
Matter — opens Topic 16 (Topics 16 to 21) · student title Before we start: Matter · 109 spoken words · 3 question marks incl. the ready line · one scene · grade3/topic16_build/content/G3T16.py · batch slug G3-MATTER-INTRO
Before (the map beat as rendered / batched this afternoon): This strand is about stuff. What it's made of, describing and measuring it, and what heating and cooling do to it.
After (30 Sep, v2):
| # | Narration | On screen |
|---|---|---|
| 1 | Here's a chocolate factory. In the morning, the chocolate arrives as huge hard blocks. But by lunchtime, it's a warm brown river, pouring into rows of little moulds. | a factory floor seen from the side: a stack of big hard brown blocks on the left; a pipe pours a thick brown stream into a row of small moulds on a moving belt; no people; no title slide |
| 2 | Then the moulds roll through a cold tunnel, and out come hard bars, every one the same. | the belt carries the filled moulds into a pale blue tunnel; out the other end come wrapped bars, all identical, sliding into a box |
| 3 | Same chocolate, all day. So what happened to it when it got warm, and when it got cold? And is a pouring river of chocolate still chocolate? | the block, the pouring stream and a finished bar glow in turn; question marks appear one at a time |
| 4 | To find out, we will look at what stuff is made of, how to describe and measure it, and what heating and cooling do to it. | the whole factory line holds, the stream still pouring |
| 5 | Okay, so are you ready to explore the stuff around you? | the three replies appear |
Ready line: "Okay, so are you ready to explore the stuff around you?" Poll: Are you ready to explore the stuff around you? — Yes, let's go! / Not sure yet / Let me watch that again. Every reply is accepted; the middle one says "That's fine. We start small and take it one step at a time.".
Earth & Space — opens Topic 22 (Topics 22 to 31) · student title Before we start: Earth and Space · 105 spoken words · 3 question marks incl. the ready line · one scene · grade3/topic22_build/content/G3T22.py · batch slug G3-EARTH-INTRO
Before (the map beat as rendered / batched this afternoon): This strand is about Earth and what's around it. The weather, the ground under us, and the sky above. (v2 batch; the module already carried the story form when the ruling came)
After (30 Sep, v2):
| # | Narration | On screen |
|---|---|---|
| 1 | Here's a family camping high on a mountain. The night sky is full of stars, more than anyone could count, and the ground under the tent is cold, hard rock. | a mountainside at night: a tent, a small campfire, a family of whole figures sitting beside it with plain oblong arms, no close-up faces; a sky packed with stars; the rocky ground drawn under the tent; no title slide |
| 2 | Then a voice on the radio says a big storm will reach the mountain tomorrow. But tonight the sky is perfectly clear. | a small radio beside the fire glows; a few wavy lines come from it; the sky stays clear and starry |
| 3 | So how can anyone know what tomorrow's weather will be? How much rain is coming, and what will it do to this mountain? | the same scene: a dark cloud edge creeps in from one side of the sky; two question marks appear, one over the sky, one over the slope |
| 4 | To find out, we will look at the weather, the ground under our feet, and the sky above us. | the campsite holds; stars on one side of the sky, the cloud edge on the other |
| 5 | Okay, so are you ready to explore Earth and the sky? | the three replies appear |
Ready line: "Okay, so are you ready to explore Earth and the sky?" Poll: Are you ready to explore Earth and the sky? — Yes, let's go! / Not sure yet / Let me watch that again. Every reply is accepted; the middle one says "That's fine. We start small and take it one step at a time.".
Life — opens Topic 32 (Topics 32 to 42) · student title Before we start: Living things · 105 spoken words · 3 question marks incl. the ready line · one scene · grade3/topic32_build/content/G3T32.py · batch slug G3-LIFE-INTRO
Before (the map beat as rendered / batched this afternoon): This strand is about living things: plants, animals and you. What they need, how they grow and change, and how they depend on each other. (v2 batch; the module already carried the story form when the ruling came)
After (30 Sep, v2):
| # | Narration | On screen |
|---|---|---|
| 1 | Here's a rainforest. Giant trees reach up for the light. A monkey swings through them, and a frog as small as a coin sits on a leaf. | a rainforest seen from the ground: tall trunks, a bright gap of sky above; a monkey swings from a branch, a whole figure with plain oblong arms, no fingers; a tiny green frog on a big leaf; no title slide |
| 2 | Every one of them is alive, and every one is busy staying alive. So what does the tree need, and what does the monkey need? | the tree, the monkey and the frog glow in turn; two question marks appear |
| 3 | And if these trees were cut down, what would happen to the monkey, the frog, and everything else here? | the same forest: the tree trunks fade to pale outlines; the monkey and the frog stay; one big question mark |
| 4 | To find out, we will look at what plants and animals need, how they grow and change, and how they depend on each other. | the trees return to full colour; the whole forest holds |
| 5 | Okay, so are you ready to meet the living world? | the three replies appear |
Ready line: "Okay, so are you ready to meet the living world?" Poll: Are you ready to meet the living world? — Yes, let's go! / Not sure yet / Let me watch that again. Every reply is accepted; the middle one says "That's fine. We start small and take it one step at a time.".
The plain title, and where it is used
"Before we start: <subject>" — Physics, Matter, Earth and Space, Living things. One form for all four. It is the STRAND_INTRO_TITLE constant beside each script (G3T01.py, G3T16.py, G3T22.py, G3T32.py); the topic pages' cards (add_strand_intro.py) and the course ledger read it from there. In the ledger (build_tools_course_ledger.py): topic_title and atom_title "Before we start: Physics"; element_title "Before we start: Physics (video not yet made)" and "Before we start: Physics — ready?" for the poll; atom_objective "Meet Physics before its first topic…"; test rows "PLACEHOLDER: End of Physics test" and "PLACEHOLDER: End of Grade 3 Science test". A grep of the rebuilt ledger's student-facing columns (element_title, prompt, script, options, feedback, atom_title, atom_objective, topic_title, lesson body) finds the word in no row. The per-topic exporter (build_tools_export_timeback.py) never wrote it to a student column; its README to the platform team keeps it as a staff word, and the Scroll handoff's takeaways now carry the line: "Students never see the word 'strand'; in student-facing titles the four are named by subject (Physics, Matter, Earth and Space, Living things)."
The batch (not sent)
handoff/STRAND_INTROS/videos/batch_G3_INTROS_v3.json — four entries in the v2 shape (slugs unchanged; slugs are internal), prompts rebuilt from the modules: brief line 1 names the video by its student title, the map beat is PROTECTED as one story sentence, the course field reads "Grade 3 Science: Physics (Topics 1 to 15)". grep -ci strand on the file: 0. check_brief.py: every entry ✗ 1 — the standing closing: no closing screen text as short bullets (R79) that stands on every intro — and a non-counted note that three question marks is at the limit. (check_brief was counting the ready line twice, once in the steps and once in the Ending line; fixed in the vault, f89ba26.) READY.md beside it is updated. Nothing has been sent; no session has been messaged.
What I need from you
- A yes to send
batch_G3_INTROS_v3.jsonto the Peps session (four videos). - Nothing else: every ruling above is applied. The two withdrawn renders stay in
withdrawn/BLOCKED_strand_word/for the record.
Checks run
- S37 on all 42 topic modules: 0 hits; 0 FAIL on every topic (Topic 15's one pre-existing FAIL, a 24-word idea line in L03, trimmed to 21 words on the way).
- Word counts 105–112, question marks 3 in each (the ready line included), one scene, no coining, no topic named, no hands.
- Blueprint checkers untouched. Topic pages 1, 16, 22, 32, 42 rebuilt with their cards; each page has 0 occurrences of the word.
- Course ledger rebuilt: validator PASS (four orphan Topic 23 images, rendered for items since cut, are now dropped by the tool instead of by hand).