21 lines
1.1 KiB
Markdown
21 lines
1.1 KiB
Markdown
# Prepared Report Internals
|
|
|
|
`internal/app` builds a `preparedReport` after collection and before profile
|
|
execution. This is the immutable boundary shared by ordinary report generation
|
|
and profile comparison; it is not a durable artifact.
|
|
|
|
Preparation builds report facts, the configured module snapshot, briefing
|
|
metadata, the curated prompt-input package, serialized YAML, and the
|
|
generated-text definition. It deep-copies mutable facts, snapshots, metadata,
|
|
and data-package bytes before returning them. Consumers receive independent
|
|
copies so one execution cannot change another's input or rendering context.
|
|
|
|
Single-report generation executes one prepared profile and publishes its
|
|
Markdown. Comparison prepares once, gives every selected profile the same YAML
|
|
bytes, and only then assembles the resulting logical bundle. The prompt-input
|
|
shape is owned by [prompt-input internals](prompt-input.md); profile execution
|
|
semantics are owned by [Promptkit integration](../integrations/promptkit.md).
|
|
|
|
Preparation failure has no publication side effects. Tests for this boundary
|
|
cover mutation isolation, byte equality, and reuse by both execution paths.
|