# Verificatierapport van de aangeleverde projectbasis - Datum: 2026-07-20 - Omgeving: Linux, Python 3.13.5, uv 0.10.0 - Projectversie: 0.1.0 - Doel: aantonen dat de ZIP een reproduceerbare, werkende MVP-basis en autonome overdracht bevat ## Uitgevoerde volledige gate Commando: ```bash ./scripts/codex_verify.sh ``` Resultaat: - Ruff: geslaagd; - Django system check: geslaagd, 0 issues; - migratiecontrole: geslaagd, geen ontbrekende migraties; - pytest: 43/43 tests geslaagd; - branch-aware codedekking: 80,42% (`apps` en `config`), drempel 70%; - machineleesbare backlog: geldig, 35 taken en acyclische dependencies; - lokale Markdownlinks, YAML/Compose/OpenAPI, `.env.example` en Codex-skillfrontmatter: geldig. De tests omvatten unit-, integratie- en securitypaden voor parsers, URL-security, fetchbeleid, sanitization, normalisatie, dedupe, scoring, profiles, e-mailimport, notificaties, lifecycle, tasks en webviews. ## Clean-room ZIP-proef De gegenereerde ZIP is in een lege directory uitgepakt. Voor de start is gecontroleerd dat `.env`, `.venv` en `local/db.sqlite3` niet aanwezig waren. Daarna is uitgevoerd: ```bash ./scripts/codex_bootstrap.sh ``` Resultaat: - nieuwe virtuele omgeving uit `uv.lock` opgebouwd; - alle migraties op een lege SQLite-database toegepast; - lokaal beheeraccount, standaardprofiel en één demovacature aangemaakt; - volledige kwaliteitsgate opnieuw geslaagd met 43 tests en 80,42% dekking; - ontwikkelserver gestart; - `/health/live/` gaf `200` met `ok: true`; - `/health/ready/` gaf `200` met databasecheck `ok`; - `/login/` gaf `200` met de Nederlandstalige titel `Aanmelden · VacatureRadar`. ## Offline/reproduceerbare eigenschappen - De standaardtests doen geen live internetrequests. - IMAP en Ollama staan standaard uit. - Celery draait in tests eager en vereist geen Redis. - SQLite wordt voor lokale bootstrap/tests gebruikt; productieconfiguratie ondersteunt PostgreSQL. - Externe bronformaten worden via gesaneerde fixtures getest. - `.venv`, caches, `.env`, lokale database, logs, media en back-ups worden door het packaging-script uitgesloten. ## Autonome overdracht Gevalideerd: ```bash python scripts/backlog.py validate python scripts/backlog.py next ``` Ledgerstatus bij oplevering: - 10 taken `done`: de werkende MVP- en overdrachtsbasis; - 17 taken `ready`: uitvoerbare product-, hardening- en releasestappen; - 5 taken `blocked-external`: uitsluitend live bronreview, accounts, domein/registry of bulkdataset; - 3 taken `deferred`: multi-tenant SaaS, automatisch solliciteren en algemene publieke API. Codex krijgt vaste productbeslissingen via `AGENTS.md`, `CODEX_START_HERE.md`, accepted ADRs, een repo-eigen skill en een startprompt. Een externe blokkade mag alleen het live restpunt blokkeren; interface, tests, mocks en documentatie moeten eerst worden voltooid. ## Niet in deze omgeving uitgevoerd Docker was in de assemblageomgeving niet beschikbaar. Daarom zijn de Dockerfile en Composebestanden statisch gevalideerd, maar een echte imagebuild, PostgreSQL/Redis-container-smoke, Unraid-installatie en restore-drill worden niet als uitgevoerd geclaimd. `VR-115` en `VR-117` bevatten de exacte acceptatiecriteria en commando's voor een Docker-capabele omgeving. Live bronvoorwaarden, mailboxcredentials, SMTP, domein/TLS, registry en een gelicenseerde Belgische geodatabron vereisen persoonlijke/externe configuratie en staan apart als `blocked-external`. ## VR-118 — Stitch Intelligence Cockpit (2026-07-21) Aanvullend op de bestaande releasebasis is de volledige interface opnieuw geïntegreerd en gecontroleerd. Uitgevoerde browsermatrix: - 1440×900, 1280×800, 1024×768, 768×1024, 390×844 en 360×800; - exact één `h1` en geen documentbrede horizontale overflow op ieder formaat; - dashboard, vacaturelijst/detail, sollicitatiepipeline, profiel/editor, bronnen en systeem; - dark en light, mobiele open/sluitnavigatie, bron-disclosure en vacature → gesolliciteerd → pipeline; - geen externe productie-scripts of stylesheets en geen nieuwe consolefouten na de storagefallbackfix. Screenshots: `docs/design/validation/`. Deze map en de originele Stitch-referentie zijn via `.dockerignore` uitgesloten van de productiecontainer. Volledige afrondingsgate: - Ruff: geslaagd; - Django system check: geslaagd; - migratiecontrole: geen wijzigingen; - pytest: 146 geslaagd, 2 optionele Playwrightvarianten overgeslagen met geslaagde HTML/a11y-fallback; - branch-aware codedekking: 82,00%, boven de vereiste 70%; - taakledger: 36 taken, waarvan 28 done, 5 blocked-external, 3 deferred en 0 ready; - repositorydocumentatie en configuratie: geldig.