Centralize final report finalization

This commit is contained in:
2026-06-15 12:28:54 +00:00
parent a02af0bce0
commit e8f1aa5caf
3 changed files with 223 additions and 72 deletions

View File

@@ -94,12 +94,6 @@ Single-report generation shares this setup:
For `scriptorium_markdown` reports, generation then:
12. Runs Scriptorium report generation to the managed report path.
13. Copies the managed report to the requested `--out` path when provided.
14. Saves metadata with the managed report path.
15. If distributor notification is enabled, notifies using the managed report
path as the source file.
16. Saves a distributor notification debug artifact and updates metadata with
its path.
For `generated_text_template` reports, generation then:
@@ -110,13 +104,17 @@ For `generated_text_template` reports, generation then:
15. Validates and saves normalized generated text.
16. Builds and saves a typed render context.
17. Renders Markdown from the embedded template to the managed report path.
18. Saves final metadata with generated-text paths, render context path, schema
ID, and managed report path.
19. Copies the managed report to the requested `--out` path when provided.
20. If distributor notification is enabled, notifies using the managed report
path as the source file.
21. Saves a distributor notification debug artifact and updates metadata with
its path.
After either mode has produced a managed Markdown report, shared finalization:
1. Copies the managed report to the requested `--out` or `--out-dir` path when
provided.
2. Saves final metadata with the managed report path and any generated-text
artifact paths already produced.
3. If distributor notification is enabled, notifies using the managed report
path as the source file.
4. Saves a distributor notification debug artifact and updates 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