73c30d2f5f447d933ee4eb386fa3f1001f1401c8
H1: Drop empty string from enricher_schema.json category enum — Gemini rejects enum[7]: cannot be empty (Error 400). Remove category from required so the model can omit it when no category fits. H2: Research-plan/apply client reads response as text before JSON.parse; empty or HTML error bodies now surface the actual HTTP status instead of crashing with "unexpected end of data". I: Dedup UI for approved markets: - DuplicatesPanel: LLM verdict pills (same/not-same, confidence), llm_reason, per-candidate Merge-planen button - MergeProposalPanel: summary, confidence, flags, per-field decisions with editable source radio (a/b/combined), current value context, confirm() before destructive apply - Two SvelteKit proxy routes: merge-plan/ and merge-into/[targetId]/ - [id]/+page.svelte: wired with full state; navigates to survivor after successful merge - [id]/+page.server.ts: load duplicates for all non-merged editions (was gated to status=rumored only) - types.ts: DuplicateMarket gains llm_same/llm_confidence/llm_reason; add MarketMergeProposal + MergeFieldDecision; add merged to EditionStatus
Description
No description provided
Languages
Go
60.3%
Svelte
20.3%
Dart
11.1%
TypeScript
5%
PLpgSQL
1.1%
Other
2.1%