main.py brugte asyncio.create_task i YouTube-ruterne (tilføj video, tilføj
og kør overvågede kanaler), men importen på modulniveau forsvandt 2026-09-20
(9675a5b); kun to funktioner havde en lokal import. Siden da gav "tilføj
overvåget kanal" og "tilføj video" 500 (NameError).
CI kører nu pyflakes og fejler på udefinerede navne, så det fanges før drift.
Claude-Session: https://claude.ai/code/session_012LCTmU2ewo8tnM1dByYAoG
Portalen blev udrullet ved at kopiere filer ind i drift, og drift og git gled
fra hinanden. Nu er appmappen i drift en git-checkout, og et v*-tag udruller
via Gitea Actions: CD logger ind som deploy-brugeren og kører
deploy/deploy.sh fra tagget. Scriptet afbryder hvis drift afviger fra git,
installerer requirements kun når de er ændret, og ruller tilbage hvis
/healthz ikke svarer efter genstart. Værtsadressen ligger i en repo-variabel.
CI kompilerer Python, parser alle templates og tjekker deploy.sh.
Claude-Session: https://claude.ai/code/session_012LCTmU2ewo8tnM1dByYAoG