-
Require CDN_BASE_URL everywhere so no cover URL can expire
-
Exorcise sweep: strip AI tells from server copy, comments, and docs
-
server: adopt lint block, fix clippy, fmt
-
Format the tree with rustfmt and add the lint + supply-chain gates
-
Decompose AppState Phase 3: clear handler holdouts
-
Decompose AppState Phase 2: migrate remaining api top-level + exports
-
Decompose AppState Phase 2: api ownership-helper foundation
-
Remediate audit Run 21 findings across server
-
security: owner-scope blog/item mutations, polyglot + moderation tests
-
ux: friendly errors for validated extractors, widen hide/strobe guards, posture+clamp fixes
-
server: collapse slug allocation into insert_with_unique_slug (ultra-fuzz Run #1 --deep Phase 5)
-
server: landing "Last shipped" velocity line + show_on_landing
-
R27-UX-M3: AppError::Validation now carries per-field errors