Phase 0 Review — Discovery and Feasibility¶
Date: 2026-07-28 · Four-review standard applied to Phase 0's own outputs.
1. Engineering review¶
Phase 0 produced no code, so correctness/type-safety/tests are not applicable. The
engineering-relevant outputs — ADRs and repository plan — were checked for internal
consistency: the dual-target warehouse (ADR-001) is compatible with the dbt decision
(ADR-002) and with the CI-matrix requirement (integration split, R-11); the CLI and
quality-gate exit-code requirements from the brief are reflected in backlog items
F-04 and C-06. Finding (minor): the Makefile targets promised by the brief
(make demo) cannot work before Phase 2 — resolved by requiring stubs that fail
honestly with an explanatory message (F-09) rather than pretending success.
2. Data review¶
- Lineage: catalogue defines per-source evidence discipline;
fact_source_runscheduled in Phase 2 (C-02) — adequate for this phase. - Coverage gaps identified and documented rather than papered over: sub-threshold tenders (until S-04 verified), national research funding (S-11/S-12 restricted), posting-level jobs (ADR-008), company completeness (ADR-009).
- Finding (accepted risk): AGS/NUTS codes in the region config were entered from reference knowledge; a validation task (F-07) and risk entry (R-14) were created, and the config carries a to-validate note. One NUTS error was already caught and corrected during self-check (DE911→DE211 family), which confirms the risk is real.
- Finding (open): four sources carry
pending-local-checkbecause the sandbox fetcher was blocked; these must not silently become "verified" without recorded re-tests (C-03).
3. Business review¶
- All 16 user stories name a user and a decision; the three modules map onto the brief's business questions with no orphan features.
- The strongest early value for User C (analyst) comes from official aggregates (US-05), which are also the most feasible sources — good sequencing luck: the first real data in the system is also the most defensible.
- Finding (watch): User B's tender value depends materially on S-04 (sub-threshold notices); if it stays blocked, expectations must be reset in the dashboard copy, not just in docs.
4. Honesty review¶
Checked every Phase 0 document for claims exceeding evidence:
- README states "no runnable pipeline yet" prominently. ✅
- Catalogue distinguishes verified-live / verified-exists /
pending-local-check; nothing is claimed integrated. ✅
- Licenses for S-01/S-02/S-05 are written as expectations to confirm, not facts. ✅
- The unofficial jobs API is documented with its legal ambiguity stated, and the
decision not to use it is itself documented (ADR-008). ✅
- Finding (corrected during review): an early draft of the feasibility text
implied the Bavarian GENESIS API exists; the page actually returned 403 to the
sandbox and only the download path is confirmed — wording adjusted to
pending-local-check throughout.
- Residual risk: search-index confirmations (S-02, S-07, S-11, S-13) prove
existence, not usability; their catalogue statuses say exactly that.
Gate decision: Phase 0 passes. Proceed to Phase 1 (Foundation) per backlog P0.