-
server: adopt lint block, fix clippy, fmt
-
Format the tree with rustfmt and add the lint + supply-chain gates
-
Decompose AppState Phase 2: migrate remaining api top-level + exports
-
server: gallery/carousel, promo-validator, fuzz #11/#12 remediations, embed port, observability
-
R27-UX-M3: AppError::Validation now carries per-field errors