156 lines
8.5 KiB
Markdown
156 lines
8.5 KiB
Markdown
# Projectstatus
|
|
|
|
- Laatst bijgewerkt: 2026-07-21
|
|
- Repositoryversie: 0.1.0 MVP-basis
|
|
- 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;
|
|
- dashboard, vacaturelijst/detail, profiel-, bron- en sollicitatiepagina's;
|
|
- feedbackacties, applicationdossiers, lifecycle en dagelijkse digest-outbox;
|
|
- Celeryworker/scheduler, healthchecks, Docker/Unraidconfiguratie en back-up-/herstelscripts;
|
|
- offline unit-, integratie- en securitytests.
|
|
|
|
## Laatste geverifieerde baseline
|
|
|
|
De definitieve projectbasis en een schoon uit de ZIP opgebouwde checkout zijn beide geverifieerd met:
|
|
|
|
- 43 geslaagde tests;
|
|
- 80,42% branch-aware codedekking over `apps` en `config`;
|
|
- Ruff en Django system checks geslaagd;
|
|
- geen ontbrekende migraties;
|
|
- clean-room bootstrap, demo-import en HTTP-smoke voor liveness, readiness en login geslaagd.
|
|
|
|
## Laatste uitgevoerde backlogtaak
|
|
|
|
- 2026-07-21: `VR-117` voltooid.
|
|
- 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-116` voltooid.
|
|
- Synthetische testset (`fixtures/benchmark/quality_benchmark.json`) en benchmarkspec (`docs/quality/BENCHMARKS.md`) toegevoegd.
|
|
- `tests/benchmark/test_benchmark.py` bevat smokecontrole voor dataset load, helperlogica en rapportschema.
|
|
- Geen UI/UITA-aanpassingen uitgevoerd (expliciet buiten scope, extern met Stitch).
|
|
|
|
- 2026-07-21: `VR-108` voltooid.
|
|
- 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_url` naar de directe bron gekopieerd terwijl alias/provenance behouden blijft.
|
|
- Unittests en integratietest toegevoegd voor resolvergedrag en pipeline-resolutie.
|
|
- 2026-07-21: `VR-109` voltooid.
|
|
- 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.
|
|
- 2026-07-21: `VR-110` voltooid.
|
|
- 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-111` voltooid.
|
|
- 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-112` voltooid.
|
|
- 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-113` voltooid.
|
|
- 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-114` voltooid.
|
|
- 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-115` voltooid.
|
|
- 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-107` voltooid.
|
|
- 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-105` voltooid.
|
|
- 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-103` voltooid.
|
|
- 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.
|
|
|
|
- 2026-07-21: `VR-101` voltooid.
|
|
- 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_trial` en `dismiss` in 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:
|
|
|
|
```bash
|
|
./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;
|
|
- keuze/verkrijging van een gelicenseerde actuele Belgische postcode-/gemeentedataset.
|
|
|
|
## Bekende verificatiebeperking van de aangeleverde basis
|
|
|
|
De Pythonapplicatie en tests zijn lokaal geverifieerd. Een echte Dockerimagebuild en volledige PostgreSQL/Redis/Unraid-smoke vereisen nog steeds een omgeving met Docker; daarom is dat nog niet als uitgevoerd te claimen in deze workspace.
|
|
|
|
## Hervatten
|
|
|
|
```bash
|
|
./scripts/codex_verify.sh
|
|
python scripts/backlog.py next
|
|
```
|
|
|
|
Werk daarna exact volgens `docs/ai/AUTONOMOUS_EXECUTION_PROTOCOL.md`.
|