← All topics (review home)

Skill: course-build → write-like-james @ c83cbd2 (OPS TASK: packaging of existing content; nothing authored)

Grade 4 Science: the TimeBack package is built and checked. It waits on your word to leave the machine.

_8 October 2026. Synced to Drive and emailed to Aiden and Kirsten at 20:01 on James's word ("Sync and email now", 16:10); see the last section._

The takeaways

Two decisions before the package leaves the machine

1. Do the PP100 banks ship at 30 to 49 items a topic, or do we top them up to 50 first?

The course promised the platform a bank of at least 50 items a topic.

Today the strand tests and the end-of-grade test took 413 bank items for their fixed forms (348 and 65), and a test item is never served as practice, so those items left the PP100 draw.

Every one of the 38 banks is now below 50; the smallest (Topics 13 and 36) hold 30.

My recommendation: ship now. A PP100 of 30 to 49 still draws a fresh test every time; topping up is new authoring and can follow as its own drop, the way Grade 3's 24 test-out items did.

Ship now / Top up first

2. Do the pictures ship as rendered, with the picture pass still running behind?

Every real-world picture in Grade 4 (391 of them) went through David's pack and its independent judge.

287 carry a FAIL verdict, 251 of them on one check: the background is soft-focused, so the picture is not "crisp everywhere". The beaver dam in Topic 26 is one of these: the scene is right, the pond behind it is soft.

The exporter ships whatever picture the figure has, so all 287 are in the package as rendered.

My recommendation: ship as rendered. A soft background is how a photograph looks; the judge's sharpness rule is stricter than a child's eye. The 36 fails that name something other than sharpness (a brake photo with lettering on the arm, for one) go back to the picture pass as retakes, and a retake keeps its file name.

Ship as rendered / Hold the package

_Applied without asking: your 8 Oct ruling that Design and build is a Physics unit (Topics 11 and 12 sit inside Physics; four strands, four strand-test placeholders); the 7 Oct text-is-cheap and fixes-forward rules._

What the package holds

Typed answers carry the widened accept lists Grade 3's do. Written answers carry the model answer and the points line, but no rubric lines: the rubric table was written for Grade 3's items. That is authoring work, listed under what happens next.

What is withheld, and why

Open asks for the platform

These are the asks in TIMEBACK_SCROLL_ASKS.md that Grade 4 now leans on hardest:

The folder you would sync

/Users/jamesmoore/Documents/G3-5 Science/handoff/COURSE_LEDGER_G4/

Sync everything in it except _topics/ (the per-topic cache). A Drive name in Grade 3's pattern would be "Grade 4 Science - TimeBack Scroll (full package, 2026-10-08)".

It is a sibling of Grade 3's folder, not a sub-folder, on purpose: the Grade 3 folder is the one re-synced to Aiden and Kirsten, and a Grade 4 folder inside it would ride along on the next Grade 3 sync without your word.

What happens next

  1. You rule on the two cards. Then you say the word and the folder goes to Drive; the update email to Aiden and Kirsten is a new authorisation, not the Grade 3 one.
  2. The video session points Topic 11 at its live files, and Topics 4 and 17 render; each landing flips five rows, same ids.
  3. Grade 4's written-answer rubrics are authored (70 items) and the ledger is re-run; the rows keep their ids.
  4. When the platform answers ask 13, the five tests go in and the five placeholder rows come out.
Depth: counts
WhatCount
Topics / lessons38 / 162
Ledger rows3,417 (885 lesson, 1,335 mcq, 1,035 cloze, 162 frq)
Lesson rows with a video223 of 238 wanted (15 waiting: Topics 4, 11, 17)
Lesson rows text-only662 (later readings of split articles, the 15 above, 4 strand intros, 5 test placeholders)
PP100 bank items1,573 across 38 topics; 30 to 49 a topic
Bank items withdrawn to tests413 (348 strand tests, 65 end-of-grade)
Bank items with no platform type11 reorder (out); 34 multi-select (in as pair MCQ)
Typed-answer rows92 in the ledger, 158 in the bank
Written-answer rows70, model answer and points line, no rubric
Images1,263 PNG, every one referenced
Pictures judged / FAIL / FAIL on sharpness only391 / 287 / 251
Register atoms in the ledgerlisted in atom_standards.csv; 4 lessons carry an atom with no standards code yet
Held written test questions30 (24 on the twelve strand forms, 6 on the three grade-test forms)
Depth: validator and checks run

`

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 3417, pp100 items 1573, images referenced 1263, images present 1263

RESULT: PASS

`

Depth: tool-side changes made today (uncommitted, for the next commit)
Depth: the package tree

`

handoff/COURSE_LEDGER_G4/

g4-science.activity-ledger-v3.csv

g4-science.pp100-bank-v1.csv

atom_standards.csv

lesson_standards_G4.csv

VIDEO_IDS.md

BUILD_REPORT.md

validate_export.py

contract/ the two schemas and two templates

images/ 1,263 PNG (git-ignored)

videos/ 223 relative symlinks + .metadata_never_index (git-ignored)

_topics/ per-topic export cache (git-ignored; do not sync)

`

Synced and emailed (8 October 2026)

On James's word ("Sync and email now", 16:10), the package went to a new Drive folder beside Grade 3's, "Grade 4 Science - TimeBack Scroll (full package, 2026-10-08)", everything in handoff/COURSE_LEDGER_G4/ except _topics/, with the video links copied as files. The copy ran from 17:26 to 19:56 (one restart at 18:56 after the background time limit; the checksum pass carried on from file 853) and the videos/ folder was re-synced at 19:56 so Topic 5 Lesson 1 carries the fresh render (md5 1e1eb12d…). Verified: 1,497 files on Drive, 1,497 local (223 videos, 1,263 images, the two CSVs, the four contract files and the five files beside them); a whole-package checksum check found 0 differences, 1,497 matching; six spot md5s (three videos, three images) all match the local masters. The Grade 3 folder was not touched (280 videos, as before). The email went to Aiden and Kirsten at 20:01 via Mail.app from james.moore@alpha.school; its text is handoff/COURSE_LEDGER/DROP_NOTES/2026-10-08_grade4_package_email.md. It names the folder, what to import, what is withheld (the five tests, Topic 4 Lesson 2's fresh render tonight, the fifteen lessons and four strand intros without video, and the PP100 banks growing in a follow-up because the test items go back into them), and the four platform asks. Still owed after this drop: Topic 4's five videos landed locally after the 11:57 export and are not yet linked in the package; the next ledger re-run picks them up.

Follow-up update (8 October 2026, late)

The follow-up the 20:01 email promised. The export was re-run the same way (build_tools_course_ledger.py --grade=4 --out=handoff/COURSE_LEDGER_G4, 20:18 to 20:24), the validator passed, the package was re-synced to the same Drive folder, and the email went to Aiden and Kirsten at 20:34. Nothing under grade4/strand_tests/ or grade4/grade_test/ was touched, and the PP100 banks have not yet taken the test items back.

What changed since the 11:57 export

Counts verified

Still owed after this drop: Topic 11's rows already point at the demo renders, so the fifteen "no video yet" lessons named in the 20:01 email are down to none, and only the four strand intros remain text-only; the five tests wait for a slot; the PP100 bank top-up (test items returning to the banks) comes in a later update with its own email.