Rifqi Hafizuddin
[KM-644] feat(report): button-triggered report generator + API
1570c5d
Raw
History Blame
503 Bytes
"""Report generator (KM-644).
A button-triggered *service* — not a chat skill, not a slow-path agent. It turns a
session's persisted `AnalysisRecord`s + Problem Statement into a versioned,
business-readable `AnalysisReport`. Architecturally it mirrors the Assembler: one
constrained LLM call (the executive summary) wrapped in deterministic assembly that
copies every other field verbatim from the records (INV-4). Reports are immutable
per version and persisted to the `analysis_reports` table.
"""