This commit is contained in:
2026-07-26 18:11:57 +02:00
parent d408e01ab5
commit 21a3b34471
139 changed files with 32872 additions and 0 deletions
@@ -0,0 +1,33 @@
# 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
1. **Weighted random** nach `weight` (häufige echte Phrasen öfter)
2. **Keine Duplikate** in Offer + bereits gewählten Texten
3. **usedSuggestionIds** meiden, bis Pool zu klein → dann Fallback
4. **Ferienwoche / keine Schule:** nur `type: betrieb`
5. **Schulwoche:** überwiegend Betrieb; 02 Schule-Themen in größeren Offers
6. **Auto-füllen Woche:** ca. 812 Betriebseinträge, thematisch gemischt (nicht 8× nur Ablage)
7. **Diversität:** bei Auto-füllen max. 23 aus derselben `category`, außer Pool zu klein
8. **Themen der Woche:** random aus echten `WEEK_THEMES`
## API (orientierend)
```ts
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