Version 0.55
July 16, 2026
Student card actions recheck safety and policy at commit time
Student use, direct sends, and approval-required send requests now repeat every safety, participant, and card-policy prerequisite inside the atomic write, so a stale page cannot outrun David's latest classroom controls.
Why it matters
- - A simulation lock or disabled student action takes effect before the next card write, even when a student submitted from an older open page.
- - Changing send approval mode cannot let an in-flight action take the old direct-send or request path.
- - A removed classmate, changed student access, or newly restricted card route stops the action before either the card or Activity history changes.
Verification
- - All 480 unit tests pass across 48 files, including stale game safety, approval mode, and template routing decisions.
- - Critical-source coverage passes at 85.39% statements, 72.50% branches, 96.17% functions, and 94.45% lines; actions remain at 94.98% line coverage.
- - Typecheck, zero-warning source and static-security lint, production build, backendless demo, 10 skeleton states, theme contrast, npm audit with zero vulnerabilities, and git diff validation pass.
- - The Version 0.55 draft remains on PI-213 until the exact commit receives staging proof; the canonical ledger follows that proof.
Source: Linear release ledger document, PI-213
- Repeated current game safety, acting-student eligibility, optional recipient eligibility, and template policy reads through each student action transaction.
- Required approval mode to match the path selected before the transaction, aborting when David changes that setting during submission.
- Added game, student owner, and original template identifiers to the exact card compare-and-set guards for use, send, and request reservation.
- Covered transaction-time game-lock, approval-mode, and routing-policy drift with focused no-partial-write regressions.