1.3 KiB
1.3 KiB
S05 – Auswahl-Algorithmus (beste Random-Sets)
Lies prompts/suggestions/00-MASTER.md.
Code vor allem in web/src/lib/suggest.ts (+ App nur wenn nötig).
Ziel
Wenn der User „4 neue“, „8 neue“ oder „Woche automatisch füllen“ klickt, sollen die Vorschläge so gut wie möglich sein – nicht nur zufällig, sondern gewichtet und passend zur Woche.
Regeln
- Weighted random nach
weight(häufige echte Phrasen öfter) - Keine Duplikate in Offer + bereits gewählten Texten
- usedSuggestionIds meiden, bis Pool zu klein → dann Fallback
- Ferienwoche / keine Schule: nur
type: betrieb - Schulwoche: überwiegend Betrieb; 0–2 Schule-Themen in größeren Offers
- Auto-füllen Woche: ca. 8–12 Betriebseinträge, thematisch gemischt (nicht 8× nur Ablage)
- Diversität: bei Auto-füllen max. 2–3 aus derselben
category, außer Pool zu klein - Themen der Woche: random aus echten
WEEK_THEMES
API (orientierend)
pickRandomSuggestions(monday, count, usedIds, alreadySelectedTexts)
pickWeekSet(monday, usedIds) // für Auto-füllen: diverse, gewichtete Woche
Abnahme
- 10× „4 neue“: Phrasen klingen echt, wenig Wiederholung
- Auto-füllen: gemischte Kategorien
- Ferienwoche: keine Schul-Vorschläge im Offer
- Build ok