-
add per-user annotation repos and the cross-repo note write path
-
Hold a price to its own currency's Stripe minimum, not to USD's
-
Let the buyer choose who converts, and the collaborator agree to their split
-
Require CDN_BASE_URL everywhere so no cover URL can expire
-
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
-
Decompose AppState Phase 2: api ownership-helper foundation