Files
property-match/src/lib/researchSources.ts
T
Benjamin SutterandClaude Opus 5 a028d1a21d feat(livia): Zefix als Marktindikator statt als Lead
Die Zefix-CSV nennt keine Firmennamen, sondern Tageszahlen je Branche. Als
Lead-Karte zwischen sechs echten Firmenmeldungen war sie ein Fremdkörper: Man
kann eine Branchenzahl nicht anrufen, und genau das verspricht eine Lead-Karte
mit «Empfohlene nächste Handlung».

Aggregierte Einträge werden weiterhin gelesen und beurteilt — die Quelle bleibt
angebunden und belegt, dass Livia auch strukturierte Daten verarbeitet —, zählen
aber als Beobachtungsposten statt als Lead. Das entspricht der «Early
Watch»-Einordnung der Vorgabe (§19), und die Zahlen der Kopfzeile gehen
weiterhin auf.

Die Quellenbeschreibung sagt jetzt selbst, warum dort keine Karte erscheint,
statt dass sich das jemand aus dem Ausbleiben erschliessen muss.

Geprüft: tsc 0 Fehler, eslint 0 Fehler/0 Warnungen, Build erfolgreich,
Live-Lauf 49 Einträge — Zefix erscheint nicht mehr als Lead, Summe aus
verworfen, Watchlist und Leads ergibt die Gesamtzahl.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-30 19:07:47 +02:00

53 lines
1.9 KiB
TypeScript

/**
* Property On — die real angebundenen Recherchequellen von Livia.
*
* Eine einzige Liste für beide Seiten: die serverlose Funktion liest daraus
* die abzurufenden Adressen, die Oberfläche zeigt daraus «Angebundene Kanäle
* & Systeme». Stünden die URLs an zwei Stellen, könnte der angezeigte Link
* irgendwann auf etwas anderes zeigen als der tatsächliche Abruf — und genau
* die Nachvollziehbarkeit ist der Zweck der Anzeige (§2).
*
* Die Datei enthält bewusst nur Daten und keine Abruflogik: so kann `api/`
* sie importieren, ohne dass der HTML-Parser im Frontend-Bundle landet.
*/
export interface ResearchSourceDescriptor {
id: string
name: string
url: string
/** Wofür die Quelle im PoC steht — erscheint in der Oberfläche. */
purpose: string
}
export const RESEARCH_SOURCES = {
ZHK: {
id: 'zhk',
name: 'Zürcher Handelskammer — News',
url: 'https://www.zhk.ch/de/wirtschaft-und-politik/news-liste.html',
purpose: 'Regionale Unternehmensmeldungen, Expansion, Investitionen, Kapazitätsausbau',
},
GZA: {
id: 'gza',
name: 'Greater Zurich Area — News',
url: 'https://www.greaterzuricharea.com/de/alle-news',
purpose: 'Ansiedlungen, Markteintritte, internationale Expansionen und neue Standorte',
},
ZEFIX: {
id: 'zefix',
name: 'Zefix / Open Data Kanton Zürich',
url: 'https://www.web.statistik.zh.ch/ogd/data/KANTON_ZUERICH_ZEFIX_Neugruendungen.csv',
purpose:
'Strukturierte Daten zu Zürcher Neugründungen; CSV wird direkt eingelesen — '
+ 'Marktindikator ohne Firmennamen, erscheint deshalb nicht als Lead',
},
} as const satisfies Record<string, ResearchSourceDescriptor>
export const RESEARCH_SOURCE_LIST: ResearchSourceDescriptor[] = [
RESEARCH_SOURCES.ZHK,
RESEARCH_SOURCES.GZA,
RESEARCH_SOURCES.ZEFIX,
]
/** Der eine Endpoint des PoC (§20). */
export const RESEARCH_REFRESH_ENDPOINT = '/api/livia/research/refresh'