# Local print selection · paper first, optional offline helper

## Complete paper route

1. Review the school's actual cumulative taught sound–spelling and familiar-word entry, the selected child's current readiness and locally suitable pronunciations. No learner name or assessment data is required here. Unknown print can be read by an adult for meaning; it stays outside independent sampling.
2. Choose one [practice line](PRACTICE-PRINT.md). For every token, consult its **segments and labels** in [pack-data](pack-data.json). All segments must reconstruct the spelling; all labels must have been actually taught with the listed sound value. The /z/ in plays, long e in replay and a values in tall/small (a-aw) and mast (a-ah) have separate labels. A familiar word must be explicitly taught. Do not judge a whole line from its first/target word.
3. If every requirement matches and the child is ready, offer that line and invite meaningful phrased rereading. Record actual independent/assisted/adult-read status only if needed. If no line matches, retain rich adult-read language/composition and teach a locally appropriate prior item or prepare an audited alternative. A local alternative is not falsely scored with this supplied key.

For word-family print, check both code and actually taught word-part knowledge separately. The helper's code match does not establish morpheme mastery. Adult reading can support prefix/suffix meaning reasoning with help disclosed. Held E/F reading and dictation are matched independently; no all-or-nothing gate.

## Optional local helper

This is a small command-line preparation aid, with no browser, network, storage, learner records or generated child product. It reports local declaration matches/omissions; it is not a child reading test or an automatic grade-level programme. [Empty profile template](taught-profile-template.json) has two lists. Fill only labels actually taught; do not add names/private fields. Hyphenated labels are literal sound-value labels, not a diagnosis or hidden readiness tag.

From the project root, requirements-only list:

```sh
python products/curriculum-studio/content/year-2/english/term-1/weeks-05-06/select_print.py --list
```

Copy the template to your approved temporary folder, supply the path to your local declaration and choose a day:

```sh
python products/curriculum-studio/content/year-2/english/term-1/weeks-05-06/select_print.py --profile path/to/local-profile.json --day 21
```

The template is deliberately empty and must not be treated as ready teaching. `--held E` or `--held F` is teacher-only, separate from ordinary list/practice output and first-response exposure. `--family pack` or `--family play` reports constituent matches for that ordinary family; it does not report actual morpheme learning. Dictation targets remain in the separate teacher key even when a requirement match is reported. Neither adult-read rich text nor an empty declaration is labelled independent child reading. Complete paper route above remains equivalent.
