Portfolio Intelligence Platform thin dashboard · no business logic · calls the API
Market API: live LLM API: closed (healthy)

News & Insights · last ingestion run 2026-09-07 06:00 · 38 items · 31 insights validated · 4 rejected · 3 pending

Raw news stored with provenance by NewsIngestionService · structured Insight extracted by ResearchAgent (schema-validated) · every insight checked against the ontology before it enters the system

Ingested news filter: validatedrejectedall

IDHeadlineSource · timeGuard
N-1023ASML raises full-year 2026 guidance on AI demandReuters · 07:12✓ validated
N-1021Nestlé recalls infant formula batch in three countriesFT · 06:40✓ validated
N-1019Roche phase-III trial meets primary endpointSwissInfo · 06:05✓ validated
N-1017"Acme-X to be acquired", says blog postblog · 05:50✗ rejected
N-1015Fed minutes hint at slower cutsWSJ · 05:20⋯ pending
N-1012Chip export rules: EU opens consultationPolitico · 04:45✓ validated
Rejected N-1017: ticker ACMEX not in ontology · event type "rumour" not allowed → insight discarded, raw text kept with provenance for audit.

Insight for N-1023 ResearchAgent → Insight (schema v3)

Sentiment
+0.6 (−1 … +1)
Affected tickersASMLNVDA (resolved against ontology)
Event typeguidance ∈ {earnings, guidance, M&A, regulatory, product, recall, macro}
SummaryASML lifts 2026 revenue guidance, citing AI-related demand for EUV systems; sees continued order strength into 2027.
Provenancenews_id=N-1023 · source=Reuters · fetched 2026-09-07T07:12Z · hash 9f3a…
Extractionmodel via LLM gateway · 1 412 tokens · 2.1 s · schema valid on first attempt
Guard✓ ticker ✓ sector ✓ event type ✓ citation resolvable
Open source text Show raw extraction log (audit)
The rest of the system never sees raw model text — only this validated object (anti-corruption layer, §4.1).
1Ontology as run-time guard: valid ticker? valid sector? plausible event type? (§3.2, §4.2)
2Strict, schema-validated Insight — reject or repair non-conforming responses (§4.1).
3News text is untrusted input: a prompt-injection vector — treat it as data, never as instructions (§4 pitfalls).
SKETCH 3/7 · wireframe, not a specification