feat: personalize scoring and add skills radar

This commit is contained in:
Jens
2026-07-22 19:33:29 +02:00
parent 029df89265
commit a30ecbc553
33 changed files with 1529 additions and 114 deletions
+87
View File
@@ -1488,6 +1488,93 @@ tasks:
completed_at: '2026-07-22'
note: 'Volledige code- en browseraudit: deterministische IT-focus, laatste gebruikersscore, premium Stitch-feed/detail
en adaptieve 320-2560px-layout; 225 tests groen en browsermatrix geslaagd.'
- id: VR-207
title: Cv-gestuurd field- en infrastructuurprofiel
status: done
priority: P0
requirement_ids:
- PR-002
- PR-040
- PR-041
- NFR-002
- NFR-004
depends_on:
- VR-206
summary: Breid de begeleide profielconfiguratie uit voor een ervaren IT field-/infrastructuurprofiel en voorkom
dat een brede, relevante skillset de matchscore kunstmatig verlaagt. Persoonlijke cv-data blijft uitsluitend
in de gebruikersdatabase en komt niet in repositoryfixtures of documentatie.
acceptance_criteria:
- Rollen en skills zijn in begrijpelijke categorieën selecteerbaar voor field service, infrastructuur, Microsoft
365/endpoint, netwerk/security, back-up/monitoring, virtualisatie, VoIP en automation.
- Relevante IT-ervaring is via een selectielijst configureerbaar en wordt deterministisch vergeleken met expliciet
gevraagde ervaringsjaren; onbekende ervaring leidt niet tot uitsluiting.
- Ambigue field-/implementatietitels gelden alleen als IT wanneer de vacaturetekst tevens een sterk technisch
contextsignaal bevat; niet-IT field service blijft gefilterd.
- Meer relevante cv-skills aanvinken verwatert de skillscore niet onbeperkt en niet-vermelde voorkeurskills worden
niet als bewezen tekort gepresenteerd.
- Bestaande vrije profielwaarden blijven selecteerbaar en persoonlijke gegevens uit cv's worden niet gecommit.
verification:
- uv run pytest tests/unit/test_relevance.py tests/unit/test_scoring.py tests/unit/test_profiles.py tests/integration/test_profile_preferences.py
- uv run python manage.py makemigrations --check --dry-run
- ./scripts/codex_verify.sh
primary_paths:
- apps/profiles/forms.py
- apps/profiles/models.py
- apps/profiles/taxonomy.py
- apps/jobs/services/relevance.py
- apps/jobs/services/scoring.py
- templates/profiles/edit.html
- static/css/app.css
result:
completed_at: '2026-07-22'
note: Cv-gestuurde gegroepeerde profielconfiguratie, ervaringsband, begrensde skill-evidence, contextgebonden
fieldrelevantie en lokale profielrescore geverifieerd; 232 tests groen en browsercontrole op ultrawide/390
px geslaagd.
- id: VR-208
title: Skillsvraag- en leerkansenradar zonder ervaringsscore
status: done
priority: P0
requirement_ids:
- PR-002
- PR-040
- PR-041
- PR-043
- PR-050
- NFR-004
depends_on:
- VR-207
summary: Maak ervaringsduur volledig informatief en bouw uit de actuele, relevante vacatures een uitlegbare marktvraaganalyse
met profieldekking, skillsfilters en concrete bijleerkansen.
acceptance_criteria:
- Ervaringsjaren en senioriteitslabels hebben geen invloed op score, aanbeveling of harde uitsluiting; de profielwaarde
is uitsluitend informatieve context en bestaande senioriteitsgewichten worden veilig genegeerd en opgeruimd.
- De analyse gebruikt alleen actieve IT-vacatures die voor het actieve profiel niet hard uitgesloten zijn en blijft
strikt gebruikersgescopeerd.
- Een deterministische, uitbreidbare skillcatalogus toont per technologie of capability in hoeveel vacatures een
expliciet tekstsignaal voorkomt en onderscheidt profieldekking van mogelijke leer-/bijscholingskansen.
- Het profiel biedt extra relevante skills als gegroepeerde checkboxes; de inzichtspagina biedt categorie- en
dekkingsfilters en links naar de onderliggende vacatures.
- Feiten, tekstinferenties en onbekende gegevens zijn in de Nederlandstalige UI duidelijk onderscheiden; lege
toestanden en layouts werken van 320 tot 2560 px zonder horizontale paginaoverflow.
verification:
- uv run pytest tests/unit/test_scoring.py tests/unit/test_skill_demand.py tests/integration/test_skill_insights.py
tests/integration/test_profile_preferences.py
- uv run python manage.py makemigrations --check --dry-run
- ./scripts/codex_verify.sh
- Browsercontrole op 2560x1440, 1440x900 en 390x844
primary_paths:
- apps/jobs/services/scoring.py
- apps/jobs/services/skill_demand.py
- apps/jobs/views.py
- apps/profiles/taxonomy.py
- templates/jobs/skill_insights.html
- static/css/app.css
- docs/architecture/SCORING_ENGINE.md
result:
completed_at: '2026-07-22'
note: Ervarings- en senioriteitsinvloed uit score en learning verwijderd; gebruikersgescopeerde Skillsradar
met actuele bronselectie, vraagbewijs, profieldekking, leerkansen, uitgebreide skillfilters en 2560/1440/390-browsercontrole
voltooid.
- id: VR-301
title: Multi-tenant SaaS, teams en billing
status: deferred