personal memory agent

feat(news): adopt the day axis master

News joins the house day-axis vocabulary with a cross-facet /app/news/<day> view, date-nav opt-in, and the shared DayGrid on the index in navigate mode. Fix two surface defects: _list_newsletters sorted facets descending within a day despite its ascending docstring because the second sort re-sorted on the same primary key, and a missing newsletter for a valid facet/day now returns an honest empty state instead of a 404. api_state is bounded to the 60 newest newsletters while total_count carries the full list size. Three existing tests changed because the behavior changed: the state payload key set gained total_count, the missing-detail test now expects a 200 empty state, and the date-nav adopter roster gained news after removing the explicit assertion that news had no date_nav config. No shared component was modified; solstone/convey/day_grid.py, date_nav.py, and the static day-grid/date-nav JS/CSS remain untouched. News is a config-and-routes adopter. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>