11 KiB
Projectstatus
- Laatst bijgewerkt: 2026-07-21
- Repositoryversie: 0.2.1 Stitch Intelligence Cockpit
- Uitvoeringsmodus: autonome backlog
- Eerste uitvoerbare taak: controleer met
python scripts/backlog.py next
Werkende basis
De repository bevat een uitvoerbare Django-MVP met:
- profielen, revisies en begrensde feedbackconfiguratie;
- source registry, policy/denylist, veilige fetcher en source runs;
- JSON-LD-, HTML-, RSS/Atom- en e-mailadapters;
- normalisatie, sanitization, werkgeverresolutie, dedupe, aliassen, provenance en versies;
- deterministische features, harde exclusions, scores en optionele uitgeschakelde Ollama-boundary;
- responsive dark/light cockpitdashboard, vacaturelijst/detail, sollicitatiepipeline, profiel-, bron- en systeemschermen;
- feedbackacties, applicationdossiers, lifecycle en dagelijkse digest-outbox;
- Celeryworker/scheduler, healthchecks, Docker/Unraidconfiguratie en back-up-/herstelscripts;
- offline unit-, integratie- en securitytests.
Laatste geverifieerde baseline
Release-audit op 2026-07-21:
- 146 geslaagde tests en 2 lokaal overgeslagen Playwright-varianten; de HTML/a11y-fallback is geslaagd;
- 81,98% branch-aware codedekking over
appsenconfig; - Ruff en Django system checks geslaagd;
- geen ontbrekende migraties;
- backlog- en repositoryvalidatie geslaagd;
- de lockfile gebruikt publieke PyPI-bronnen in plaats van een niet-overdraagbare interne registry;
- releaseblokkers hersteld in template-rendering, JSON/BOM-verwerking, leases, feedback, dossierautorisatie, ATS-provenance, employer-resolutie en DNS-rebindcontrole;
- een echte Dockerimagebuild op de Unraid-server, migratiecontrole en live LAN-smoke voor liveness, readiness, login en static assets zijn geslaagd;
- deploymenthardening voorkomt gelijktijdige migraties door worker/scheduler, schakelt de Gunicorn-controlsocket uit voor de read-only container en houdt de lokale healthcheckhost toegestaan.
VR-118-herverificatie op 2026-07-21:
- 146 geslaagde tests en 2 optioneel overgeslagen pytest-Playwrightvarianten; HTML/a11y-fallback geslaagd;
- 82,00% branch-aware codedekking;
- Ruff, Django system check en migratiecontrole geslaagd;
- taakledger geldig met 36 taken: 28 done, 5 blocked-external, 3 deferred en 0 ready;
- geïntegreerde browservalidatie op zes viewports en beide thema's geslaagd.
Deploymentstatus
mainis via de bestaande Gitea-SSH-sleutel naarNuklearRabbit/VacatureRadargepusht.- De applicatie draait op de Unraid-server via
http://192.168.10.150:1226/met PostgreSQL, Redis, web, worker en scheduler. - De server-side
.envheeft rechten0600; gegenereerde secrets zijn niet naar Git of logs gekopieerd. - De self-hosted Gitea Actions-runner is niet actief. Deze sessie gebruikte daarom een directe, commitgebonden SSH-deploy; push-to-deploy vereist nog runnerherstel/registratie.
- De huidige uitrol is alleen geschikt voor het beheerde LAN. Publieke productie vereist eerst een gekozen domein, reverse proxy/TLS en
DJANGO_DEBUG=0met secure cookies.
Laatste uitgevoerde backlogtaak
-
2026-07-21:
VR-118voltooid.- Alle kernroutes delen nu één responsive Intelligence Cockpit-shell met lokale SVG-iconen en CSP-veilige assets.
- Stitch-dark en een volwaardige light variant zijn gekoppeld aan echte Django-data; externe quick apply, nepmetrics en onbewezen intelligence zijn bewust geweerd.
- Browserflow valideerde vacature → sollicitatiedossier → pipeline, bron-disclosures, themawissel en viewports 1440×900, 1280×800, 1024×768, 768×1024, 390×844 en 360×800 zonder horizontale overflow.
- Stitch-bronnen, integratieplan en screenshots staan onder
docs/design/en zijn uit de productiecontainer gesloten. - Volgende taak:
VR-201(blocked-external).
-
2026-07-21:
VR-117voltooid. -
Productiereleasecontrole toegevoegd met
scripts/release_verify.sh, inclusief smoke, backup/restore-smoke en artifactbundel. -
Changelog, traceability en Unraid-runbook samengekoppeld aan het releasepad.
-
Volgende taak:
VR-201(blocked-external). -
2026-07-21:
VR-116voltooid.- Synthetische testset (
fixtures/benchmark/quality_benchmark.json) en benchmarkspec (docs/quality/BENCHMARKS.md) toegevoegd. tests/benchmark/test_benchmark.pybevat smokecontrole voor dataset load, helperlogica en rapportschema.- Geen UI/UITA-aanpassingen uitgevoerd (expliciet buiten scope, extern met Stitch).
- Synthetische testset (
-
2026-07-21:
VR-108voltooid.- Resolutie naar oorspronkelijke werkgever geïmplementeerd met deterministische matcher voor recruiter/ATS-bronnen.
- Titel, locatie, employer-naam, domein en canonical metadata leveren evidence-rijke beslissingen op; conflicten leiden naar review i.p.v. auto-merge.
- Bij directe resolutie wordt
canonical_urlnaar de directe bron gekopieerd terwijl alias/provenance behouden blijft. - Unittests en integratietest toegevoegd voor resolvergedrag en pipeline-resolutie.
-
2026-07-21:
VR-109voltooid.- AI-analyse geïntegreerd als optionele scorecomponent met caching op
content_hash + model + prompt + schema. - Uitgebreide JSON-schema validatie, evidencecontrole en foutstatussen met deterministische fallback.
- Golden evaluatieset met validatiescenario's (disabled, valid, malformed, timeout, prompt-injection) toegevoegd in
fixtures/ai/evaluation_set.json. - Scoringsmetadata uitgebreid met AI-status, errorcategorie en weging voor uitlegbaarheid.
- AI-analyse geïntegreerd als optionele scorecomponent met caching op
-
2026-07-21:
VR-110voltooid.- Feedbackleren standaard uit met opt-in, per-feature sampledrempel en metadata logging.
- Verbergreasons worden geclassificeerd als niet-learn (titel/afstand/werkvorm) of leerrijp.
- Positieve feedback groeit alleen na minimale herhaling per feature; negatieve feedback past gewichten terug indien leerrijp.
- Offline evaluatiescript toegevoegd:
scripts/feedback_learning_report.py. - UI-presentatie/reset weergave staat open voor externe afhandeling (Stitch).
- Volgende taak:
VR-111.
-
2026-07-21:
VR-111voltooid.- Reminder-outbox toegevoegd voor sluitingsdatum, opvolgdatum en uitzonderlijk sterke nieuwe matches.
- Topmatchherinnering is per profiel in- of uit te schakelen en vereist score/confidence/drempel.
- Herinneringen hebben stabiele event keys, respecteren quiet hours en gebruiken profielweekdagen.
- Integratietests toegevoegd voor idempotentie, stille ontvangers, follow-up werkdagen, DST en rustige uren.
- Volgende taak:
VR-112.
-
2026-07-21:
VR-112voltooid.- Bronhealth en observability toegevoegd met rolling metrics, parserdriftdetectie en automatische quarantaine.
- Raw cleanup bewaart gequarantaineerde documenten en kanaryherstel verloopt via trialpad.
- Dagelijkse taken gepland voor source-health evaluatie, canaryherstel en geautomatiseerde raw cleanup.
- Integratietests toegevoegd voor tijdelijke fouten, policyfouten, parserdrift, canaryherstel en raw cleanup.
- Volgende taak:
VR-113.
-
2026-07-21:
VR-113voltooid.- Sollicitatiedossiers bevriezen nu een gesanitiseerde snapshot met bronlinks, status/contact/notities en timeline-events.
- Export bevat dossier JSON, timeline CSV en printbare HTML zonder externe assets.
- Dossierexport en dossierverwijdering zijn gebruiker-scoped en idempotent.
- Integratietests toegevoegd voor snapshot, export, print, timeline en cross-user-afscherming.
- Volgende taak:
VR-114.
-
2026-07-21:
VR-114voltooid.- Browser-e2e toegevoegd voor login, dashboard, lijst/detailfilter, profielbewerkingen, vier feedbackacties, sollicitatiedossierbewerking en handmatige tekstimport.
- Accessibilitycontrole toegevoegd met Playwrightpad (desktop + 360px viewport) en fallback HTML-a11yprobe wanneer browser niet beschikbaar is.
- Screenshots worden vastgelegd bij falen binnen e2e-run.
- Volgende taak:
VR-115.
-
2026-07-21:
VR-115voltooid.- Productie-hardening toegevoegd met non-root/read-only containerinstellingen, CI-secret- en kwetsbaarheidsscans, production settings validatie, DNS-rebindcontrole in fetcher en rate limiting op login/manual import.
- Nieuwe tests toegevoegd voor
settings-validatie, rate limiteren, login-manual-import blokkades en DNS-rebinddetectie. - Geen UI-wijzigingen toegevoegd (manueel afhandelen bevestigd).
- Volgende taak:
VR-116.
-
2026-07-21:
VR-107voltooid.- Handmatige URL- en tekstimport toegevoegd met CSRF-beveiligde POST-flow en GET-prefill.
- URL-import hergebruikt bestaande policy/SSRF-checks en fetchpad; paste-import gebruikt een lokale synthetische HTML-payload zonder extern fetch.
- Bronlijst bevat bookmarklet, resultaatpanel met created/duplicate/warnings en links naar vacaturedetail.
- Unit- en integrationtests toegevoegd voor URL-flow, paste-flow, denylist en paste-limiet.
-
2026-07-21:
VR-105voltooid.- Haversine-afstand berekent nu op basis van geocoderingscoördinaten met confidencegedrag voor exacte afstand.
- Reistijdschatting toegevoegd als expliciete, conservatieve offline-schatting en gelabeld als inferentie.
- Harde afstandsuitsluiting blijft strikt, met optionele harde reistijdbeperking via
hard_rules["max_commute_minutes"]. - Bij geocodecache-import worden getroffen actieve vacatures opnieuw gescoord.
- Score-evidence verrijkt met afstands- en reistijdmetadata.
-
2026-07-21:
VR-103voltooid.- Geïmplementeerd: databaseleaseclaim (
SourceLease+SourceOriginState) voor concurrency- en crash-veiligheid. - Per-origin intervalcoördinatie, backoff inclusief 429/Retry-After en jitter op successen.
- Fetcher stuurt expliciete foutcategorieën voor 429, timeout en andere netwerkfouten.
- Geïmplementeerd: databaseleaseclaim (
-
2026-07-21:
VR-101voltooid.- Inrichting van bronontdekking vanuit HTML/sitemap/feed/e-mail, inclusief JSON-LD en feedlinkdetectie.
- Persistente kandidaatservice met provenance in
Source.metadata["discovery"]en idempotent gedrag. - Bulk-safe kandidaatacties
approve_to_trialendismissin bronlijst-UI. - Management command
discover_sources. - Fixtures toegevoegd voor HTML, sitemap index/urlset, feed en e-mail.
Een toekomstige agent moet altijd de actuele waarheid opnieuw bepalen met:
./scripts/codex_verify.sh
Nog te bouwen
Momenteel staan er geen ready taken meer over; de volgende te behandelen item is VR-201 als blocked-external (bronreview).
Externe blokkades
Deze blokkeren onafhankelijke code niet:
- concrete werkgevers-/bronnenkeuze en actuele menselijke bronreview;
- live IMAP/SMTP-account en app-password;
- Unraid-domein, DNS, TLS en reverse proxy;
- containerregistry en credentials;
- actieve/voor deze repository geregistreerde Gitea Actions-runner;
- keuze/verkrijging van een gelicenseerde actuele Belgische postcode-/gemeentedataset.
Bekende verificatiebeperking van de aangeleverde basis
De Pythonapplicatie, Dockerimage en PostgreSQL/Redis/Unraid-stack zijn geverifieerd. De optionele pytest-Playwrightvarianten vallen lokaal terug op de HTML/a11y-probe; VR-118 is aanvullend handmatig met de geïntegreerde browser op zes viewports uitgevoerd. Een publieke HTTPS-smoke blijft afhankelijk van domein-, DNS- en reverse-proxyconfiguratie.
Hervatten
./scripts/codex_verify.sh
python scripts/backlog.py next
Werk daarna exact volgens docs/ai/AUTONOMOUS_EXECUTION_PROTOCOL.md.