cd836564f16f6ec7cfa27b2c4fa9945785dad9f0
Pass 0 splits every month into two halves (H1 = days 1-15, H2 = 16-EOM) so each agent call fits within Mistral's 4096 max_tokens budget. The response schema picks up richer per-market signals and dead agent URLs get filtered before they land in the admin queue. DB: - 000015: add halbmonat char(2) to discovery_buckets, widen unique key, backfill existing rows as H1 + insert H2 siblings (624 → 1248 rows). - 000016: rename discovered_markets.extraktion → konfidenz with best-effort value mapping (verbatim→hoch, abgeleitet→mittel); add agent_status column. Backend: - model: Bucket gains Halbmonat; Pass0Bucket same. Pass0Market renames Extraktion → Konfidenz and adds AgentStatus (JSON tag "status"). DiscoveredMarket mirrors both fields; queue-lifecycle Status column stays distinct from agent-reported AgentStatus. - repository: all SELECT/INSERT touched to use the new columns; picker orders by year_month, halbmonat so H1 runs before H2 in the same month. - agent client: prompt now injects halbmonat and recherche_datum (today) so the agent has explicit date context. - link verification: new LinkChecker does concurrent HEAD (GET fallback on 405) with a 5s timeout. FilterURLs runs before InsertDiscovered — markets whose quellen all fail are dropped and counted as link_check_failed in TickSummary. Failing website URLs are cleared but don't block insert. - Service.linkChecker is a narrow interface so tests inject a noop stub instead of hitting the network. Web: - DiscoveredMarket type gains konfidenz + agent_status, drops extraktion. - Queue column renames "Extraktion" → "Konfidenz" with three-level coloring (hoch=emerald, mittel=amber, niedrig=red, else neutral). - A small pill next to markt_name surfaces agent_status when it's not "bestaetigt" — red for "abgesagt", amber for "unklar" and "vorjahr_unbestaetigt" — so risky entries are obvious before accept.
Description
No description provided
Languages
Go
60.3%
Svelte
20.3%
Dart
11.1%
TypeScript
5%
PLpgSQL
1.1%
Other
2.1%