Generate Daily reports through scriptorium

This commit is contained in:
2026-05-29 17:47:42 +00:00
parent 7ac73f758b
commit b17a3591e0
14 changed files with 543 additions and 113 deletions

View File

@@ -2,15 +2,15 @@
## Normal Workflow
The implemented preparation workflow is:
The implemented Daily generation workflow is:
```text
weatherreporter generate daily --date 2026-05-29
```
The command fetches weather data, builds the Daily briefing, builds the prompt
input data package, runs `scriptorium render`, and writes inspectable artifacts
under the configured workspace.
input data package, runs `scriptorium render`, runs `scriptorium run`, and
writes inspectable artifacts under the configured workspace.
## Filesystem Layout
@@ -36,8 +36,8 @@ workspace/
<run_id>.md
```
The report path is reserved in metadata for the eventual rendered report. The
current workflow does not write the Markdown report.
The Markdown report is written to the managed report path. When `--out` is
provided, the managed report is also copied to that path.
## Run Identifiers
@@ -52,7 +52,7 @@ date do not overwrite each other.
## Metadata
Each Daily preparation writes metadata that links:
Each Daily generation writes metadata that links:
- RunID
- report ID and prompt ID
@@ -61,7 +61,7 @@ Each Daily preparation writes metadata that links:
- briefing snapshot path
- prompt input data package path
- preflight output path
- reserved rendered report path
- rendered report path
## Recovery
@@ -69,5 +69,9 @@ If render preflight exits nonzero after producing a result, the captured stdout,
stderr, exit code, and command are still written to the preflight artifact, and
metadata is still written for inspection.
If `scriptorium run` exits nonzero after writing a report, the generated report
and metadata remain available for inspection. Exit code `2` is still returned as
an error because it indicates validation failed, even if report output exists.
The application does not currently implement resume, cleanup, archive, or
remote storage behavior.