Tankōbon / lib/achievements
lib/achievements
When each achievement is earned: pure rules over what the data store holds, so they are unit-tested. Nothing here stores anything; the main process remembers what the renderer reports (achievements:unlock), so an achievement stays earned when the books that earned it are removed.