read.markets/docs/superpowers/specs
Giorgio Gilestro 2ecf250d53 localization: digest is shared, not per-user (corrected design)
The user pointed out that the only genuinely per-user AI surface is
portfolio analysis. The strategic log AND the email digest are both
shared cycles — generated once per cycle, consumed by many users.

For the digest, this means:
- _generate_variants still produces one English variant per tone (as
  today, unchanged)
- A new helper translates each variant once per active non-en lang in
  parallel via asyncio.gather, producing a {(tone, lang): content}
  table for the duration of the job run
- The per-user send loop selects (user.digest_tone, user.lang),
  falling back to the English variant of the same tone on miss

Translation count per run = tones × non-en active langs = 3 today.
100 Italian users no longer mean 100 translation calls.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-27 16:22:41 +02:00
..
2026-05-25-beta-mode-and-paid-gap-design.md docs: spec for beta indicator + paid/free gap (digests + news cap) 2026-05-25 18:06:15 +02:00
2026-05-27-llm-csv-fallback-parser-design.md docs: refine LLM-CSV spec — keep real sample row, drop user attribution 2026-05-27 11:21:43 +02:00
2026-05-27-localization-italian-design.md localization: digest is shared, not per-user (corrected design) 2026-05-27 16:22:41 +02:00
2026-05-27-manual-portfolio-composition-design.md docs: spec for manual portfolio composition 2026-05-27 14:23:23 +02:00