Integrate dbn-legal-agent-v2: upgrade all v1 refs + add Korrespond legal-check

- Replace dbn-legal-agent with dbn-legal-agent-v2 in bootstrap.php
  (dbnToolsRunLegalCheck), DeepResearchAgent.php (interpretSeed,
  expandQueries, synthesis fallback, deploy label), BvjAnalyzerAgent.php
  (check_model label) — 8 locations total
- Add dbn-legal-agent-v2 legal threshold check to KorrespondAgent:
  called after selfCheck() in both generate() and refine(); result
  surfaced as legal_check[] in the API response
- Render legal_check card in korrespond.js using existing bvj-red-flag
  styles; shows only when non-empty
- Add .korr-legal-check CSS block in tools.css

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-19 23:59:07 +02:00
parent 29579eae66
commit 0e167bf464
7 changed files with 80 additions and 8 deletions
+19
View File
@@ -7960,3 +7960,22 @@ body.lt-landing {
border-bottom-color: var(--dbn-blue);
}
/* ── Korrespond legal-check card (dbn-legal-agent-v2) ────────────────────── */
.korr-legal-check {
margin-top: 20px;
padding: 14px 16px;
background: rgba(186, 12, 47, 0.04);
border: 1px solid rgba(186, 12, 47, 0.15);
border-radius: 8px;
}
.korr-legal-check__title {
margin: 0 0 10px;
font-size: 0.92rem;
color: var(--ink);
}
.korr-legal-check__title small {
font-weight: 400;
color: var(--muted, #6b7280);
font-size: 0.78em;
}
+32
View File
@@ -574,6 +574,22 @@
${data.disclaimer ? `<p class="upload-hint" style="margin-top:16px;font-style:italic">${esc(data.disclaimer)}</p>` : ''}
${(data.legal_check && data.legal_check.length) ? `
<div class="korr-legal-check">
<h4 class="korr-legal-check__title"> Legal threshold check <small>(dbn-legal-agent-v2)</small></h4>
${data.legal_check.map((f) => `
<div class="bvj-red-flag">
<div class="bvj-red-flag__head">
<div class="bvj-red-flag__desc">${esc(f.description || '')}</div>
<span class="bvj-severity bvj-severity-${esc(f.severity || 'low')}">${esc(f.severity || 'low')}</span>
</div>
${f.legal_basis ? `<span class="bvj-red-flag__legal">${esc(f.legal_basis)}</span>` : ''}
${f.what_to_check ? `<details class="bvj-red-flag__details"><summary>What to verify</summary><p class="bvj-red-flag__check">${esc(f.what_to_check)}</p></details>` : ''}
</div>
`).join('')}
</div>
` : ''}
<section class="korr-refine-panel" id="korrRefinePanel" aria-labelledby="korrRefineTitle">
<h3 id="korrRefineTitle">${esc(t('refine_title'))} <small>${esc(t('one_extra_credit'))}</small></h3>
<p class="upload-hint">${esc(t('refine_hint'))}</p>
@@ -682,6 +698,22 @@
`).join('')}
</div>
</details>` : ''}
${(data.legal_check && data.legal_check.length) ? `
<div class="korr-legal-check">
<h4 class="korr-legal-check__title"> Legal threshold check <small>(dbn-legal-agent-v2)</small></h4>
${data.legal_check.map((f) => `
<div class="bvj-red-flag">
<div class="bvj-red-flag__head">
<div class="bvj-red-flag__desc">${esc(f.description || '')}</div>
<span class="bvj-severity bvj-severity-${esc(f.severity || 'low')}">${esc(f.severity || 'low')}</span>
</div>
${f.legal_basis ? `<span class="bvj-red-flag__legal">${esc(f.legal_basis)}</span>` : ''}
${f.what_to_check ? `<details class="bvj-red-flag__details"><summary>What to verify</summary><p class="bvj-red-flag__check">${esc(f.what_to_check)}</p></details>` : ''}
</div>
`).join('')}
</div>
` : ''}
</div>
`;