gute
This commit is contained in:
@@ -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; 0–2 Schule-Themen in größeren Offers
|
||||
6. **Auto-füllen Woche:** ca. 8–12 Betriebseinträge, thematisch gemischt (nicht 8× nur Ablage)
|
||||
7. **Diversität:** bei Auto-füllen max. 2–3 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
|
||||
Reference in New Issue
Block a user