-
server: adopt lint block, fix clippy, fmt
-
Format the tree with rustfmt and add the lint + supply-chain gates
-
audit Run 15 Phase 2: security fixes
-
audit Run 14 Phase 3: adversarial CSV import tests
-
Fix all-free cart promo reservation and CSV negative-subdollar parse
-
server: gallery/carousel, promo-validator, fuzz #11/#12 remediations, embed port, observability
-
R27-UX-M3: AppError::Validation now carries per-field errors