Written for the next session. Read this before touching anything.
State: builds clean, 105 tests pass, corpus and app in sync
(export-machine.py stellar --verify exits 0). **Nothing is committed in either
repo.**
| File | Why |
|---|---|
Data/README.md | Data/*.json is generated. Never hand-edit it. |
docs/reconstruction-notes.md | Ambiguity ledger + the 29 July receive correction. |
docs/rules-intake.md | Rules content staged for The Thread / Tag the Photo. |
Sources/Data/Overlap.swift | The one law. Everything positional derives from it. |
Sources/Data/PointCycle.swift | When the rotation advances, and why. |
~/Developer/PressRaven-Corpus/guides/stellar/entries/*.json Guide config (roster, court_spots, point_cycle, mini_games): guide.json Export: python3 ~/Developer/PressRaven/tools/export-machine.py stellar --write Press Raven's own commit runs git add -A, so it commits whatever is on disk.off-net-left, stack-behind-right). Where she actually stands. 20 of them, in guide.court_spots. - Box — a painted third of the court. Coincides with zone at base, comes apart the moment anybody stretches. Used for the Whiteboard's Part 2 targets.guide.point_cycle and enforced at export.export-machine.py): receive ≠ base zones; any pre-contact overlap fault; a near-miss that names the correct answer; unknown or doubled spot ids; a story citing a missing frame; a point_cycle outcome claiming a rotation the rule forbids.SIMCTL_CHILD_*, DEBUG only): STELLAR_START_MODE · STELLAR_START_ROTATION · STELLAR_START_BRANCH (us/them) · STELLAR_START_BEAT (served/branch/point) · STELLAR_START_PART (live)Approved. **Audit first — this mode has not been opened since the corrections and
reads from data that changed.** Check whether it still works before designing.
Currently "who's in the wrong spot?" (overlap detection). Widen to "what's wrong
with this picture?": overlap faults plus illegal back-row attack, libero
blocking, net touch, centre-line violation. Source: docs/rules-intake.md.
Same recognition skill, larger subject, stops competing with the Whiteboard.
Open question: those faults are actions, not positions, and the court diagram
only shows positions. Decide how an action-fault is depicted before authoring a
bank.
Approved. The Thread already asks "ours, or not ours?" — extend to "legal, or
not?". Its FormationEntry.Tier already has a .overlap tier that is authored
but thin; a .rules tier is the natural third.
A run should continue point after point until we win the serve, so she
sometimes waits three points to rotate. Needs:
pointTo + servedBy so the impossible pairings cannot be authored at all (currently we-won / we-won-holding / they-won, which allowed the rally-03 bug).Annotation #10 was truncated mid-sentence. She said "Show me" vs "Play it out" is
confusing and began listing a replacement set; only item 1 (Check) arrived. Ask
for the rest before touching the control row.
I built and screenshotted these but never dragged a token through a full turn.
Test before building on them:
1. R1 defense keeps RS front-left, skipping the switch. R4 has the same base
and is switched. Deliberate or a drawing slip? Flagged conflicted.
2. R3 / R6 libero serve split — middle serves R3, libero serves R6. Coherent
and rule-consistent, still unconfirmed.
3. Setting technique — the supplied material contradicted itself three times
(arm extension, facing the target, over-setting). Cut rather than resolved.
Which source is hers?
free-ball / transition / coverage / dig-deep shapes are standard positioning I authored, not read off any handout (confidence 78).git push fails with "No configured push destination". To fix: gh repo create sarahewilkerson/Stellar --private --source=. --remote=origin --push Private matters — art/avatars/ holds seven photos of real 13-year-olds, named.origin (private GitHub) and commits fine from the Press Raven app.PressRaven-Corpus/.backups/stellar-2026-07-29-pre-rotation-fix (gitignored).mini_games list still advertises the-streak and show-up-or-lose-it, which no longer exist in the app. Harmless — nothing exports from them — but tidy when convenient. **where-am-i and called-shot are now in the same state**, retired from the app this session.Rotation correction (4 broken receive formations), zone/spot/box model, overlap
validator + 4 export invariants, Whiteboard rebuilt as a two-part turn with
action slides, point cycle in the corpus, The Rally built then reworked to a
completion task, Where Am I? and Called Shot retired.
Full write-up: docs/reviews/2026-07-29-rotation-correction.html.