# Design note: group-level LLM summaries **Status:** shipped in 0.4.0; hardened in 0.4.1 and 0.4.2. ## Behaviour (enforced) - Opt-in via `--group-summaries` (requires `--ollama` and grouping enabled). - Eligible groups: `notification_stream` and `daily_editions` only, subject to min size and min usable member summaries. - Group blurbs are an **additional** layer; member entry summaries are never replaced. - Runtime cache is the flat table `group_summary_by_key` (schema v6). - Calls use shared `consume_ollama_stream` with group-specific output/timeout caps. - `max_group_summary_calls` bounds **network attempts** (including retries); cache hits do not consume the budget. - Cache write failures still render the summary and mark the run degraded. - Cache read failures degrade the whole run (exit 2) when the digest remains usable. - Unsupported `group_summary_variant_policy` values other than `primary` are rejected at validation time. ## Non-goals (unchanged) - Embedding / LLM clustering for groups - Undated grouping expansion / undated group blurbs - Writing the unused rich `group_summary_generations` table (created additively for forward compatibility; not used at runtime) - `each` / `shared-identical` variant policies