PRE-27: generowanie tekstu przez model znika bez uprawnienia #77
Reference in New Issue
Block a user
Delete Branch "fix/ukryj-funkcje-ai"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Przycisk Generuj prompt, wybór dostawcy, budżet promptu i wybór modelu znikają bez uprawnienia Generowanie tekstu przez model — razem z każdym śladem po nich w źródle strony.
Co było nie tak
Trzy warstwy, nie jedna:
Katalog modeli w każdej stronie.
_prompt_block.htmlwstrzykiwał{{ llm_catalog | tojson }}jako blok JSON — nazwy dostawców, nazwy modeli i rozmiary okien kontekstu — na Interpretacjach i Kalendarzu, niezależnie od uprawnień. To był większy wyciek niż sam przycisk: podgląd źródła opowiadał, co program potrafi.Handlery nie sprawdzały niczego. Trasa
/interpretmusi być dostępna dla konta z Interpretacjami, więc mapatrasa → uprawnieniez PRE-27 tu nie pomaga — granica przebiega wewnątrz trasy, po poluaction. Spreparowany formularz zaction=promptgenerował tekst, aaction=exportpobierał arkusz, mimo że szablon chował oba przyciski.Ślady poza kontrolkami. Znaczniki
natalNoteireportNatal, plikimodels.js/progress.js/natal.js/predictions.js, i podtytuł ekranu Skompiluj, który wymieniał „interpretację natalną z AI" z nazwy.Decyzja projektowa
Akcja bez uprawnienia wraca do akcji domyślnej ekranu, nie daje błędu. Komunikat „brak uprawnień do generowania" sam w sobie mówiłby, że taka funkcja istnieje — czyli łamałby drugą zasadę PRE-27 po to, żeby wyegzekwować pierwszą. Ma wyglądać na literówkę w formularzu.
Testy
12 nowych w
test_ukrywanie_ai.py. 9 z nich pada na kodzie sprzed poprawki — sprawdziłem przezgit stashnaapp/i ponowne uruchomienie, nie przez założenie. Test sprawdza brak 16 konkretnych śladów w źródle, a nie brak przycisku; kontrola pozytywna pilnuje, żeby nie przechodził dlatego, że generowanie jest zepsute dla wszystkich.Cała prezentacja: 350 zielonych.