Skip to content

Risk Register

Updated: 2026-07-28. Reviewed at every phase gate. L/I = likelihood / impact (H/M/L).

ID Risk L I Mitigation Status
R-01 Posting-level job data unavailable legally → skills module misread as thin H H ADR-008: official aggregates as real signal; labelled fixtures prove the NLP pipeline; module UI states data class on every chart accepted, designed-for
R-02 Government portals block automated access (observed for sandbox fetcher 2026-07-28) → collectors fail from some environments M M Local-network verification step per source before collector work; identifying User-Agent; conservative throttling; document per-source access constraints open
R-03 Company universe too small to feel useful M M Curated seed target 150–250 with evidence; enrich via tenders/CORDIS/jobs cross-references; state coverage % prominently instead of hiding it open
R-04 False entity merges damage the credibility the project exists to demonstrate M H ADR-010 conservative thresholds; review queue; merge log surfaced in UI; entity-resolution tests with adversarial fixtures (OffeneRegister vintage data) designed-for
R-05 Thin history makes trend charts misleading H M "Coverage since" label on every trend; backfill only from official time series; no trend rendered under a minimum-window rule (quality gate) designed-for
R-06 Scope explosion → twelve half-finished modules M H Phase gates with acceptance criteria; optional features require written value justification; backlog discipline open
R-07 Source terms change or a source disappears mid-project M M Adapter interfaces + fixtures for every source; fact_source_run records failures; dashboard shows stale/failed sources instead of silently serving old data designed-for
R-08 ODbL share-alike obligations from OSM contaminate exports L M OSM undecided (S-09); if used: separated layer, attribution, no mixing into exports without legal review open
R-09 Demo/synthetic data mistaken for real observations by a portfolio viewer M H demo_mode banner; per-record data_class; honesty review at every phase gate; README data-honesty contract designed-for
R-10 Dual-target SQL (DuckDB/Postgres) drifts apart M M dbt adapters; both targets in CI; dialect-portable SQL policy designed-for
R-11 CI matrix (esp. Windows) flakes on integration tests M L Portable vs integration test split; database integration tests on Ubuntu only, documented why designed-for
R-12 German-language processing bugs (umlauts, compounds, legal forms) corrupt normalization M M Unicode-normalization utilities with dedicated tests; taxonomy keeps original observed strings; golden-file parser tests open
R-13 Unofficial API wrapper (S-03) used carelessly by a future contributor L H Feature flag defaults off; loud warning + terms note in code and docs; excluded from published outputs by construction designed-for
R-14 Administrative codes (AGS/NUTS) entered from memory are wrong → silent join errors M H Backlog F-07: validate codes against official Gemeindeverzeichnis/NUTS tables during Phase 1 config validation; until then codes carry a to-validate note in config open