Decide quiet-hours AI summaries: supplement vs replace #19

Closed
opened 2026-06-23 23:15:28 +00:00 by rbrooks · 2 comments
Owner

Target release: v1.3.0

Decide whether AI quiet-hours summaries should supplement or replace raw non-critical products during quiet hours, then implement the chosen behavior.

Source: docs/ROADMAP.md → Local LLM Alert Summarization → "Post-Phase 3 candidates".

**Target release:** v1.3.0 Decide whether AI quiet-hours summaries should **supplement** or **replace** raw non-critical products during quiet hours, then implement the chosen behavior. Source: `docs/ROADMAP.md` → Local LLM Alert Summarization → "Post-Phase 3 candidates".
Contributor

Decision (quiet-hours: supplement vs replace)

Decision: REPLACE during quiet hours — for non-critical products in quiet hours, send the concise AI summary instead of the raw verbose product text (less noise, the whole point of quiet-hours digesting). Critical/warning-class alerts always send in full regardless of quiet hours (never replaced). Made configurable via QUIET_HOURS_AI_MODE (replace default | supplement) so an operator who prefers both can switch. Implemented with #21 in the v1.3.0 summarizer phase.

## Decision (quiet-hours: supplement vs replace) **Decision: REPLACE** during quiet hours — for non-critical products in quiet hours, send the concise AI summary *instead of* the raw verbose product text (less noise, the whole point of quiet-hours digesting). **Critical/warning-class alerts always send in full regardless of quiet hours** (never replaced). Made configurable via `QUIET_HOURS_AI_MODE` (`replace` default | `supplement`) so an operator who prefers both can switch. Implemented with #21 in the v1.3.0 summarizer phase.
Contributor

Implemented in #105 (merged). QUIET_HOURS_AI_MODE (default replace) controls how AI summaries relate to raw non-critical products during quiet hours: replace suppresses the verbose raw alert and sends only the concise AI summary (degrading to today's full suppression when no AI summary is configured — raw verbose text is never sent in quiet hours); supplement sends both. Warning/critical-class alerts bypass quiet hours entirely and are unaffected. The AI follow-up opens its own DB session and never touches SentAlert/outbox/public-page bookkeeping, so the dedup invariant is intact. Factored a pure _quiet_hours_replaces_raw(mode, ai_available) helper for testability.

Implemented in #105 (merged). `QUIET_HOURS_AI_MODE` (default `replace`) controls how AI summaries relate to raw non-critical products during quiet hours: `replace` suppresses the verbose raw alert and sends only the concise AI summary (degrading to today's full suppression when no AI summary is configured — raw verbose text is never sent in quiet hours); `supplement` sends both. Warning/critical-class alerts bypass quiet hours entirely and are unaffected. The AI follow-up opens its own DB session and never touches `SentAlert`/outbox/public-page bookkeeping, so the dedup invariant is intact. Factored a pure `_quiet_hours_replaces_raw(mode, ai_available)` helper for testability.
Sign in to join this conversation.
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
rbrooks/WeatherBot#19
No description provided.