Version 0.18
July 4, 2026
Safer student sends and Bank routing
Student card sends are safer during class, policy-limited card actions stay hidden, eligible cards can route to David or Bank, and teacher desks do less unnecessary loading work.
Why it matters
- - Students must choose David, Bank, or a classmate before sending a card.
- - Stale or duplicate send forms are blocked so classroom card state stays trustworthy.
- - David sees Bank cards separately from his reserve instead of mixing both piles together.
- - David can search the selected game roster and a student's current inventory before moving, using, restoring, archiving, or banking cards.
- - Card metadata can hide student Use/send actions without changing the Appwrite schema.
- - Students who join with a preseeded email attach to the prepared roster row instead of creating a duplicate.
- - Teacher and student desk data paths avoid extra Appwrite reads and repeated scans where safe.
Verification
- - Typecheck and lint passed from the clean non-iCloud checkout.
- - Source scans confirmed the old student undo-send strings are gone.
- - The Linear release ledger was updated before this public page entry.
Source: Linear release ledger document, CS-89, CS-150, CS-151, CS-152
- Added server-side card policy checks for student use, student sends, teacher mark-used, teacher transfer, and transfer approval.
- Removed student-side send undo from the visible flow; students now ask David to correct sends from the teacher desk.
- Added stale-send snapshot checks and duplicate pending request detection for student sends.
- Added policy-driven David, Bank, and classmate send targets in the student inventory.
- Split David reserve and Bank piles on the selected game desk, including a Move to Bank control for eligible reserve cards.
- Added roster and selected-student card search to the game desk, and broadened Cards library search to include description, symbol, metadata, source, role, policy, and page data.
- Updated class-code joining so preseeded email rows can receive the student's Appwrite account and pending approval status.
- Pulled in the performance pass for game shelf summaries, field projections, one-pass counts, and narrower student template loading.