Onboarding-track: 5-daagse thema-introductie vanuit de "New here?"-kaart (#30) #31
Reference in New Issue
Block a user
Delete Branch "feat/onboarding-track"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #30
Wat & waarom
Een zelf-gepacete 5-daagse onboarding-track die een nieuwe medewerker in de breedte (niet de diepte) kennis laat maken met alle KB-thema's, zodat ze de dagelijkse/wekelijkse werkprocessen van Respellion begrijpen. Aangeboden als CTA in de bestaande "New here?"-kaart op het Dashboard; altijd beschikbaar, los van enrollment.
Ontwerp
onboarding_completions.emit_onboarding_overviewper thema (wat het is / waarom het ertoe doet voor dagelijks/wekelijks werk / kernpunten / topics), gecached inonboarding_overviewsop thema +topics_fingerprint(hergeneratie bij gewijzigde topic-set)./onboarding-trackvia de bestaandeskipEnrollmentGate-prop, ontkoppeld van het 26-weken-curriculum (los van/onboarding, de enrollment-pagina).team_member_id(post-#18/#27-conventie).Verificatie
npm test134/134.npm run buildOK.1781200000toe — beide collections aanwezig met de juiste unieke indexes en@request.auth.id != ""-rules (geverifieerd via de API).&, spaties) viapb.filter().Reviewpunten
.github/workflows/niet aangeraakt. De bekende falendecaddy validate-stap (#26/PR #28/#29) staat los hiervan.Handmatige E2E (na deploy)
Dashboard → "New here?" → CTA
0/5 days→/onboarding-track→ thema openen (overview genereert, "Mark as done") → chip loopt op → alles klaar → afrondingsscherm + "Onboarding complete". OptioneellocalStorage['admin:use_simulation']=trueom de AI-call te stubben.🤖 Generated with Claude Code
Pipeline groen (run #101). test ✅ · publish ✅ · deploy-dev ✅ — PLAY RECAP
failed=0, beide containers Up, proxy-health 200.Twee dingen om te weten bij review:
caddy validate-stap — niet door deze feature, maar door de bind-mount-bug uit #26 die via de merge van #29 opmainterechtkwam (open Caddyfile: no such file or directory, mount propageert niet naar de sibling Docker-daemon in de Gitea-runner). Die stap blokkeerde élke PR naar main. Opgelost door de productie-Caddyfile te valideren binnen het gebouwde image (/etc/caddy/Caddyfile), zonder mount. Dit maakt PR #28 overbodig — die kan dicht.1781200000is schoon toegepast. Lokaal bovendien geverifieerd: beide collections aanwezig met unieke indexes +@request.auth.id != ""-rules, plus een backend-contracttest (upsert-idempotentie, unieke-index-guard, filtering op thema's met speciale tekens).Handmatige E2E (na merge/als je nu op Labs kijkt): Dashboard → "New here?" → CTA
0/5 days→/onboarding-track→ thema openen → "Mark as done" → chip loopt op → afrondingsscherm. Zet eventueellocalStorage['admin:use_simulation']=trueom de AI-call te stubben.