Add an LLM fact-check pass over the generated briefing

After summarisation the report is verified against the collected
payload (numbers, directions, unsupported claims) by a second LLM call
with a Verification JSON schema. Major issues trigger one revision and
a re-check; minor-only verdicts are normalized to ok. Failures never
block delivery. The verdict is stored in the result JSON and shown on
the dashboard (badge + 검증 메모). Disable with US2KR_VERIFY_ENABLED.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
jsahn
2026-09-01 10:37:39 +09:00
co-authored by Claude Fable 5
parent 449b6d8ca3
commit ed48f4c96b
13 changed files with 499 additions and 47 deletions
+23
View File
@@ -227,6 +227,29 @@ button[aria-pressed="true"] { background: var(--grid); }
.summary-block ul { margin: 0; padding-left: 18px; }
.summary-block li { margin: 2px 0; }
.verify-memo {
border: 1px dashed var(--baseline);
border-radius: 10px;
padding: 10px 14px;
margin: 0 0 14px;
font-size: 12.5px;
}
.verify-memo h3 { font-size: 12.5px; margin: 0 0 4px; color: var(--muted); font-weight: 650; }
.verify-memo ul { margin: 0; padding-left: 4px; list-style: none; }
.verify-memo li { margin: 3px 0; }
.verify-severity {
display: inline-block;
font-size: 11px;
font-weight: 600;
border-radius: 20px;
padding: 0 7px;
margin-right: 6px;
}
.verify-severity.major { background: var(--badge-err-bg); color: var(--badge-err-ink); }
.verify-severity.minor { background: var(--badge-warn-bg); color: var(--badge-warn-ink); }
.verify-claim { color: var(--ink); }
.verify-problem { color: var(--ink-2); }
/* ------------------------------------------------------------------ report */
.report-meta { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; font-size: 12.5px; color: var(--ink-2); margin-bottom: 4px; }
.markdown { max-width: 76ch; }