feat(ca): Finalize v5 pipeline - Hybrid Matrix, CoT Enrichment & User Repair Mode

This commit is contained in:
2026-01-12 15:29:43 +00:00
parent 99b14a8ab0
commit 3dccfd2d2c
15 changed files with 547 additions and 1224 deletions

View File

@@ -27,9 +27,10 @@ const Step3Competitors: React.FC<Step3CompetitorsProps> = ({ candidates, onCandi
fieldConfigs={[
{ key: 'name', label: t.nameLabel, type: 'text' },
{ key: 'url', label: 'URL', type: 'text' },
{ key: 'manual_urls', label: t.manualUrlsLabel, type: 'textarea' },
{ key: 'why', label: t.whyLabel, type: 'textarea' },
]}
newItemTemplate={{ name: '', url: '', confidence: 0.8, why: '', evidence: [] }}
newItemTemplate={{ name: '', url: '', confidence: 0.8, why: '', evidence: [], manual_urls: '' }}
renderDisplay={(item, index) => (
<div>
<div className="flex items-center justify-between">
@@ -39,6 +40,11 @@ const Step3Competitors: React.FC<Step3CompetitorsProps> = ({ candidates, onCandi
{t.visitButton}
</a>
<EvidencePopover evidence={item.evidence} />
{item.manual_urls && item.manual_urls.trim() && (
<span className="ml-2 inline-flex items-center px-2 py-0.5 rounded text-xs font-medium bg-blue-100 text-blue-800 dark:bg-blue-900 dark:text-blue-200">
{item.manual_urls.split('\n').filter(u => u.trim()).length} Manual URLs
</span>
)}
</div>
<span className="text-xs font-mono bg-light-accent dark:bg-brand-accent text-light-text dark:text-white py-1 px-2 rounded-full">
{(item.confidence * 100).toFixed(0)}%