26 lines
1.4 KiB
Markdown
26 lines
1.4 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 first establishes one `PreparedIdentity` for the report run, report
|
|
and prompt IDs, variant, generation time, units, timezone, valid period,
|
|
location, and source warnings. It passes that identity to the configured module
|
|
snapshot, curated prompt-input package, serialized YAML, generated-text render
|
|
context, and generated-text definition. Each boundary projects only the fields
|
|
it needs from that prepared authority.
|
|
|
|
Preparation deep-copies mutable facts, snapshots, identity, 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.
|