feat: verfijn UX en borg Unraid deployment
deploy / deploy (push) Canceled after 0s

This commit is contained in:
Jens
2026-07-26 02:26:45 +02:00
parent 6c09d16a02
commit eea74f97ef
21 changed files with 1440 additions and 238 deletions
+133 -1
View File
@@ -1,6 +1,6 @@
schema_version: 1
project: VacatureRadar
updated_at: '2026-07-22'
updated_at: '2026-07-26'
execution_policy:
order: file-order, then first ready task whose dependencies are done
no_product_questions: true
@@ -1748,6 +1748,138 @@ tasks:
completed_at: '2026-07-22'
note: Alle negen Stitch-schermen zijn browsergevalideerd van 360 tot 2560 px; elf screenshots, accessibility-/legacy-/queryaudit
en documentatie afgerond. Volledige gate groen met 248 tests, 2 optionele skips en 84,40% coverage.
- id: VR-214
title: Herstel het Unraid Dockerman-containericoon
status: done
priority: P1
requirement_ids:
- NFR-009
depends_on:
- VR-213
summary: Vervang de fragiele runtime-SVG voor de Dockerman-tegel door een lokale rasterasset en dek het volledige
Unraid-label- en packagingcontract af.
acceptance_criteria:
- Dockerman verwijst via de gepubliceerde webpoort naar een lokale PNG die door collectstatic in de image wordt
opgenomen.
- De browserfavicon blijft lokaal en ongewijzigd beschikbaar.
- Een regressietest controleert de exacte WebUI- en icoonlabels, PNG-signatuur en verwachte afmetingen.
- Het Unraid-runbook beschrijft het cachegedrag en de veilige refreshstap.
verification:
- uv run pytest tests/unit/test_deployment_configuration.py tests/integration/test_views.py
- ./scripts/codex_verify.sh
primary_paths:
- docker-compose.unraid.yml
- static/img/vacatureradar-docker.png
- tests/unit/test_deployment_configuration.py
- docs/operations/UNRAID_DEPLOYMENT.md
result:
completed_at: '2026-07-25'
note: Dockerman-icoon vervangen door lokale 256x256 PNG via exact Unraid-poortlabel; URL, PNG-signatuur en afmetingen
regressiegedekt. Volledige gate groen met 264 tests en 83,47% dekking. Live Unraid-image sha256:799825df1a343b6bee43695850454a5fdc977b5af3366077e6ac6aaeeb94f6f9
gebouwd en gerecreate; container healthy, readiness/liveness groen en PNG via LAN HTTP 200 (7111 bytes).
- id: VR-215
title: Corrigeer Dockermans server-side icoondownload
status: done
priority: P1
requirement_ids:
- NFR-009
depends_on:
- VR-214
summary: Gebruik voor het Dockerman-icoon een concrete server-side URL omdat Unraid placeholders alleen voor WebUI-links
vervangt en niet voor icoondownloads.
acceptance_criteria:
- Het icoonlabel bevat geen IP- of poortplaceholder en is vanaf de Unraid-host bereikbaar.
- Dockerman maakt `VacatureRadar-icon.png` in zijn eigen icooncache aan.
- De Docker-tegel gebruikt de gecachte PNG terwijl WebUI-poortsubstitutie behouden blijft.
- De regressietest en het Unraid-runbook leggen dit onderscheid vast.
verification:
- uv run pytest tests/unit/test_deployment_configuration.py
- Live Unraid-recreate, cachecontrole en HTTP-smoke
- ./scripts/codex_verify.sh
primary_paths:
- docker-compose.unraid.yml
- tests/unit/test_deployment_configuration.py
- docs/operations/UNRAID_DEPLOYMENT.md
result:
completed_at: '2026-07-25'
note: Dockerman gebruikt nu concrete server-side loopback-URL zonder placeholders; live Unraid-container healthy,
HTTP-smoke groen, persistente en RAM-cache bevatten geldige 256x256 PNG en docker.json verwijst naar VacatureRadar-icon.png.
Gericht 5 tests en volledige gate groen met 264 tests en 83,44% dekking.
- id: VR-216
title: Premium UX-verfijning met rustige visuele hiërarchie
status: done
priority: P1
requirement_ids:
- NFR-004
- NFR-008
- NFR-009
depends_on:
- VR-215
summary: Verfijn de bestaande Stitch-interface naar een premium, rustige cockpit met minder visuele ruis, selectiever
kleurgebruik en sterkere informatiehiërarchie zonder server-rendered flows te wijzigen.
acceptance_criteria:
- Donker en licht thema gebruiken gelaagde oppervlakken, zachtere scheidingen en cyan alleen voor primaire signalen
en acties; navigatie en labels gebruiken leesbare humane typografie.
- Dashboard, verkenner, detail, pipeline en profiel hebben een herkenbare eigen compositie met consistente componenten,
zonder nepdata of dode bediening.
- Mobiele KPI's staan compact boven de vouw, filters blijven bruikbaar en de pipeline scrolt intern zonder pagina-overflow
tussen 360 en 1440 px.
- Browsercontrole op 390 en 1280 px dekt donker en licht thema, kernflows en een schone console.
verification:
- uv run pytest tests/e2e/test_vr114_browser_and_accessibility.py tests/integration/test_views.py
- ./scripts/codex_verify.sh
- Browsermatrix 390x844 en 1280x800 in donker en licht thema
primary_paths:
- static/css
- templates/dashboard/today.html
- templates/jobs/list.html
- templates/applications/list.html
- templates/profiles/list.html
- docs/design/STITCH_INTEGRATION_REPORT.md
result:
completed_at: '2026-07-25'
note: Premium calm-intelligence-laag voor dark/light, compacte mobiele KPI's, responsieve filtercommandobar,
intern scrollende pipeline en breed profiel. Bestaande login-CSP-fout opgelost met lokale externe JS. Browsermatrix
390/1280 zonder overflow en schone console; volledige gate groen met 264 tests, 2 optionele skips en 83,44%
dekking.
- id: VR-217
title: Borg Unraid-authenticatie en voeg interactieve radarillustraties toe
status: done
priority: P1
requirement_ids:
- NFR-008
- NFR-009
depends_on:
- VR-216
summary: Maak het bestaande SSH-deploymentprofiel expliciet en voeg een lokale, toegankelijke interactieve radarillustratie
toe op inhoudelijk passende cockpitstates zonder echte data of kernflows te vervangen.
acceptance_criteria:
- Deploymentdocumentatie en helper valideren de geconfigureerde Unraid-hostalias en falen met een concrete herstelmelding
wanneer de verkeerde SSH-identiteit wordt gekozen.
- Een herbruikbare lokale radarillustratie versterkt profiel- en lege radarstates met pointer-/focusrespons en
bevat geen externe asset, fictieve metric of betekenisdragende informatie.
- De illustratie degradeert zonder JavaScript, respecteert prefers-reduced-motion en blijft verborgen voor hulptechnologie;
kernacties en tekst blijven zelfstandig bruikbaar.
- Browsercontrole op 390 en 1280 px in donker en licht thema toont geen overflow, consolefout of concurrerende
visuele hiërarchie; de live Unraid-container is na deployment healthy.
verification:
- uv run pytest tests/unit/test_deployment_configuration.py tests/e2e/test_vr114_browser_and_accessibility.py
- Browsermatrix 390x844 en 1280x800 in donker en licht thema
- Live SSH-, containerhealth- en HTTP-smoke via de geconfigureerde hostalias
- ./scripts/codex_verify.sh
primary_paths:
- scripts/deploy_unraid.ps1
- docs/operations/UNRAID_DEPLOYMENT.md
- templates/components/radar_illustration.html
- templates/profiles/list.html
- static/css/premium.css
- static/js/app.js
result:
completed_at: '2026-07-26'
note: Unraid-authenticatie hersteld via gevalideerde hostalias unraid-itworx met root en dedicated sleutel;
fail-fast deployhelper toegevoegd. Interactieve lokale SVG-radar met pointerparallax, dark/light en reduced-motionfallback
toegevoegd. Browsermatrix 390/1280 zonder overflow of consolefouten; 265 tests groen. Live image sha256:4d30e01e778777d5a2cde4339a9b2ad006edb25cae387293737420152d65069d
healthy en readiness/CSS/JS HTTP 200.
- id: VR-301
title: Multi-tenant SaaS, teams en billing
status: deferred
+53 -1
View File
@@ -1,6 +1,6 @@
# Projectstatus
- Laatst bijgewerkt: 2026-07-25
- Laatst bijgewerkt: 2026-07-26
- Repositoryversie: 0.3.0 volledige Stitch Intelligence Cockpit
- Uitvoeringsmodus: autonome backlog
- Eerste uitvoerbare taak: controleer met `python scripts/backlog.py next`
@@ -32,6 +32,58 @@ VR-209 tot en met VR-213 vervangen de oude browserfrontend integraal:
Het volledige scherm- en afwijkingsrapport staat in `docs/design/STITCH_INTEGRATION_REPORT.md`.
## Laatste onderhoudsaudit
VR-217 op 2026-07-26:
- de vermeende Unraid-authenticatiefout bleek een clientprofielkeuze: rechtstreeks IP gebruikte gebruiker `jens`, terwijl `unraid-itworx` correct `root`, `IdentitiesOnly` en de afzonderlijke deploysleutel selecteert;
- `scripts/deploy_unraid.sh` valideert de hostalias, synchroniseert uitsluitend niet-genegeerde projectbestanden en combineert build, containerhealth en readiness-smoke;
- het zoekprofiel heeft een lokale interactieve SVG-radar met scansweep, signalen, pointerparallax en statische reduced-motionvariant zonder fictieve data;
- browsercontrole op 1280×800 en 390×844 in licht en donker toont geen documentoverflow of consolefouten; de illustratie blijft decoratief en staat mobiel na de primaire actie;
- volledige gate groen met 265 tests, 2 optionele skips en 83,44% branch-aware dekking;
- live image `sha256:4d30e01e778777d5a2cde4339a9b2ad006edb25cae387293737420152d65069d` gebouwd en via `unraid-itworx` uitgerold; container healthy, readiness HTTP 200 en de nieuwe CSS-/JS-assets via LAN HTTP 200;
- volgende uitvoerbare taak: geen; alleen bestaande externe blokkades en uitgestelde productkeuzes resteren.
VR-216 op 2026-07-26:
- premium “calm intelligence”-laag toegevoegd met zachtere scheidingen, spaarzamer cyan, humane navigatietypografie en duidelijkere elevatie in donker en licht thema;
- dashboard-KPI's staan mobiel compact 2×2, filters vormen een responsieve commandobar, pipelinekolommen scrollen intern en het profiel gebruikt een brede compositie;
- de browsermatrix controleerde 1280×800 en 390×844 zonder documentoverflow; dashboard, verkenner, pipeline, profiel en beide thema's zijn visueel beoordeeld;
- een bestaande CSP-consolefout op login is opgelost door de interactie naar een lokale externe JavaScriptasset te verplaatsen en regressiegedekt;
- gerichte verificatie: Ruff groen, 22 tests geslaagd en 2 optionele Playwright-skips; volledige gate groen met 264 tests, 2 optionele skips en 83,44% branch-aware dekking;
- volgende uitvoerbare taak: geen; alleen bestaande externe blokkades en uitgestelde productkeuzes resteren.
VR-215 op 2026-07-26:
- Dockermans eigen implementatie bleek `[IP]`/`[PORT]` uitsluitend voor WebUI-links
te vervangen en niet vóór een icoondownload; het eerdere label kon daardoor de
cache niet vullen;
- het live icoonlabel gebruikt nu de server-side loopback-URL op hostpoort 1226;
- de Unraid-host bevat zowel de persistente als actuele RAM-cache
`VacatureRadar-icon.png`, en Dockermans gegenereerde `docker.json` verwijst naar
`/state/plugins/dynamix.docker.manager/images/VacatureRadar-icon.png`;
- de gerecreate container is healthy en de PNG-/readiness-smokes slagen;
- volgende uitvoerbare taak: geen; alleen bestaande externe blokkades en
uitgestelde productkeuzes resteren.
VR-214 op 2026-07-25:
- het ontbrekende Unraid/Dockerman-tegelicoon is hersteld met een lokale 256×256 PNG op
`/static/img/vacatureradar-docker.png`; de browserfavicon blijft de bestaande SVG;
- de volledige WebUI- en icoonlabels, PNG-signatuur en afmetingen zijn regressiegedekt;
- `collectstatic` kopieert de asset naar de productie-staticroot;
- de volledige `scripts/codex_verify.sh`-gate slaagde via Git Bash met 264 tests,
2 optionele Playwright-skips en 83,47% branch-aware codedekking;
- de Unraid-image is daarna live gebouwd als
`sha256:799825df1a343b6bee43695850454a5fdc977b5af3366077e6ac6aaeeb94f6f9`;
de gerecreate container was healthy, liveness/readiness slaagden en het
Dockerman-label wees naar de lokale PNG, die via LAN HTTP 200 met
`Content-Type: image/png` en 7.111 bytes leverde;
- er zijn tijdens de volledige lint-, systeem-, migratie-, test-, ledger- en
repositorycontrole geen andere releaseblokkerende regressies gevonden;
- volgende uitvoerbare taak: geen; alleen de bestaande externe blokkades en
uitgestelde productkeuzes resteren.
VR-209213-verificatie op 2026-07-22:
- 248 tests geslaagd, 2 optionele Playwrightvarianten overgeslagen en 84,40% branch-aware codedekking;