goon/app/models
goon-foss 0df2236b37 feat(clips): feed Swipe z afinicznoscia, pamiecia widzianych i telemetria (etap 3)
Tabele per urzadzenie (migracja 0037): clip_seen (wykluczenie, wiersz przy
podaniu klipu), clip_feed_events (append-only: impression z dwell, skip,
complete, like, unlike, not_interested, autoswipe), clip_affinity (wagi
tag/nisza/tworca w JSONB), clip_favorites, clip_blacklist. GIN na clips.niches.

GET /clips/feed: kursor base64 {seed, pk, page} zamiast offsetu; 80% z puli
afinicznosci (skany po tagu/niszy/tworcy od losowego uuid, punktacja
sum wag + 0,3 ln(1+lajki) + swiezosc, max 2 klipy tworcy na strone) + 20%
explore (okno 2000 id po PK, losowanie wazone lajkami, zawijanie na koncu).
Bez wag 100% explore. POST /clips/events: zapis, podniesienie outcome,
ulubione, delty wag (like +5, complete +3, dwell>=10 s +1, skip<2 s -1,
not_interested -4 i -8 na wskazany cel). Onboarding 3 tapow, opcje,
blacklista tag/nisza/tworca, reset feedu, ulubione. Import miedzy
urzadzeniami kopiuje clip_seen, clip_favorites i clip_blacklist.

Job clips-maintenance co 24 h: decay wag x0,97, retencja zdarzen 90 dni,
reaper (HEAD na 2000 najdawniej sprawdzanych). Logika bez bazy w
app/clips_feed.py z testami (kursor, delty, cap/decay, punktacja, sklad).
2026-09-14 20:29:49 +02:00
..
__init__.py feat(clips): feed Swipe z afinicznoscia, pamiecia widzianych i telemetria (etap 3) 2026-09-14 20:29:49 +02:00
base.py Initial commit 2026-05-20 10:10:22 +02:00
blacklist.py style: myslniki em/en z komentarzy i docstringow (calosc repo) 2026-08-11 11:51:57 +02:00
bug_report.py style: myslniki em/en z komentarzy i docstringow (calosc repo) 2026-08-11 11:51:57 +02:00
clip.py feat(clips): tabele klipow do feedu Swipe + ingest RedGifs (etap 2) 2026-09-14 16:32:57 +02:00
clip_feed.py feat(clips): feed Swipe z afinicznoscia, pamiecia widzianych i telemetria (etap 3) 2026-09-14 20:29:49 +02:00
duration_backfill_queue.py feat(ingest): backfill brakujacej dlugosci scen 2026-08-20 12:10:22 +02:00
external_record.py style: myslniki em/en z komentarzy i docstringow (calosc repo) 2026-08-11 11:51:57 +02:00
favorite_movie.py style: myslniki em/en z komentarzy i docstringow (calosc repo) 2026-08-11 11:51:57 +02:00
favorite_performer.py style: myslniki em/en z komentarzy i docstringow (calosc repo) 2026-08-11 11:51:57 +02:00
favorite_scene.py style: myslniki em/en z komentarzy i docstringow (calosc repo) 2026-08-11 11:51:57 +02:00
favorite_site.py feat(favorites): przypinane strony (favorite_sites) z endpointami list/add/remove 2026-09-02 22:44:35 +02:00
favorite_studio.py style: myslniki em/en z komentarzy i docstringow (calosc repo) 2026-08-11 11:51:57 +02:00
ingest_run.py Initial commit 2026-05-20 10:10:22 +02:00
merge_candidate.py Initial commit 2026-05-20 10:10:22 +02:00
movie.py style: myslniki em/en z komentarzy i docstringow (calosc repo) 2026-08-11 11:51:57 +02:00
movie_playback_source.py style: myslniki em/en z komentarzy i docstringow (calosc repo) 2026-08-11 11:51:57 +02:00
performer.py perf(taxonomy): denormalize scene_count for tags/performers/studios 2026-05-31 17:53:48 +02:00
phash_backfill_queue.py feat(dedup): backfill phasha z zapisanych miniaturek 2026-08-13 10:49:12 +02:00
phash_blacklist.py style: myslniki em/en z komentarzy i docstringow (calosc repo) 2026-08-11 11:51:57 +02:00
play_progress.py style: myslniki em/en z komentarzy i docstringow (calosc repo) 2026-08-11 11:51:57 +02:00
playback_event.py style: myslniki em/en z komentarzy i docstringow (calosc repo) 2026-08-11 11:51:57 +02:00
playback_source.py style: myslniki em/en z komentarzy i docstringow (calosc repo) 2026-08-11 11:51:57 +02:00
saved_search.py style: myslniki em/en z komentarzy i docstringow (calosc repo) 2026-08-11 11:51:57 +02:00
scene.py feat(filtr): minimalna jakosc w filtrze scen (720p/1080p/4K) 2026-08-18 11:06:34 +02:00
source.py Initial commit 2026-05-20 10:10:22 +02:00
source_stats.py style: myslniki em/en z komentarzy i docstringow (calosc repo) 2026-08-11 11:51:57 +02:00
studio.py perf(taxonomy): denormalize scene_count for tags/performers/studios 2026-05-31 17:53:48 +02:00
tag.py style: myslniki em/en z komentarzy i docstringow (calosc repo) 2026-08-11 11:51:57 +02:00