Turns Daybook into a multi-user tool and reworks the feed UI:
- Multi-user: Django session login (username/password + remember-me),
per-user personal API tokens (DRF authtoken), whole app gated behind
login. Each artifact has an owner; feeds are private per user.
- Rename persona -> source (free-text label for whatever posted an
artifact: agent-profile, script, or person). source + tags form one
unified label system; single label filter matches tags, source has
its own filter/column/sidebar.
- Settings area (gear/user menu, top-right): Account (view/regenerate
token) and Demo Data (in-app button seeding one artifact per kind).
User account management via Django admin (superusers only).
- Feed rework: rolling 7-day window with sticky inline date separators
and infinite scroll; left sidebar is now a Sources list with per-source
unread counts; artifact type shown as text after title; source in its
own column.
- Unread tracking: read_at on Artifact, marked read when previewed,
bold titles for unread, sidebar unread badges, old banner removed.
- Tag colours: global shared registry, hash-based default with optional
per-tag override via tag_colors on POST/PATCH.
- Ingest: token resolves owner; same source name under two users' tokens
stays isolated. daybook_post.py renamed persona->source, requires a
real token, --check accepts a bearer token. Docs updated to match.
Migrations 0004-0008 rename persona, add owner (nullable -> backfill to
first superuser -> required), and add read_at. Fresh installs no-op the
backfill.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>