What to build: On a Volume's edit form the user can record Readings — one per pass through the Volume, each with an optional start and finish that may be a full date or just a year ("read this around 2010" must be representable; so must "read it, no idea when"). Multiple Readings per Volume are natural (re-reads). The Volume's read status stays exactly as it is today: a manually set current-state flag, not derived from Readings.
The authenticated stats page gains a books-read-per-year chart computed from finished Readings; year-only Readings count in their year. Readings are private: they appear in no public payload (a server-side aggregate for public stats is a possible future, per the design review — not this ticket).
Backups must include Readings.
Blocked by: None — can start immediately.
Status: ready-for-agent
and edited or removed later
only)