Remove obsolete briefing snapshot artifacts

This commit is contained in:
2026-06-09 21:33:34 +00:00
parent 816cfb24aa
commit 468197f7e0
26 changed files with 154 additions and 1981 deletions

View File

@@ -6,7 +6,7 @@ This document describes the implemented workflow coordinator in `internal/app`.
`internal/app` coordinates the top-level use cases after CLI parsing and config
loading are complete. It resolves report definitions, fetches weather data,
builds collected and derived facts, builds briefing and prompt-input artifacts,
builds collected and derived facts, builds module snapshots and prompt-input artifacts,
invokes Scriptorium through the adapter boundary, optionally notifies
distributor through an app-owned notifier boundary, persists managed state, runs
batches, and reads existing artifacts for inspection.
@@ -18,8 +18,7 @@ Inputs:
- `GenerateRequest` for one report command
- `BatchRequest` for morning or evening batch commands
- `FetchBundleRequest` for explicit bundle fetch and save workflows
- `BriefingRequest` and `ReportRequest` for package-level orchestration tests
and internal composition
- `ReportRequest` for single-report generation
- resolved report definitions from `internal/report`
- weather data bundles from `internal/adapters/weatherapi`
- prior snapshots loaded from `internal/state`
@@ -27,13 +26,13 @@ Inputs:
Outputs:
- generated report results with briefing, data package, preflight, report,
- generated report results with module snapshot, data package, preflight, report,
metadata, prior snapshot, Recent Changes, Scriptorium result details, and
notification result when attempted
- batch summaries with per-report status, artifact paths, error text, and
notification outcome when attempted
- saved Weather API bundle JSON for fetch workflows
- inspection JSON values for reports, metadata, briefings, data packages, prior
- inspection JSON values for reports, metadata, module snapshots, data packages, prior
snapshots, and source provenance
## Boundaries
@@ -72,25 +71,24 @@ Single-report generation follows this order:
4. Fetch a Weather API bundle.
5. Build collected and derived facts once.
6. Execute configured modules and save the module snapshot.
7. Build and save the compatibility briefing snapshot.
8. Compute Recent Changes from structured prior and current module snapshots.
9. Build and save the YAML Scriptorium `data_package`.
10. Run Scriptorium render preflight.
11. Save preflight JSON when a render result is available.
12. Save metadata for inspection.
13. Run Scriptorium report generation to the managed report path.
14. Copy the managed report to the requested `--out` path when provided.
15. Save metadata with the managed report path.
16. If distributor notification is enabled, notify using the managed report
7. Compute Recent Changes from structured prior and current module snapshots.
8. Build and save the YAML Scriptorium `data_package`.
9. Run Scriptorium render preflight.
10. Save preflight JSON when a render result is available.
11. Save metadata for inspection.
12. Run Scriptorium report generation to the managed report path.
13. Copy the managed report to the requested `--out` path when provided.
14. Save metadata with the managed report path.
15. If distributor notification is enabled, notify using the managed report
path as the source file.
17. Save a distributor notification debug artifact and update metadata with its
16. Save a distributor notification debug artifact and update metadata with its
path.
If render preflight returns both a result and an error, preflight JSON and
metadata are persisted before the error is returned. If Scriptorium report
generation returns an error after writing output, the managed report and
metadata remain inspectable. Notification is not attempted after Weather API,
briefing, prompt input, render, Scriptorium run, or metadata-save failures.
module snapshot, prompt input, render, Scriptorium run, or metadata-save failures.
When notification is attempted, the debug artifact records request identity,
including rendered pipeline ID, bundle paths, accepted upload fields,
distributor status fields, raw status report JSON when available, and redacted