From 2892b71be3ab9ac6f64344cfc1c47eb0b47d2f78 Mon Sep 17 00:00:00 2001 From: migatu Date: Tue, 21 Jul 2026 16:46:44 +0200 Subject: [PATCH] docs: wymagania feature'u horoskop AI (LOG-29..32, PRE-14/15, Q-12/13) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Nowy feature: generowanie promptow do ChatGPT/Claude z naszych wyliczen i wolanie modelu — horoskop urodzeniowy (ekran Interpretacje) oraz horoskop na wybrany okres (ekran Kalendarz). Warstwa logiczna: - LOG-29 generator promptow (profile natal + okresowy), prompt i wynik PL, obowiazek odnoszenia kazdej tezy do konkretnego sygnifikatora - LOG-30 ograniczanie rozmiaru: dedup -> grupowanie -> sortowanie wg wagi (LOG-21) -> obciecie ogona -> skracanie; raportuje ile pominieto - LOG-31 pluggable LLMProvider (OpenAI/Anthropic) + POST /chart/horoscope; klucz tylko z sekretu, limity kosztu/tokenow, prompt zwracany zawsze - LOG-32 (Must) poufnosc: prompt niesie WLASNOSC wspolpracownika i dane urodzeniowe -> zgoda wlasciciela baz, API zamiast czatu konsumenckiego, minimalizacja, podglad przed wyslaniem, tryb bez pelnych opisow Warstwa prezentacji: - PRE-14 przycisk generowania + budzet promptu + podglad promptu przed wyslaniem + kopiowanie (prompt dziala takze bez wysylki do API) - PRE-15 transparentnosc: dostawca/model, ile wskazan pominieto, zastrzezenie ze to nie porada medyczna, ostrzezenie przed wysylka Pytania otwarte: Q-12 (zgoda wlasciciela baz — blokuje tryb pelnych opisow), Q-13 (dostawca/model i limit kosztow). Zaktualizowane liczniki w arkuszu Przeglad i zakresy autofiltrow. Decyzje wg ustalen w czacie: integracja API, pelne opisy z baz, PL, suwak. Co-Authored-By: Claude Opus 4.8 --- docs/astrololo_wymagania.xlsx | Bin 27373 -> 31448 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/astrololo_wymagania.xlsx b/docs/astrololo_wymagania.xlsx index 6dec045d7cad2fd696e251e6b8164ce72f5cc0fa..efbca755d39fd0a959d99376b04a840abb498a8b 100644 GIT binary patch delta 19657 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