Compare recent changes from module snapshots

This commit is contained in:
2026-06-09 21:20:53 +00:00
parent 479d144592
commit 816cfb24aa
17 changed files with 508 additions and 346 deletions

View File

@@ -4,15 +4,15 @@ This document describes structured Recent Changes comparison.
## Purpose
`internal/changes` compares current and prior briefing packages and emits
`internal/changes` compares current and prior module snapshots and emits
compact change records for prompt input data packages.
## Inputs And Outputs
Inputs:
- prior briefing package
- current briefing package
- prior module snapshot
- current module snapshot
- comparison thresholds from configuration
Outputs:
@@ -22,7 +22,7 @@ Outputs:
## Boundaries
- This package compares structured briefing data only.
- This package compares structured module snapshot data only.
- It does not read filesystem state, find prior snapshots, render Markdown,
invoke Scriptorium, or compare generated report text.
@@ -41,7 +41,7 @@ None.
## State Or Manifest Behavior
None directly. The app loads prior briefing snapshots through `internal/state`
None directly. The app loads prior module snapshots through `internal/state`
before calling comparison functions.
## Skip And Resume Behavior
@@ -51,9 +51,11 @@ empty Recent Changes list without calling a comparison function.
## Failure Behavior
- Daily comparison requires both inputs to contain Daily briefing content.
- 3-Day comparison requires both inputs to contain 3-Day briefing content.
- Weekend comparison requires both inputs to contain Weekend briefing content.
- Daily comparison requires `derived_daily_summary` and
`derived_daypart_summaries` stanzas. It also uses `alert_digest` and
`precip_timing` when present.
- 3-Day comparison requires `derived_daypart_summaries`.
- Weekend comparison requires `derived_daypart_summaries`.
- Storm Report currently has no comparison implementation, so the app leaves
Recent Changes empty for Storm reports.