36e93be79b5b8b19b4f74e6f37a2f94fea7ca30f
A lesson's `keys` was capped at two outright, which made it impossible to write "K, with the four keys before it still in play". The cap now counts only what is *new*; keys already taught can be listed freely, and the spotlight falls on the new ones alone, so a lesson titled "K" drills K instead of spreading itself evenly over all five keys it names. A round that introduces nothing new still spotlights its whole list - that is the "mixed" replay, unchanged. Also documents `unlocks:` paths as relative to the library root. Absolute and "~" paths still resolve, so an existing file keeps working, but a relative path survives moving the library. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Description
No description provided
Languages
Jupyter Notebook
64%
Python
24.4%
C++
7%
C
4.6%