# User stories en primaire flows ## Persona De gebruiker wil geen dagelijkse zoekmachine bedienen. Hij wil enkele sterke vacatures zien, begrijpen waarom ze passen en snel opvolgen wat hij ermee deed. ## Onboarding ### US-001 — Zoekprofiel instellen Als gebruiker wil ik mijn gewenste rollen, skills, regio en harde uitsluitingen één keer instellen zodat de tool daarna zelfstandig zoekt. Acceptatie: - defaults zijn direct bruikbaar; - titel/skillvelden ondersteunen meerdere regels; - locatie kan eerst zonder coördinaten worden opgeslagen; - ongeldige drempels of coördinaten geven veldgerichte feedback; - opslaan maakt een profielrevisie. ### US-002 — Veilige bronkanalen kiezen Als gebruiker wil ik vacaturemails en publieke werkgeversbronnen kunnen activeren zonder platformlogins aan de tool te geven. Acceptatie: - mailboxconfiguratie staat alleen in secrets/environment; - denylistlinks uit mails worden als aliassen opgeslagen maar niet door de fetcher bezocht; - onbekende bron blijft in review. ## Dagelijkse lus ### US-010 — Beste matches bekijken Als gebruiker wil ik bij het openen maximaal een overzichtelijke selectie zien zodat ik niet opnieuw honderden resultaten hoef te filteren. Acceptatie: - actieve, niet-hard-uitgesloten vacatures eerst; - één kaart per canonieke vacature; - score, werkgever, locatie, werkvorm en kernreden zichtbaar; - sterke en mogelijke matches duidelijk onderscheiden. ### US-011 — Begrijpen waarom iets past Als gebruiker wil ik bewijs, pluspunten en aandachtspunten zien zodat ik de score kan vertrouwen en corrigeren. Acceptatie: - scorecomponenten en confidence zijn zichtbaar; - onbekende afstand/salaris wordt als onbekend gemeld; - herkomstlinks blijven bereikbaar; - gesanitized vacaturetekst bevat geen uitvoerbare scripts/forms. ### US-012 — Snelle feedback Als gebruiker wil ik met één actie interessant, bewaren, verbergen of gesolliciteerd registreren. Acceptatie: - actie is CSRF-beschermd en user-scoped; - verbergen verwijdert de vacature uit toekomstige digests; - gesolliciteerd maakt een dossier en bewaart een snapshot; - geen actie verstuurt iets naar de werkgever. ## Meldingen ### US-020 — Dagelijkse digest Als gebruiker wil ik één samenvatting ontvangen zodat ik de interface niet voortdurend hoef te controleren. Acceptatie: - één outboxrecord per profiel/dag; - herhaald uitvoeren verzendt niet dubbel; - sterke en mogelijke matches worden geteld; - zonder ontvanger wordt veilig overgeslagen; - verzendfouten blijven retrybaar en zichtbaar. ### US-021 — Deadline en opvolging Als gebruiker wil ik herinnerd worden aan sluitings- en opvolgdata zodat kansen niet ongemerkt verlopen. Acceptatie: - reminders respecteren quiet hours; - verlopen vacature wordt niet als nieuwe match gemeld; - herinnering bevat bronlink en dossierstatus; - gebruiker kan herinnering uitschakelen. ## Beheer en herstel ### US-030 — Bronproblemen zien Als gebruiker wil ik zien welke bronnen gezond, vertraagd of geblokkeerd zijn zonder logs te lezen. Acceptatie: - status, laatste succes/fout, volgende run en reden zichtbaar; - handmatige retry respecteert denybeleid; - herhaalde parsefout degradeert bron, niet hele app. ### US-031 — Herstellen na storing Als beheerder wil ik back-up en restore kunnen uitvoeren zodat profiel, vacatures en sollicitatiedossiers niet verloren gaan. Acceptatie: - database- en mediaback-up zijn apart; - restore vereist expliciete bevestiging; - hersteltest is gedocumenteerd; - secrets worden niet in gewone databack-up opgenomen.