Syntropy.OutputQuality (syntropy v0.1.0)

Copy Markdown

Deterministic post-processing for model output shown in run envelopes.

This module does not judge whether the recommendation is correct. It makes the retained synthesis display-safe, extracts the expected decision-review sections when present, and derives a conservative quality status from existing execution, inquiry, and citation signals.

Summary

Types

output_quality()

@type output_quality() :: %{
  status: String.t(),
  citation_status: String.t() | nil,
  warnings: [String.t()],
  scratchpad_removed: boolean(),
  missing_sections: [String.t()]
}

structured_answer()

@type structured_answer() :: %{
  recommendation: String.t(),
  evidence_backed_findings: [String.t()],
  risks: [String.t()],
  next_actions: [String.t()],
  confidence: String.t(),
  needs_more_evidence: boolean(),
  needs_more_evidence_reason: String.t() | nil,
  raw: String.t()
}

Functions

assess(synthesis, opts \\ [])

@spec assess(
  String.t(),
  keyword()
) :: %{structured_answer: structured_answer(), output_quality: output_quality()}

failed(reason)

@spec failed(term()) :: output_quality()