Rationale Response
data class RationaleResponse(val rationale: String, val confidence: <Error class: unknown class> = 0.7)
What the LLM sends back: the generated rationale prose and its self-reported confidence.
The confidence field defaults to 0.7 when the model omits it and is clamped to 0.0, 1.0 before being written into the RationaleArtifact.