Source:
Local role:
Builds user-facing diagnostics from ValidationResult.
Big-picture role: Implements motivated rejection support and repair-ready issue suggestions.
Outputs:
DiagnosticEntryDiagnosticReport
Example:
from ometeotl_core.validation.diagnostic import DiagnosticBuilder
builder = DiagnosticBuilder()
report = builder.build(validation_result)
for entry in report.entries:
print(f"[{entry.severity}] {entry.code}: {entry.message}")
if entry.suggestion:
print(f" → {entry.suggestion}")
