feat: Follow system + tier config page (M022/S02)

- CreatorFollow model + pure SQL migration 022
- Follow router: POST/DELETE /follows/{creator_id}, GET /follows/me, GET /follows/{id}/status
- follower_count on creator detail endpoint
- Follow button on CreatorDetail (authenticated users only)
- CreatorTiers page with Free/Pro/Premium cards, Coming Soon modals
- Tiers link in creator sidebar nav
- Route /creator/tiers (protected)
This commit is contained in:
jlightner 2026-04-04 07:34:03 +00:00
parent 56920ae7c5
commit 243a7a3eb6
545 changed files with 45459 additions and 29 deletions

View file

@ -2,28 +2,28 @@
**Active Milestone:** M022: Creator Tools & Personality
**Active Slice:** S02: [A] Follow System + Tier UI (Demo Placeholders)
**Phase:** planning
**Phase:** evaluating-gates
**Requirements Status:** 0 active · 0 validated · 0 deferred · 0 out of scope
## Milestone Registry
- ✅ **M001:** Chrysopedia Foundation - Infrastructure, Pipeline Core, and Skeleton UI
- ✅ **M002:** M002:
- ✅ **M003:** M003:
- ✅ **M004:** M004:
- ✅ **M005:** M005:
- ✅ **M006:** M006:
- ✅ **M007:** M007:
- ✅ **M008:** M008:
- ✅ **M001:** Chrysopedia Foundation Infrastructure, Pipeline Core, and Skeleton UI
- ✅ **M002:** M002: Chrysopedia Deployment — GitHub, ub01 Docker Stack, and Production Wiring
- ✅ **M003:** M003: Domain + DNS + Per-Stage LLM Model Routing
- ✅ **M004:** M004: UI Polish, Bug Fixes, Technique Page Redesign, and Article Versioning
- ✅ **M005:** M005: Pipeline Dashboard, Technique Page Redesign, Key Moment Cards
- ✅ **M006:** M006: Admin Nav, Pipeline Log Views, Commit SHA, Tag Polish, Topics Redesign, Footer
- ✅ **M007:** M007: Pipeline Transparency, Auto-Ingest, Admin UX Polish, and Mobile Fixes
- ✅ **M008:** M008: Credibility Debt Cleanup — Broken Links, Test Data, Jargon, Empty Metrics
- ✅ **M009:** Homepage & First Impression
- ✅ **M010:** Discovery, Navigation & Visual Identity
- ✅ **M011:** M011:
- ✅ **M012:** M012:
- ✅ **M013:** M013:
- ✅ **M014:** M014:
- ✅ **M015:** M015:
- ✅ **M016:** M016:
- ✅ **M017:** M017:
- ✅ **M018:** M018:
- ✅ **M011:** M011: Interaction Polish, Navigation & Accessibility
- ✅ **M012:** M012: Multi-Field Composite Search & Sort Controls
- ✅ **M013:** M013: Prompt Quality Toolkit — LLM Fitness, Scoring, and Automated Optimization
- ✅ **M014:** M014: Multi-Source Technique Pages — Nested Sections, Composition, Citations, and Section Search
- ✅ **M015:** M015: Social Proof, Freshness Signals & Admin UX
- ✅ **M016:** M016: Visual Identity & Reading Experience
- ✅ **M017:** M017: Creator Profile Page — Hero, Stats, Featured Technique & Admin Editing
- ✅ **M018:** M018: Phase 2 Research & Documentation — Site Audit and Forgejo Wiki Bootstrap
- ✅ **M019:** Foundations — Auth, Consent & LightRAG
- ✅ **M020:** Core Experiences — Player, Impersonation & Knowledge Routing
- ✅ **M021:** Intelligence Online — Chat, Chapters & Search Cutover
@ -39,4 +39,4 @@
- None
## Next Action
Slice S02 has a plan file but no tasks. Add tasks to the plan.
Evaluate 3 quality gate(s) for S02 before execution.

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Some files were not shown because too many files have changed in this diff Show more