Zpět do Project Hubu
Project Hub

Historie změn

Co se změnilo pro uživatele a co musí vědět provoz.

Technická verze JSON
  1. v0.6.63

    Co se změnilo

    • AI odpověď se zobrazuje přímo nad tabulkou výsledků, takže je vidět i na užších oknech (do 1320 px), kde je pravý panel projektu zavřený mimo obrazovku.
    • Značky [1], [2] uvnitř odpovědi jsou klikací a skočí na příslušný podklad pod odpovědí; podklad s uloženým odkazem otevře originální dokument v novém panelu, podklad bez odkazu zůstává obyčejným textem místo mrtvého odkazu.
    • Název nalezeného zdroje v tabulce výsledků otevírá originální dokument; kliknutí nebo Enter kdekoli jinde na řádku dál otevírá detail projektu.
    • Tlačítko AI odpověď a záhlaví sloupce Zdroj mají vysvětlivku ve dvou vrstvách (bublina i nativní title), takže popis funguje i pro čtečky obrazovky.

    Proč na tom záleží

    Odpověď s citacemi byla dosud vykreslená v panelu projektu, který je do 1320 px zavřený mimo obrazovku — na notebooku tak uživatel klikl na AI odpověď a nestalo se nic viditelného. Zároveň nešlo z odpovědi ani z výsledku otevřít původní dokument, takže po každém hledání následovalo ruční dohledávání v Drive nebo Notionu.

    Provozní poznámky

    • Prezentační vrstva odpovědi je vyčleněná do `src/components/hub-answer-panel.tsx`; `hub-console.tsx` tím klesl na 1834 řádků a znovu se vejde pod rozpočtovou bránu 1900 řádků v `tests/admin-pages.test.tsx`.
    • Účinnost nového testu ověřena mutací: přesunutí panelu zpět do railu detailu shodilo test `renders a requested AI answer in the results column…` (`workSurface.contains(answerPanel)` false), po obnovení souboru test zase prošel.
    • Externí odkazy mají `rel="noopener noreferrer"` a `target="_blank"`; Enter na odkazu uvnitř řádku výsledku už nevybírá zároveň projekt za ním (řádek reaguje jen na vlastní událost).
    • Bez změny databáze, migrací i závislostí; jde čistě o prezentační vrstvu konzole.
  2. v0.6.62

    Co se změnilo

    • Zdravý Google Drive se v administraci už netváří jako zablokovaný: stav „právě neběží žádný full sync“ se nově čte jako legitimní klidový stav, ne jako poškozená data o průběhu.
    • Ops watchdog kvůli tomu přestal posílat falešný alert o zaseknutém full syncu.
    • Detekce skutečně rozbitého checkpointu zůstává beze změny — nekonzistentní nebo jen částečně vyplněný průběh dál blokuje kartu i po opravě.

    Proč na tom záleží

    Karta Drive hlásila „neplatná data, zkontrolujte checkpoint“ a watchdog poslal e-mail o zaseknutém syncu, přestože full sync doběhl v 7:55 a inkrementální v 9:45. Alerting, kterému se nedá věřit, je horší než žádný — vlastník se naučí ignorovat i skutečný výpadek.

    Provozní poznámky

    • Příčina: health RPC vrací tři pole o průběhu full syncu jako null (ne jako chybějící klíče), a kontrola `!== undefined` je proto četla jako „průběh je hlášený, ale nečitelný“. Vada existovala od migrace 20260715002000 (15. 7. 2026), tedy týdny.
    • Po nasazení je vhodné smazat řádek ingest-health z ops_alert_state, aby dedup nezůstal viset na falešném otisku a další skutečný problém odešel hned.
    • Účinnost ověřena dvěma mutacemi (návrat k `!== undefined` shodil tabulkový test nad produkčním payloadem i watchdog test; vypnutá kontrola completed <= totalRoots shodila test nekonzistentního checkpointu); soubor byl poté obnoven beze změny.
    • Testy běží plně offline nad zachyceným produkčním payloadem z 2. 8. 2026 11:46 CEST; nevolá se síť ani databáze a migrace se nemění.
  3. v0.6.61

    Co se změnilo

    • Nový hodinový ops watchdog kontroluje zdraví ingestu a při problému pošle jeden český e-mail s tím, co je špatně, od kdy a odkazem do administrace.
    • Watchdog vyhodnocuje už existující signály: 30hodinové SLA kontroly čerstvosti, poslední chybu Google Drive syncu, chybějící embeddingy a zaseknutý zámek synchronizace.
    • Stejný problém se nepřipomene častěji než jednou za 24 hodin; nový nebo změněný problém se ohlásí okamžitě a po uzdravení se dedup záznam maže.

    Proč na tom záleží

    Dosud byla veškerá provozní viditelnost pull-only — výpadek ingestu se poznal, jen když se někdo přihlásil do administrace, takže produkce mohla tiše hořet celé dny. Watchdog obrací tok informace a ozve se sám.

    Provozní poznámky

    • Watchdog je vypnutý, dokud vlastník nenastaví PROJECT_HUB_ALERT_RESEND_API_KEY a PROJECT_HUB_ALERT_EMAIL_TO na Vercelu; bez nich cron vrátí 200 se status=disabled a zapíše, která hodnota chybí.
    • Migrace 20260726120000 přidává service-role-only čtení Drive health a tabulku ops_alert_state pro deduplikaci; není aplikovaná a je součástí owner kroku spolu s env.
    • Review odhalilo, že sdílená Drive health funkce byla nejprve přepsaná podle o den starší verze migrace, což by z živé admin funkce tiše odstranilo tři pole o průběhu full syncu a vyplo detekci zaseknutého syncu; opraveno a nově hlídané testem, který porovnává vracené klíče napříč všemi migracemi.
    • Nedostupné dedup úložiště watchdog vyhodnotí jako 503 a e-mail raději nepošle, aby nemohl začít posílat stejný alert každou hodinu.
    • Účinnost ověřena šesti mutacemi (smazané cooldown okno, nestabilní fingerprint, nemazaný dedup záznam po uzdravení, odeslání při nedostupném úložišti, vypnutá config brána, odstraněná kontrola Bearer tokenu); každá shodila alespoň jeden test a soubory byly poté obnoveny beze změny.
    • Testy běží plně offline s injektovanými závislostmi; během vývoje nebyl odeslán žádný reálný e-mail a nevolala se síť, Keychain ani databáze.
  4. v0.6.60

    Co se změnilo

    • Auth callback brána proti cizím Google účtům má nově vlastní regresní testy pro povolený Workspace e-mail, allowlist, cizí i podobně vypadající doménu, chybu výměny kódu a chybějící kód.
    • Testy ověřují i to, že odmítnutá identita přijde o právě vyměněnou session a že se bez kódu vůbec nevytvoří Supabase klient.

    Proč na tom záleží

    Přihlášení cizím Google účtem je jediná brána mezi veřejným internetem a firemními daty. Doteď ji nechránil žádný test, takže tichá regrese v podmínce domény by se projevila až v produkci.

    Provozní poznámky

    • Testy běží plně offline s mockovaným Supabase klientem; nevolají síť, Keychain ani produkční databázi.
    • Účinnost byla ověřena pěti mutacemi routy (odstraněná kontrola domény, substring match místo přesné shody, vynechaný signOut, ignorovaná chyba výměny kódu, vypnutá kontrola chybějícího kódu); každá shodila alespoň jeden test a zdrojový soubor byl poté obnoven beze změny.
    • Negativní živý běh s druhým, nízkoprivilegovaným Workspace účtem (F1/F2, rls:parity) zůstává otevřený — vyžaduje reálný druhý účet a testy jej nenahrazují.
  5. v0.6.59

    Co se změnilo

    • Pravidelná 15minutová Notion synchronizace je produkčně aktivní se serverovým tokenem, databázovým lease a fail-closed complete/apply-ready bránou.
    • Produkční migrace 20260719170000 přidala service-role-only lease a restricted embedding RPC i bounded admin evidence.
    • Dva po sobě jdoucí přirozené cron běhy prošly jako úplný první běh a čistý steady-state replay.

    Proč na tom záleží

    Přijatý Notion index se nyní automaticky aktualizuje po změnách, aniž by neúplný crawl mohl spustit purge nebo překrývající se běhy poškodily stav.

    Provozní poznámky

    • Aktivace proběhla z privátního checkpointu nad 103 resources, 105 dokumenty, 4 chunky a 4 aktivní embeddingy; rollback nebyl potřeba.
    • Přirozené běhy v 00:30 a 00:45 CEST skončily HTTP 200, lease se pokaždé uvolnila, lastErrorCode zůstal null a missing embeddings 0.
    • Ingest endpoint nebyl během acceptance ručně volaný; write lock byl před běhy odstraněný a produkce je znovu plně zapisovatelná.
  6. v0.6.58

    Co se změnilo

    • Produkční odpovědi nově posílají Cross-Origin-Opener-Policy same-origin-allow-popups podle doporučení Google Identity Services.
    • Lokální Playwright CLI artefakty jsou ignorované stejně jako dosavadní Playwright MCP artefakty.

    Proč na tom záleží

    Project Hub tím splňuje providerem požadovaný opener kontrakt a snižuje riziko prázdného popupu nebo přerušené komunikace s Google account chooserem.

    Provozní poznámky

    • Změna nevytváří connection ani ingest zápis; produkční Picker smoke končí bezpečným zavřením chooseru.
    • Chromium při automatizovaném zavření chooseru nadále loguje dvě Google GIS window.closed COOP chyby; popup i fail-closed návrat fungují a tento provider/browser residual se nesmí maskovat slabším unsafe-none.
    • Rozšířená CSP zůstává report-only a nonce kontrakt v0.6.57 se nemění.
  7. v0.6.57

    Co se změnilo

    • Nonce-based report-only kandidát nyní vlastní jediná Proxy vrstva; kolidující statická Vercel CSP deklarace byla odstraněna.
    • Stávající ochrany zůstávají účinné bez blocking CSP headeru: clickjacking blokuje X-Frame-Options DENY a časný enforce meta CSP omezuje base-uri a form-action na stejný origin.

    Proč na tom záleží

    Next.js upřednostňuje blocking CSP header před report-only kandidátem. Jeho dočasným odstraněním během měřicí fáze může App Router připojit stejný request nonce ke frameworkovým a inline skriptům, aniž by se oslabila dosavadní clickjacking, base URI nebo form ochrana.

    Provozní poznámky

    • Oprava reaguje na produkční důkaz v0.6.56: response nonce byl unikátní, ale renderovaný RSC označil framework nonce jako undefined.
    • Rozšířená script/default/connect/style politika zůstává report-only; plný blocking CSP header se vrátí až s ověřeným nonce kandidátem při enforcement release.
  8. v0.6.56

    Co se změnilo

    • Report-only Content Security Policy nyní používá pro každý HTML request nový kryptografický nonce a předává jej Next.js renderingu.
    • Veřejný login, changelog a Google Drive onboarding se renderují dynamicky; oba Google Picker skripty dostávají stejný request nonce.
    • Script politika přidává strict-dynamic a nadále neobsahuje unsafe-inline, unsafe-eval ani wildcard.

    Proč na tom záleží

    Next.js bootstrap skripty a schválený Google Picker lze přesně autorizovat bez oslabení CSP. Tím se odstraní hlavní překážka před budoucím blokujícím XSS a exfiltration containmentem.

    Provozní poznámky

    • Celá kandidátní politika zůstává pouze report-only; stávající blokující frame-ancestors, base-uri a form-action se nemění.
    • Blokující script-src, default-src, connect-src ani style-src se nesmí aktivovat před novým autentizovaným browser průchodem a vyhodnocením zbývajících Google GIS inline-style reportů.
  9. v0.6.55

    Co se změnilo

    • Notion má připravenou autentizovanou 15minutovou synchronizaci s databázovým lease, úplným fail-closed crawl/reconcile postupem a doplněním embeddingů pro aktivní model.
    • Detail Notion zdroje v indexačním hubu nově ukazuje, zda je pravidelná synchronizace aktivní, právě běží, kdy naposledy uspěla a zda skončila bounded chybou.
    • Nová migrace přidává jen service-role RPC pro lease, restricted Notion embeddingy a bounded admin evidence; raw těla, tokeny ani názvy do provozních důkazů nevkládá.

    Proč na tom záleží

    Přijatý WP8E baseline lze převést na pravidelně aktuální index bez překryvu běhů, bez tichého purge z neúplného snapshotu a bez záměny embedding modelu.

    Provozní poznámky

    • Release zůstává inertní, dokud není samostatně aplikována migrace 20260719170000 a přesně nastaveno PROJECT_HUB_ENABLE_NOTION_SYNC=true spolu se server-only Notion tokenem.
    • Fresh local apply všech 47 migrací, service-role ACL/model contract, rollback, DB lint a aplikační testy prošly; tento code release sám nemění produkční schéma ani corpus.
  10. v0.6.54

    Co se změnilo

    • WP8E first-ingest controller nyní správně započítá zachované metadata řádky, importuje restricted Notion chunky a používá platné argumenty embedding příkazu.
    • Notion detail v indexačním hubu odvozuje pokrytí z úplného 100objektového checkpointu, takže zachované starší metadata řádky už nezpůsobí chybu stránky.
    • Produkční golden katalog míří na moderní Notion data-source identifikátor a cross-source klasifikace jej počítá jako Notion.

    Proč na tom záleží

    První plný Notion index lze bezpečně aplikovat, rollbackovat a ověřit jediným fail-closed postupem. Admin zároveň uvidí pravdivých 100 / 100 místo HTTP 500.

    Provozní poznámky

    • Produkční WP8E baseline prošel 30 / 30 live golden dotazy při p95 556 ms; 4 searchable chunky mají 4 aktivní embeddingy a 96 neúplných objektů zůstává metadata-only.
    • Oprava nemění ACL: WP8 full-content zdroje i embedding import zůstávají restricted.
  11. v0.6.53

    Co se změnilo

    • Detail Notion zdroje v centrálním indexačním hubu nově ukazuje explicitní complete, apply-ready a purge-proof stav místo trvalého „Neměřeno“.
    • Admin-only evidence používá pouze bounded počty a časy posledního reconcile; běžnému uživateli, anonymnímu ani service-role RPC nevrací žádná data.

    Proč na tom záleží

    Po prvním WP8E běhu bude na první pohled vidět přesný jmenovatel, počet searchable a karanténních objektů a bezpečnost purge. Před prvním během UI pravdivě oznámí, že na něj čeká.

    Provozní poznámky

    • Nová migrace je dopředná, obsahuje pouze admin evidence RPC a auditní marker; nemění Notion corpus ani nespouští ingest.
    • Kód bezpečně funguje i před aplikací migrace. Produkční schema apply zůstává součástí samostatně schvalovaného WP8E write okna.
  12. v0.6.52

    Co se změnilo

    • WP8E má nový fail-closed operátorský příkaz pro první Notion full-content ingest, embeddingy a živý cross-source benchmark.
    • Po každé chybě vzniklé po úspěšném apply příkaz automaticky použije source-scoped checkpoint rollback a ověří přesný návrat všech Notion počtů.

    Proč na tom záleží

    První produkční Notion ingest už nebude záviset na sérii volných ručních příkazů. Jediný kontrolovaný postup váže reviewed bundle, produkční commit, migrace, write lock, checkpoint, apply, embeddingy, acceptance a rollback.

    Provozní poznámky

    • Controller bez exact current-task potvrzení odmítne ještě před checkpointem a bez aktivního write locku odmítne před DB capture nebo apply.
    • Tato verze sama Notion obsah neaplikuje. Ordinary-user ACL, privátní body-only goldens a unshare/purge smoke zůstávají samostatné produkční gates.
  13. v0.6.51

    Co se změnilo

    • Placený Google Document AI benchmark nyní vyžaduje explicitní potvrzení nezávisle ručně ověřeného referenčního textu.
    • Neověřený nebo strojově odvozený benchmark se zastaví ještě před získáním cloudového tokenu a před voláním OCR provideru.

    Proč na tom záleží

    Shoda OCR s textem vytaženým z téhož PDF není spolehlivý důkaz přesnosti u tabulek a vícesloupcových dokumentů. Nová fail-closed brána zabraňuje falešnému PASS i zbytečným placeným běhům.

    Provozní poznámky

    • Pevné kvalitativní a nákladové limity se nemění; první živý benchmark nadále zůstává FAIL a OCR je produkčně vypnuté.
    • Další kandidátní korpus lze spustit až po nezávislé kontrole textu, hledaných termínů, jazyků a počtu stran.
  14. v0.6.50

    Co se změnilo

    • Google Document AI adaptér nově použije průměr confidence OCR tokenů, když poskytovatel nevrátí confidence celé stránky.
    • Jazyk dokumentu se bezpečně doplní z tokenů a smíšený benchmark ověřuje očekávaný jazyk jednotlivých případů.

    Proč na tom záleží

    Reálné Enterprise OCR odpovědi často vynechávají confidence a jazyk na úrovni stránky. Benchmark je nyní vyhodnotí podle skutečných tokenových dat místo falešného provider failure nebo hromadného language mismatch.

    Provozní poznámky

    • První EU benchmark zpracoval 20 případů a 51 stran, ale pevné kvalitativní brány zatím neprošel; OCR proto zůstává produkčně vypnuté.
    • Soukromý korpus, očekávané texty, OCR výstupy, tokeny a názvy dokumentů nejsou součástí repozitáře ani release logů.
  15. v0.6.49

    Co se změnilo

    • Původní cross-source katalog nyní označuje všech 30 sanitizovaných případů jako produkční acceptance.
    • Nový přepínač `--live` spustí jeden společný read-only gate pro repository, Google Drive, Notion a website výsledky.

    Proč na tom záleží

    Historický stav 17 live + 13 čekajících website případů už neodpovídal produkci. Jediný příkaz nyní prokáže správný první výsledek i p95 SLO napříč všemi čtyřmi zdroji.

    Provozní poznámky

    • První společný produkční běh prošel 30/30 při p95 570 ms; samostatný website gate prošel 30/30 při p95 539 ms.
    • Gate pouze čte autentizované Search API a neukládá snippets, těla dokumentů, cookies ani osobní data Curiosity.
  16. v0.6.48

    Co se změnilo

    • Embedding resolver preferuje explicitní OpenAI klíč před automatickým Vercel OIDC fallbackem.

    Proč na tom záleží

    Produkce už má explicitní `OPENAI_API_KEY`; Drive cron proto použije ověřenou přímou OpenAI embeddings cestu místo problematické automatické AI Gateway identity.

    Provozní poznámky

    • Explicitní `AI_GATEWAY_API_KEY` zůstává nejvyšší prioritou; OIDC zůstává fallbackem, pokud není nakonfigurován žádný explicitní provider klíč.
    • Nevzniklo žádné nové tajemství a změna sama nevolá ingest endpoint ani nezapisuje do corpus.
  17. v0.6.47

    Co se změnilo

    • Provider diagnostika používá validovanou kombinaci `provider/status/reason` i tehdy, když runtime odstraní název Error třídy.

    Proč na tom záleží

    Přirozený Drive cron rozliší transport, HTTP stav a payload validaci podle bezpečných vlastností, které produkční bundler skutečně zachovává.

    Provozní poznámky

    • Neplatný nebo neúplný stav se dál redukuje na provider-unclassified; žádná zpráva ani stack se neloguje.
    • Změna nevolá ingest endpoint, nemění databázi a neprovádí ruční embedding zápis.
  18. v0.6.46

    Co se změnilo

    • Plánovaný Drive sync zmenšuje jednu AI Gateway embedding dávku z 96 na 16 chunků.

    Proč na tom záleží

    Maximální provider odpověď je přibližně šestkrát menší, zatímco 78 aktuálně chybějících embeddingů se stále vejde do pěti iterací jednoho přirozeného cron běhu.

    Provozní poznámky

    • Stávající limit 64 iterací, model-aware RPC, cursor a fail-closed checkpoint zůstávají beze změny.
    • Změna nevolá ingest endpoint; produkční účinek proběhne pouze v nejbližším přirozeném cronu.
  19. v0.6.45

    Co se změnilo

    • Drive embedding diagnostika rozpozná typované provider chyby i přes hranici JavaScript runtime realm.

    Proč na tom záleží

    Produkční bundler už nemůže shodit bezpečnou klasifikaci jen proto, že `instanceof Error` vrátí false; kontrolují se pouze povolená strukturální pole.

    Provozní poznámky

    • Povolené provider, status, reason a error-class hodnoty se dál uzavírají do stejného malého enumu.
    • Změna nevolá ingest endpoint, nemění databázi a neloguje message, stack, odpověď ani obsah dokumentu.
  20. v0.6.44

    Co se změnilo

    • Omezený embedding diagnostický důkaz se ukládá přímo na vlastní Drive stage error v okamžiku zachycení.

    Proč na tom záleží

    Produkční diagnostika už nezávisí na tom, zda bundler zachová hluboký řetězec `Error.cause`; route přitom znovu validuje a vypisuje jen povolený enum.

    Provozní poznámky

    • Neznámá provider výjimka se zredukuje pouze na povolenou třídu Error, TypeError, RangeError nebo unknown.
    • Změna nevolá ingest endpoint, nemění databázi a neukládá zprávy chyb, odpovědi poskytovatele ani obsah dokumentů.
  21. v0.6.43

    Co se změnilo

    • Embedding klient bezpečně rozlišuje transportní selhání AI Gateway a strukturálně neplatné řádky odpovědi.

    Proč na tom záleží

    Poslední neklasifikované provider výjimky už nepropadnou jako obecný `TypeError`; cron ukáže omezenou větev a nikdy nezaloguje síťový detail ani hodnoty odpovědi.

    Provozní poznámky

    • Řádky odpovědi nově musí mít unikátní index v povoleném rozsahu a pole embedding; jinak jsou fail-closed jako malformed-payload.
    • Změna nevolá ingest endpoint, nemění databázi a neprovádí ruční corpus ani embedding zápis.
  22. v0.6.42

    Co se změnilo

    • Embedding klient rozlišuje bezpečné důvody neplatné provider odpovědi: jiný počet výsledků nebo neplatný vektor.

    Proč na tom záleží

    Přirozený Drive cron může určit poslední neznámou větev incidentu bez logování počtů, vektorů, odpovědi poskytovatele nebo textu dokumentů.

    Provozní poznámky

    • HTTP chyby, chybějící credentials a interní runtime fáze zůstávají rozlišeny stejně jako dosud.
    • Změna nevolá ingest endpoint, nemění databázi a neprovádí žádný corpus ani embedding zápis mimo přirozený cron.
  23. v0.6.41

    Co se změnilo

    • Drive cron diagnostika projde celý bezpečný řetězec příčin a upřednostní omezený provider HTTP stav před obecnou runtime fází.

    Proč na tom záleží

    Incident lze nyní rozlišit na chybějící credentials, konkrétní stav AI Gateway nebo interní fázi bez logování těla odpovědi či obsahu dokumentu.

    Provozní poznámky

    • Pokud konkrétnější provider důkaz není dostupný, log zůstane u stávající omezené runtime fáze.
    • Změna nevolá ingest endpoint, nemění databázi a neoslabuje redakci HTTP odpovědi 503.
  24. v0.6.40

    Co se změnilo

    • Provider a credential chyby z Drive embedding běhu nyní vždy zůstanou uvnitř omezené fáze `provider-response`.

    Proč na tom záleží

    Přirozený cron už při známé chybě poskytovatele nezapíše jen obecné `embedding_failed`; bezpečný stavový kód umožní cílenou nápravu bez ukládání odpovědi poskytovatele.

    Provozní poznámky

    • Původní typ chyby zůstává zachovaný v interním řetězci příčin, takže HTTP route dál rozliší chybějící credentials a omezený provider status.
    • Změna nevolá ingest endpoint, neposouvá cursor a nemění schéma ani indexovaný obsah.
  25. v0.6.39

    Co se změnilo

    • Přirozený Drive cron uloží omezenou interní embedding fázi do existujícího `last_error_code`, pokud běh selže po úspěšném 29/29 reconcile.

    Proč na tom záleží

    Příčinu lze ověřit read-only přímo v Supabase i tam, kde Vercel CLI nezpřístupní runtime console logy; citlivý obsah ani databázová chybová zpráva se neukládají.

    Provozní poznámky

    • Nové kódy mají pouze tvary jako embedding_store_failed nebo embedding_provider_response_failed. Ostatní chyby nadále používají stávající obecný kód.
    • Změna nevolá endpoint, neposouvá cursor a nepřidává žádnou novou tabulku ani produkční konfiguraci.
  26. v0.6.38

    Co se změnilo

    • Drive embedding diagnostika rozlišuje načtení chybějících chunků, validaci odpovědi poskytovatele, uložení do Supabase a vyčerpání bezpečné batch hranice.

    Proč na tom záleží

    Další přirozený cron určí poslední interní místo selhání bez ručního ingestu a bez logování textu, vektoru, databázové chyby nebo přihlašovacích údajů.

    Provozní poznámky

    • Známé autentizační a provider HTTP chyby si ponechávají přesnější omezenou klasifikaci z v0.6.37; ostatní odpovědi jsou pouze provider-response.
    • Změna je diagnostická a nemění pořadí checkpointu, cursoru, purge proof ani embedding zápisu.
  27. v0.6.37

    Co se změnilo

    • Selhání Drive embeddingů zachová interní příčinu až k route a do Vercel logu zapíše jen omezený typ chyby, poskytovatele a HTTP status.

    Proč na tom záleží

    Opakovaný přirozený cron lze rozlišit na chybějící přihlášení, provider HTTP chybu a ostatní interní selhání bez zveřejnění tokenu, textu dokumentu nebo odpovědi poskytovatele.

    Provozní poznámky

    • Produkční odpověď endpointu zůstává beze změny redigovaná jako HTTP 503 se stavem failed; diagnostika nemění corpus, checkpoint, lease ani embeddingy.
    • Po nasazení se znovu čeká pouze na přirozený cron. Podle omezeného důkazu se opraví konkrétní autentizace, kredit nebo provider stav.
  28. v0.6.36

    Co se změnilo

    • Embedding klient používá v produkci automatický krátkodobý Vercel OIDC token pro AI Gateway, pokud není nastavený samostatný Gateway klíč.

    Proč na tom záleží

    Plánovaný Google Drive sync může bezpečně dokončit chybějící embeddingy bez dlouhodobého produkčního API klíče a bez opakovaných 503 po dokončení průchodu 29/29.

    Provozní poznámky

    • Po nasazení se endpoint nevolá ručně: acceptance čeká na přirozený cron, nulový počet chybějících Drive embeddingů, odstranění checkpointu a nový úspěšný incremental timestamp.
    • Pořadí přihlašovacích metod zůstává fail-closed: explicitní AI Gateway klíč má přednost, pak Vercel OIDC a až potom přímý OpenAI klíč.
  29. v0.6.35

    Co se změnilo

    • Google Sheets values čtení umí po HTTP 5xx rozdělit také jediný příliš velký řádkový rozsah a znovu jej složit se zachovanými prázdnými pozicemi.

    Proč na tom záleží

    Full Drive reconcile už není závislý na tom, zda Google zvládne vrátit až 50 000 řádků jednoho listu v jediné odpovědi; zmenšuje jen problematickou část a nadále zachovává úplnost indexu.

    Provozní poznámky

    • v0.6.34 prokázala, že chyba není jen v počtu tabů v dávce: přirozený cron znovu skončil 503 po rozdělení multi-range batchů. Jednořádkový trvale vadný rozsah a všechny 4xx zůstávají strict a neposunou checkpoint.
  30. v0.6.34

    Co se změnilo

    • Google Sheets values batch se po přechodné serverové chybě automaticky rozdělí na menší části, místo aby opakoval stejný příliš široký požadavek.

    Proč na tom záleží

    Sheet-heavy Drive root může zachovat rychlé dávkové čtení a současně dokončit i v případě, že Google odmítne velkou kombinaci tabů; jednotlivá trvale vadná data dál bezpečně zastaví purge proof.

    Provozní poznámky

    • Oprava reaguje na dva přirozené produkční crony, které po 4 až 5 minutách skončily na jediném Google Sheets values HTTP 503. Endpoint nebyl volán ručně; po nasazení se znovu sleduje pouze přirozený cron a postup z 5/29.
  31. v0.6.33

    Co se změnilo

    • Tabulka Centrálního indexačního hubu se vejde do běžného 1280px pracovního okna včetně rozhodovacího sloupce Další krok.

    Proč na tom záleží

    Správce už nemusí objevit skrytou vodorovnou lištu, aby zjistil, co má s konkrétním zdrojem udělat dál.

    Provozní poznámky

    • Úzká CSS oprava vychází z produkčního vizuálního nálezu na 1280px viewportu; nemění data, indexaci, ACL ani zapisovací chování.
  32. v0.6.32

    Co se změnilo

    • Centrální Indexing Hub ukazuje skutečný průběh systémového Drive po rootech a Notion už odkazuje na aktuální WP8E content acceptance místo dokončené schématické fáze.
    • Přímo adresované vyhledávání během načítání nesmí krátce ukázat nesouvisející výchozí registry výsledky ani automaticky otevřít jejich detail.
    • Sheet-heavy Drive rooty slučují až 50 tabů do jednoho quota-safe Sheets batch requestu, aby přirozený cron nepřekročil běhové okno.
    • Notion crawler bezpečně zpracuje strukturální divider a table bloky a vnořenou child_database skutečně projde přes její data sources a stránky.

    Proč na tom záleží

    Administrace popisuje živý stav bez zavádějících mezistavů, opakovaný Drive full reconcile může překonat dosavadní sheet-heavy root a WP8E má úplný, purge-safe read-only snapshot místo falešné nebo neúplné připravenosti.

    Provozní poznámky

    • Produkční Drive endpoint nebyl volán ručně. Oprava čeká na zelený release; po nasazení se ověří pouze přirozený cron, dokončení 29/29, nulové missing embeddings a následný incremental timestamp.
    • Read-only Notion snapshot po opravě obsahuje 100 dokumentů a je complete/applyReady; jeden credential signál zůstává správně metadata-only. Produkční Notion apply, embeddingy, golden acceptance a unshare/purge rollback stále vyžadují samostatný checkpoint.
  33. v0.6.31

    Co se změnilo

    • Drive onboarding umí po schválené aktivaci zpracovat moderní DOCX, XLSX a PPTX s omezeným rozbalením, citacemi po dokumentu, listu a snímku a přesnou capability revizí 2.
    • Nedostupný Office soubor se už neztratí z reconcile důkazu: zůstane metadata-only s omezeným problémem a nově viditelný Office soubor vyvolá bezpečný úplný průchod.

    Proč na tom záleží

    První firemní Drive zdroj může po samostatném checkpointu zahrnout běžné moderní Office soubory, aniž by vadný archiv, stará policy nebo dočasná ztráta přístupu vytvořily neúplný či nebezpečný index.

    Provozní poznámky

    • Aktivace vyžaduje migraci 20260715214500 až po schváleném pořadí předchozích WP8 migrací a prvním managed-source checkpointu.
    • PR zůstává draft a tato verze se nesmí nasadit před databázovým apply, prvním řízeným ingestem a ACL acceptance; legacy DOC, XLS a PPT, OCR a Drive shortcuts zůstávají metadata-only.
  34. v0.6.30

    Co se změnilo

    • Detail projektu se na užším desktopu až do 1320 px otevírá na vyžádání v URL-adresovaném draweru, takže tabulka výsledků nepřichází o prostor pro skóre a akce.
    • Záložky výsledků, typy zdrojů, vyhledávací režimy a akce Otevřít originál / Zkopírovat podklady mají srozumitelné české názvy; technické hodnoty zůstávají pouze v URL nebo tooltipu.

    Proč na tom záleží

    Vyhledávání je čitelné na 1280px pracovním displeji a nový uživatel nemusí překládat interní hodnoty jako document, runbook, Seed fallback nebo Copy handoff.

    Provozní poznámky

    • Široký desktop nad 1320 px si ponechává stabilní boční detail; refresh, sdílená URL, back/forward, Escape, backdrop, focus trap a inertní pozadí zůstávají zachované.
    • Release nemění vyhledávací algoritmus, index, databázové schéma, ACL ani produkční data.
  35. v0.6.29

    Co se změnilo

    • Dlouhé akce v prioritním seznamu administrace se na mobilu skládají pod popis a už nepřetékají mimo 390px viewport.

    Proč na tom záleží

    Celá akce zůstává viditelná a dosažitelná i u delšího provozního doporučení; mobilní přehled nemá horizontální posun ani oříznutý text.

    Provozní poznámky

    • Úzký CSS hotfix vychází z reálného produkčního screenshotu a měření scrollWidth 399 px při viewportu 390 px; nemění data ani chování zápisů.
  36. v0.6.28

    Co se změnilo

    • Počty projektů, zdrojů a souborů v přehledu administrace používají správný český tvar také pro hodnoty vyšší než čtyři.

    Proč na tom záleží

    Souhrn už nepůsobí strojově formulací jako „24 projekty“ a zůstává jazykově důvěryhodný i s reálnými produkčními počty.

    Provozní poznámky

    • Úzký TDD hotfix navazuje na živou vizuální kontrolu v0.6.27; nemění data, routy, schéma ani oprávnění.
  37. v0.6.27

    Co se změnilo

    • Administrace nově řadí konkrétní úkoly do přehledu Vyžaduje zásah a každý z nich vede přímo do správné větve.
    • Běhy indexace jsou rozdělené na problémové, probíhající a dokončené; používají lidské názvy zdrojů, čas, odhad a jasný další krok.
    • Přiřazení aplikací dostalo hledání, filtr změněných položek, průběžný souhrn a obnovitelný URL stav.
    • Indexace, vyhledávání a systémové zdraví už ve viditelném rozhraní nepoužívají raw anglické provozní stavy a interní identifikátory.

    Proč na tom záleží

    Správce bez znalosti interní architektury na první pohled pozná, co vyžaduje zásah, co právě běží a jakou bezpečnou akci udělat dál.

    Provozní poznámky

    • Změna je pouze aplikační a prezentační; nemění databázové schéma, indexovaný obsah, ACL, konektory ani produkční data.
    • Hromadné změny přiřazení nebyly přidány bez ověřeného pracovního scénáře; stávající jednotlivé zápisy zůstávají beze změny.
  38. v0.6.26

    Co se změnilo

    • Akce v detailu indexačního zdroje mají zřetelnou barvu, podtržení a pohodlný 44px cíl místo vzhledu obyčejného odstavce.

    Proč na tom záleží

    Odkazy na filtrované běhy, problémy a rozšíření Drive jsou na první pohled rozpoznatelné jako další krok i na dotykovém zařízení.

    Provozní poznámky

    • Úzká vizuální korekce navazuje na produkční kontrolu v0.6.25 a nemění data, routy, schéma ani oprávnění.
  39. v0.6.25

    Co se změnilo

    • Neplatná nebo stará adresa už nekončí anonymní černou 404; Start nabídne bezpečný návrat na rozcestník, do vyhledávání nebo nástrojů.
    • Mobilní administrace po přímém otevření vystředí aktivní větev a vizuálně naznačí, že navigace pokračuje mimo viewport.
    • Google Drive onboarding jasně říká, že rozšiřuje výběr složek stávajícího firemního Drive, a neodpovídající Picker po omezeném čekání bezpečně obnoví ruční alternativu.
    • Detail indexačního zdroje vede na filtrované běhy a problémy, ukazuje skutečnou podporu Drive formátů a místo prázdného auditu pravdivě popisuje ochranu dat.
    • Přiřazení aplikací vysvětluje důsledek každé volby a nahradilo nejasné slovo Vnutit srozumitelným režimem Povinné.

    Proč na tom záleží

    Nový uživatel se z chybové nebo čekací situace vždy vrátí, správce na mobilu vidí aktuální kontext a názvy akcí odpovídají jejich skutečnému dopadu.

    Provozní poznámky

    • Změna vychází z nového živého průchodu všech hlavních, stavových a chybových cest na desktopu i mobilu; finální plán a tři kola vlastní kritiky jsou v docs/UX_MASTER_PLAN_2026-07-16.md.
    • Release nemění databázové schéma, corpus, embeddingy, ACL, konfiguraci konektorů ani produkční data.
  40. v0.6.24

    Co se změnilo

    • Rychlé hledání po stisku Enter skutečně otevře databázové výsledky i tehdy, když příkazová nabídka nenajde předvolbu.
    • Katalog nástrojů používá znovu ověřené oficiální adresy a tři zrušené archivní endpointy už nejsou nabízené jako funkční odkazy.
    • Správa nástrojů už neduplikuje administrační záhlaví; indexační problémy a detail zdroje mají srozumitelnější české popisky, datumy a akce.
    • Názvy runbooků bez skutečného cíle se zobrazují jako informace místo falešných odkazů.

    Proč na tom záleží

    Navigace je konzistentnější na desktopu i mobilu, uživatel nenarazí na neaktivní ovládací prvky a správce rychleji rozliší stav indexace od technických interních kódů.

    Provozní poznámky

    • Audit pokryl všechny uživatelské stránky, hlavní interakce na šířkách 1280 a 390 px a 127 unikátních externích cílů; privátní GitHub odkazy byly ověřeny autentizovaně.
    • Release nemění databázové schéma, corpus, embeddingy, ACL, konfiguraci konektorů ani produkční data.
  41. v0.6.23

    Co se změnilo

    • Odkazy z centrálního indexačního hubu znovu otevírají detail všech produkčních i lokálních konektorů místo chybové stránky 404.
    • Dynamická route bezpečně převede URL-kódované ID zdroje na kanonický tvar a poškozené kódování dál odmítne řízenou 404.

    Proč na tom záleží

    Správce může přejít ze souhrnu přímo na rozsah, formáty, běhy a problémy konkrétního zdroje, aniž by musel obcházet centrální navigaci.

    Provozní poznámky

    • Oprava nemění konfiguraci konektorů, corpus, embeddingy, ACL ani databázové schéma.
    • Regresní kontrakt pokrývá URL-kódované dvojtečky v ID i fail-closed chování pro neplatné procentní kódování.
  42. v0.6.22

    Co se změnilo

    • Owner-only fronta přihlášení už nezobrazuje dokončený `gcloud auth login`; prázdná fronta se v administraci vůbec nevykreslí.
    • Google Drive service-account klíč byl v bezpečném pořadí nahrazen, ověřen přirozeným produkčním cronem a starý klíč byl zneplatněn a odstraněn.

    Proč na tom záleží

    Osobní provozní panel zůstává pravdivý a neplete hotové kroky s otevřenými. Drive synchronizace současně pokračuje pouze přes nový ověřený klíč bez přerušení indexace.

    Provozní poznámky

    • Přirozený incremental cron po redeployi skončil 15. 7. 2026 ve 20:55 CEST bez chyby, aktivní lease nebo full checkpointu.
    • Fronta dál přijímá explicitní otevřené login kroky a celý region se stále serverově zobrazuje pouze osobnímu ownerovi.
  43. v0.6.21

    Co se změnilo

    • Drive onboarding umí vybrat více kořenových složek přímo přes Google Picker a předvyplnit z nich kontrolovaný návrh managed zdroje.
    • Picker žádá až po kliknutí jen omezený `drive.file` scope; krátkodobý Google token zůstává v prohlížeči a neposílá se do Startu ani do logů.

    Proč na tom záleží

    První firemní Drive zdroj už nevyžaduje ruční kopírování ID složek. Uživatel vidí známý stromový výběr a pořád má před ingestem samostatnou kontrolu rozsahu, formátů a checkpointu.

    Provozní poznámky

    • Veřejný Picker klíč je omezený na https://start.swaglift.com a Google Picker API; OAuth klient má tento origin autorizovaný.
    • Release pouze připravuje a vybírá složky. Nevytváří produkční managed connection, nečte obsah a nespouští ingest bez následného explicitního kroku.
  44. v0.6.20

    Co se změnilo

    • Admin → Systém nově ukazuje osobní frontu přihlášení, která vyžadují zásah vlastníka na kanonickém Macu, včetně přesného příkazu a provozního důvodu.
    • První položka připomíná `gcloud auth login` potřebný k bezpečné rotaci Google Drive service-account klíče.

    Proč na tom záleží

    Kroky vyžadující interaktivní přihlášení už nezůstávají schované jen v technickém handoffu. Vlastník je vidí přímo v aplikaci na jednom provozním místě.

    Provozní poznámky

    • Panel se serverově vykreslí jen osobnímu owner účtu; jiný admin nedostane jeho obsah do stránky.
    • Aplikace příkazy sama nespouští, nečte přihlašovací údaje a release nemá databázovou migraci ani změnu produkčních secretů.
  45. v0.6.19

    Co se změnilo

    • Drive Changes cursor nově přeskočí změnu nepodporovaného nesložkového souboru, který nikdy nebyl součástí indexu, místo spuštění full reconcile všech rootů.
    • Neznámá složka, nový podporovaný dokument a známý dokument změněný na nepodporovaný formát dál bezpečně vynucují full reconcile.

    Proč na tom záleží

    Během několikahodinového full běhu vznikají i změny obrázků a dalších neindexovaných formátů. Ty nemění searchable corpus, ale dosud mohly udržovat systém v nekonečné sérii 29rootových full běhů a oddalovat čerstvé podporované dokumenty.

    Provozní poznámky

    • Změna neoslabuje ACL, purge ani scope ochranu: folder změny a jakákoli změna, která může ovlivnit indexovaný obsah, zůstávají fail-closed.
    • Release nemá databázovou migraci ani ruční corpus write; účinek se projeví až při příštím přirozeném zpracování Drive Changes cursoru.
  46. v0.6.18

    Co se změnilo

    • Google Sheets metadata, values, vícelisté batch dávky i retry sdílejí jeden limiter na 48 skutečných API čtení za minutu; dvě pomalé extrakce mohou bezpečně dobíhat souběžně.
    • Jeden pomalý Sheet už neblokuje všechna další čtení v rootu; pořadí, úplnost snapshotu a fail-closed purge proof zůstávají zachované.

    Proč na tom záleží

    Produkční root se 87 tabulkami překročil 800sekundový Vercel limit, protože každé pomalé čtení a retry zastavilo celou sekvenční frontu. Omezené překrytí využije čekání na API bez zvýšení startovací frekvence požadavků.

    Provozní poznámky

    • Stávající 5/15/45sekundové retry prodlevy, čtyři pokusy, ACL a applyReady kontrola se nemění; 1,25sekundový request limiter nechává rezervu pod kvótou 60 Sheets čtení/min.
    • Read-only acceptance problémového 103položkového rootu s 87 Sheets prošla applyReady=true, bez issues, za 542,739 ms proti 800sekundovému limitu.
  47. v0.6.17

    Co se změnilo

    • Dlouhé popisné dotazy se sedmi a více významovými termy nově opírají více o pokrytí obsahu jednoho úryvku a méně o volné výskyty slov v názvu.
    • Jednoznačný dlouhý brandový token projektu, například GGBOOSTER, přidává omezený projektový bonus, ale zůstává součástí samotného textového dotazu.

    Proč na tom záleží

    Přesně popsaný zdroj už nepřebije podobně pojmenovaný produkt nebo obecnější článek. Současně zůstávají krátké produktové dotazy title-first a vzorková balení nepřebírají kanonickou produktovou stránku.

    Provozní poznámky

    • Stejná pravidla platí pro lexikální i hybridní RPC; ACL, corpus, chunky a embeddingy zůstávají beze změny.
    • Rollbackovaná produkční simulace aplikačního přepínače text score ≥ 16, jinak hybrid, prošla 30/30 sanitizovaných website golden dotazů.
  48. v0.6.16

    Co se změnilo

    • Drive full sync nově omezuje počáteční batch na čtyři rooty a od desátého kumulativního checkpointu ukládá právě jeden root na přirozený cron pokus.
    • Pětiminutová cadence zůstává zachovaná; omezení míří na databázové write bursty, nikoli na čtení Drive nebo kvalitu indexu.

    Proč na tom záleží

    Produkční logy ukázaly, že rychlé přepisování rostoucího JSON checkpointu vytvářelo desítky MB WAL a 60–270sekundové databázové checkpointy. Jeden pozdní root na zápis rozloží stejnou práci v čase a vrací kapacitu Searchi i dalším cronům.

    Provozní poznámky

    • Změna nevynechává žádný root: každý zůstává sekvenční, atomicky uložený a další pokus pokračuje přesně z nextRootIndex.
    • Pro současných 29 rootů je pozdní worst-case jeden root za pět minut, stále třikrát rychlejší než původní čtvrthodinový režim.
  49. v0.6.15

    Co se změnilo

    • Google Drive cron nyní ověří service-role lease ještě před otevřením Drive session a před čtením onboarding konfigurace.
    • Překryvný pětiminutový pokus proto provede jen jeden bounded RPC a okamžitě vrátí HTTP 202; těžkou inicializaci spustí pouze vlastník lease.

    Proč na tom záleží

    První produkční pětiminutový provoz odhalil, že overlap mohl při dlouhém rootu zbytečně soutěžit o DB spojení a skončit 503. Brzký lease claim tuto zátěž odstraní, aniž by zpomalil skutečný crawler.

    Provozní poznámky

    • Neočekávaná chyba po získání lease se dál fail-closed zaznamená; setup chyba použije bounded failure RPC a při jeho nedostupnosti nechá lease bezpečně doběhnout nebo jej uvolní podle owneru.
    • Cron cadence, 15minutový lease, root checkpointy, desetiminutový pracovní rozpočet, cursor a purge proof zůstávají beze změny.
  50. v0.6.14

    Co se změnilo

    • Přirozený Google Drive cron běží každých pět minut místo každých patnácti.
    • Stávající 15minutový lease dál vrací bezpečný overlap bez druhého crawleru, pokud předchozí časově omezená dávka ještě běží.

    Proč na tom záleží

    Po dokončení nebo timeoutu dávky se další bezpečný pokus rozběhne nejpozději za pět minut. Běžné změny dokumentů se tak dostanou do vyhledávání rychleji a velký fail-closed full recovery neplýtvá celým čtvrthodinovým slotem.

    Provozní poznámky

    • Změna zvyšuje počet levných lease pokusů, ne počet souběžných Drive crawlerů; API a embedding práce stále probíhá pouze po úspěšném claimu.
    • Denní full hranice, cursor-after-success, purge proof, ACL a model-aware embedding convergence se nemění.
  51. v0.6.13

    Co se změnilo

    • Drive cron route používá stejný 800sekundový limit jako projektová Vercel konfigurace místo chybného lokálního snížení na 300 sekund.
    • Zrychlená dávka má desetiminutový pracovní rozpočet a dál končí nejpozději po deseti rootech.

    Proč na tom záleží

    První produkční dávka neodhalila limit platformy, ale rozpor dvou konfiguračních povrchů. Jejich sjednocení umožní využít už schválenou kapacitu a současně ponechá více než tříminutovou rezervu před vypršením 15minutového lease.

    Provozní poznámky

    • Regresní test nyní čte i route source a vyžaduje shodných 800 sekund na obou Vercel/Next površích.
    • Rooty zůstávají sekvenční, checkpointované jednotlivě a přerušitelné bez ručního cursor nebo corpus zásahu.
  52. v0.6.12

    Co se změnilo

    • Zrychlený Drive full-sync batch po každém dokončeném rootu kontroluje tříminutový pracovní rozpočet a bezpečně vrátí partial výsledek před limitem Vercel funkce.
    • Počet rootů zůstává současně omezený na deset a každý root se dál ukládá samostatně.

    Proč na tom záleží

    První produkční dávka prokázala, že velikost rootů je nerovnoměrná: pevná desítka stihla bezpečně uložit čtyři rooty, ale skončila HTTP 504. Časový rozpočet zachová většinu zrychlení a zabrání visícímu lease i ztracenému cron slotu.

    Provozní poznámky

    • Limit se vyhodnocuje až po atomickém uložení právě dokončeného rootu; žádný rozpracovaný snapshot se neoznačí jako hotový.
    • Pětiminutový runtime, 15minutový lease, cursor a fail-closed `unknown-change` pravidla zůstávají beze změny.
  53. v0.6.11

    Co se změnilo

    • Resumable Google Drive full sync zpracuje v jednom přirozeném cron běhu nejvýše deset rootů za sebou místo jediného rootu.
    • Každý dokončený root se dál ukládá jako samostatný fail-closed checkpoint a serverová funkce má explicitní pětiminutový runtime limit.

    Proč na tom záleží

    Opakovaný full sync po bezpečném `unknown-change` fallbacku už nepotřebuje více než sedm hodin; současný 29rootový corpus se za běžných podmínek dokončí ve třech cron slotech a změněné soubory se vrátí do incrementalu výrazně dřív.

    Provozní poznámky

    • Dávka je sekvenční, nikoli paralelní, takže nezvyšuje špičkovou Google API concurrency; limit deseti rootů chrání Vercel runtime i 15minutový lease.
    • Kurzory, purge proof, ACL, model-aware embedding convergence a checkpoint validace se nemění; při přerušení se pokračuje od posledního jednotlivě uloženého rootu.
  54. v0.6.10

    Co se změnilo

    • Centrální admin indexace nově ukazuje přesný průběh právě běžícího systémového Drive full syncu jako zpracované/celkové rooty, procento a čas posledního checkpointu.
    • Čerstvý checkpoint má přednost před historickým error kódem; neplatný nebo déle než 30 minut stojící checkpoint naopak selže viditelně jako blocker.

    Proč na tom záleží

    Správce už nemusí odhadovat stav z počtu dokumentů ani sahat do databáze: přímo v `/admin/indexing` uvidí například 23 / 29 a pozná, zda plánovaný cron skutečně postupuje.

    Provozní poznámky

    • Admin RPC vrací jen tři bounded údaje o průběhu; snapshoty, root ID, fingerprinty a obsah dokumentů zůstávají service-role-only.
    • Schéma i UI jsou zpětně kompatibilní: před aplikací migrace panel dál funguje bez progress řádku; po aplikaci je nutný admin/non-admin RLS smoke.
  55. v0.6.9

    Co se změnilo

    • Rozběhnutý legacy full-sync checkpoint zůstává kompatibilní i po aktivaci onboarding schématu, pokud neexistuje žádný spravovaný Drive root.
    • Jakmile přibude spravovaný root nebo policy, kompatibilní výjimka se vypne a změna fingerprintu dál invaliduje starý checkpoint.

    Proč na tom záleží

    Přirozený 15minutový cron může navázat na bezpečně uložených 20/29 statických rootů místo pokusu založit nový checkpoint, který databáze správně odmítá jako konfliktní.

    Provozní poznámky

    • Root 21 byl samostatně ověřen read-only crawl testem za 2,36 s bez API chyby; produkční 503 vznikal před uložením kvůli fingerprint continuity, nikoli kvůli obsahu rootu.
    • Release nemaže ani nepřepisuje checkpoint, nevolá ingest ručně a čeká na další přirozený Vercel cron jako produkční acceptance.
  56. v0.6.8

    Co se změnilo

    • Google Drive onboarding dokončení nyní volá existující finish RPC ve správném pořadí page tokenu, režimu, fingerprintu a počtu zpracovaných položek.
    • Databázový lint už nerozbíjejí dvě runtime-testované funkce s dočasnými tabulkami; jejich statickou výjimku omezuje přesný podpis funkce.

    Proč na tom záleží

    Budoucí spravovaný Drive zdroj může po synchronizaci skutečně uzavřít onboarding běh místo chyby neexistujícího podpisu funkce a produkční databázová release brána znovu rozlišuje skutečné chyby od známých omezení lint nástroje.

    Provozní poznámky

    • Chyba byla zachycena produkčním read-only db lintem před aplikací v0.6.7 search migrace; žádný onboarding zdroj ani corpus řádek nebyl při diagnostice vytvořen.
    • Forward migrace zachovává service-role-only ACL, nemění Drive výběr ani obsah a je krytá čerstvým izolovaným onboarding DB rollback kontraktem.
  57. v0.6.7

    Co se změnilo

    • Fuzzy trigramové porovnání celého těla chunku se nově používá jen pro jednoslovné dotazy; víceslovné fráze využijí přesnější fulltextové kandidáty a stávající titulkové fuzzy skóre.
    • Změna platí stejně pro lexikální i hybridní vyhledávání a nemění ACL, corpus, chunky ani embeddingy.

    Proč na tom záleží

    Krátký český dotaz „dózy pont“ už nemusí prověřovat tisíce ztrátových trigramových kandidátů v tělech dokumentů, takže správný titul zůstane první bez sekundové databázové režie.

    Provozní poznámky

    • Produkční EXPLAIN před opravou doložil přibližně 571 ms a 15 838 hit bloků jen v chunk-body trigram větvi; 3 548 indexových kandidátů přežilo recheck pouze v 35 případech.
    • Release se smí uzavřít až po čerstvém lokálním migration/rollback kontraktu, 18/18 produkčním golden výsledku, p95 nejvýše 650 ms a normal-user ACL smoke.
  58. v0.6.6

    Co se změnilo

    • Bonus za částečnou shodu termů v názvu se nově zapíná jen u krátkých dotazů s nejvýše čtyřmi smysluplnými termy.
    • Loose-title kandidáti zůstávají dostupní, ale dlouhé přesné obsahové dotazy si zachovají původní pořadí podle chunk relevance a citace.

    Proč na tom záleží

    Krátké české hledání „dózy pont“ dál vrací správný dokument jako první, zatímco detailní dotaz na konkrétní Pilulka tab se znovu řadí podle přesného obsahu místo obecného účetního názvu.

    Provozní poznámky

    • Forward oprava reaguje na produkční live golden v0.6.5; corpus, ACL, chunks ani embeddings nemění.
    • Po aplikaci musí společně projít oba regresní dotazy a celý autentizovaný golden pod limitem p95 650 ms.
  59. v0.6.5

    Co se změnilo

    • Vyhledávání nově připustí dokument, když se alespoň jeden smysluplný term dotazu shoduje s názvem, i když jiný český tvar slova nesplní doslovné AND hledání.
    • Omezený bonus za shodné termy v názvu upřednostní přesný název před volnými výskyty v nesouvisejícím obsahu; platí stejně pro lexikální i hybridní cestu.

    Proč na tom záleží

    Dotaz „dózy pont“ najde a upřednostní dokument „Výpočty potřeb Dóza a víčka Pont“, aniž by bylo nutné znovu indexovat Drive nebo oslabit oprávnění k soukromým zdrojům.

    Provozní poznámky

    • Regrese je krytá izolovaným PostgreSQL kontraktem s osobním ACL záznamem a transakčním rollbackem i novým produkčním live golden dotazem.
    • Migrace mění pouze dvě interní search funkce; neprovádí corpus, chunk ani embedding zápisy.
  60. v0.6.4

    Co se změnilo

    • Rozpracovaný Google Drive full-sync checkpoint umí bezpečně pokračovat i tehdy, když vznikl se starší verzí fingerprint algoritmu pro stejných 29 statických rootů.
    • Legacy fingerprint je přijímán pouze jako explicitní kompatibilní varianta při dosud nedostupném onboarding schématu; uložená hodnota se během pokračování nepřepisuje.

    Proč na tom záleží

    Plánovaná synchronizace může dokončit již rozběhnutou práci 7/29 bez ručního mazání checkpointu, bez ztráty cursoru a bez oslabení kontrol budoucích spravovaných zdrojů.

    Provozní poznámky

    • Produkční DB log po slotu v0.6.3 v 19:30 CEST doložil konflikt mezi uloženým legacy fingerprintem a rozšířeným algoritmem; jejich shoda pro aktuálních 29 rootů byla ověřena přesným hashem.
    • Release neprovádí migraci ani ruční ingest zápis; přirozený cron má navázat od rootu 8/29 a incident se uzavře až po dvou po sobě jdoucích HTTP 200.
  61. v0.6.3

    Co se změnilo

    • Google Drive runtime nyní zachová informaci, zda je volitelné onboarding schéma skutečně dostupné, a podle ní používá odpovídající čtení i dokončovací RPC.
    • Produkce se starším schématem přeskočí onboarding běhy a bezpečně dokončí synchronizaci přes stávající RPC; po budoucí migraci se automaticky zapne nová onboarding větev.

    Proč na tom záleží

    Průběžná synchronizace firemního Drive už nezávisí na předčasném nasazení samostatně schvalované onboarding migrace a přitom nezakrývá neočekávané databázové chyby.

    Provozní poznámky

    • v0.6.2 ošetřila první chybějící tabulku, ale první přirozený cron v 19:15 CEST odhalil další závislosti v dokončovací větvi; v0.6.3 uzavírá celý capability přechod.
    • Release neaplikuje migrace, nemění corpus ani výběr 29 stávajících Drive rootů; uzavření incidentu stále vyžaduje dva po sobě jdoucí přirozené HTTP 200 cron průchody.
  62. v0.6.2

    Co se změnilo

    • Plánovaná Google Drive synchronizace se při dosud neaplikovaném volitelném onboarding schématu bezpečně vrátí ke stávajícím 29 systémovým rootům.
    • Compatibility fallback přijímá pouze přesně rozpoznanou chybějící onboarding tabulku; oprávnění, síťové chyby a ostatní databázové poruchy dál selžou uzavřeně.

    Proč na tom záleží

    Nové změny v již schváleném firemním Drive indexu se znovu průběžně propisují, aniž by oprava předbíhala samostatně schvalované produkční migrace nebo aktivovala nové zdroje.

    Provozní poznámky

    • Release neaplikuje databázové migrace, nemění výběr Drive složek a neautorizuje website ani Notion ingest.
    • Po nasazení je nutné doložit dva po sobě jdoucí úspěšné 15minutové cron průchody a nulový počet chybějících embeddingů.
  63. v0.6.1

    Co se změnilo

    • Project Hub má serverový časově omezený režim pouze pro čtení, který při řízené indexaci zastaví aplikační zápisy, přihlášení přes callback i plánovanou Drive synchronizaci.
    • Běžné čtení a vyhledávání zůstává dostupné; search telemetry se během údržby nezapisuje a aktivní stav vysvětluje globální banner i redigované health API.
    • Neplatný časový údaj selže bezpečně do uzamčeného stavu, minulý údaj se automaticky deaktivuje a odpovědi na blokovaný zápis vracejí HTTP 423 s bounded důvodem a retry časem.

    Proč na tom záleží

    První produkční ingest webů a další řízené databázové změny lze provést v doložitelném maintenance okně bez souběhu s uživatelskými zápisy nebo Drive cronem, zatímco tým nepřijde o čtení firemních podkladů.

    Provozní poznámky

    • Release je po nasazení inertní: zámek se aktivuje pouze serverovými proměnnými PROJECT_HUB_WRITE_LOCK_UNTIL a PROJECT_HUB_WRITE_LOCK_REASON a bez nich nic neblokuje.
    • Tento release sám neaktivuje maintenance okno, neaplikuje migrace, nezapisuje website corpus ani embeddings a nenahrazuje čerstvý checkpoint, rollback a konkrétní produkční write schválení.
    • Přímý kontrolovaný databázový operátor zůstává mimo aplikační proxy; proto se smí použít jen podle zdrojového runbooku po ověření aktivního zámku.
  64. v0.6.0

    Co se změnilo

    • Administrace indexace má jednotný URL-adresovaný seznam logických zdrojů, samostatné detaily, historii běhů a sjednocenou triáž problémů.
    • Pokrytí se počítá z přesných počtů: neznámý, průběžně zjišťovaný nebo invalidovaný jmenovatel se nikdy nevydává za procento a lokální diagnostika se nezapočítává do produkčního souhrnu.
    • Google Drive rozlišuje systémový zdroj a spravovaná připojení, web používá pouze poslední úplný sitemap rozsah a budoucí Notion řádek zůstává bezpečně bez smyšleného WP8 jmenovatele.
    • Redigovaná diagnostika vrací jen bounded identifikátor, poslední doloženou fázi a pevný reason code; efektivita ukazuje pouze skutečně měřené počty a chybějící data označí jako Neměřeno.

    Proč na tom záleží

    Správce konečně vidí, kolik obsahu je skutečně objeveno, způsobilé, zpracované, vyhledávatelné a vektorizované, odkud čísla pocházejí a jaký ověřený další krok následuje — bez směšování osobního Curiosity, lokálních kontrol a firemní produkce.

    Provozní poznámky

    • Migrace 20260714110000_project_hub_indexing_hub_snapshot.sql zůstává neaplikovaná; do jejího samostatně schváleného apply se produkce bezpečně vrací na dosavadní admin přehled.
    • Tento release neautorizuje produkční změnu zdrojů, konfigurace, corpus dat ani embeddingů. První produkční smoke vyžaduje checkpoint, rollback plán a explicitní write schválení.
    • WP8 adaptér zůstává podmíněný samostatně schváleným Notion schématem. Curiosity není konektor, zdroj dat, backend ani release gate Startu.
  65. v0.5.2

    Co se změnilo

    • Vnořené stránky Google Drive teď v levé navigaci správně zvýrazňují sekci Indexace a používají jediný hlavní obsahový landmark.
    • Mobilní záhlaví plánované synchronizace se skládá do jednoho sloupce a ovládací prvky už nepřetékají mimo úzký viewport.
    • Přehled indexace stabilně vykreslí i více provozních upozornění od stejného poskytovatele bez kolize interních identifikátorů.

    Proč na tom záleží

    Správa zdrojů zůstává srozumitelná a přístupná i na telefonu a při hlubokém odkazu; provozní přehled se nerozbije ani při opakovaných problémech jednoho zdroje.

    Provozní poznámky

    • Release je pouze UI a prezentační hardening; nemění databázi, indexovaný obsah ani synchronizační runtime.
    • Produkční migrace Google Drive onboardingu zůstávají neaplikované a za samostatnou schvalovanou write bránou.
  66. v0.5.1

    Co se změnilo

    • Administrace má vlastní přehlednou strukturu s trvalou navigací a samostatnými adresami pro přehled, indexaci, přístupy, kvalitu hledání, nástroje a systém.
    • Původní dlouhý lineární admin panel už není součástí hlavní pracovní plochy; staré odkazy se bezpečně přesměrují na novou administraci.
    • Google Drive synchronizace, issue queue, externí metadata-only zdroje, přiřazení aplikací, search telemetry a provozní čerstvost zůstávají dostupné ve svých tematických sekcích.
    • Každá admin obrazovka má sdílitelnou URL a citlivá data se načítají až po serverovém ověření administrátorské role.

    Proč na tom záleží

    Rozsáhlá správa Project Hubu už není jedna dlouhá stránka. Správce se rychle dostane přímo k indexaci nebo diagnostice, může poslat odkaz na přesný kontext a běžná domovská stránka nenačítá nepotřebná admin data.

    Provozní poznámky

    • Release nemění databázové schéma ani obsah indexu a neaplikuje žádnou z dosud čekajících produkčních migrací.
    • Dokud onboardingová migrace není aplikovaná, stránka Drive zdrojů bezpečně ukáže stávající systémový zdroj, vysvětlí nedostupnost spravovaného onboardingu a nenabídne nefunkční vytvoření zdroje.
    • Centrální indexační hub je připravený jako navazující samostatná etapa; tento release pouze vytváří jeho bezpečnou informační architekturu.
    • Curiosity zůstává oddělený osobní klient a není konektor, backend ani release gate firemního Startu.
  67. v0.5.0

    Co se změnilo

    • Správce může v nové sekci Zdroje Google Drive připravit jeden zdroj z více vybraných kořenových složek, zkopírovat servisní účet pro sdílení a před čtením obsahu načíst pouze adresářovou strukturu a souhrnná metadata.
    • Strom složek používá výchozí nezahrnutí, děděné zahrnutí a uzamčené vyloučené podstromy; zahrnuté složky se přiřazují projektu a v první verzi jsou viditelné celé přihlášené firmě.
    • Formáty se zapínají explicitně pro každý zdroj. Vedle Google Docs a Sheets jsou připravené PDF s textovou vrstvou, TXT, Markdown, CSV, HTML, XML, JSON a Google Slides včetně tabulek a poznámek řečníka.
    • Explicitní spuštění používá existující 15minutovou WP6 synchronizaci, lease, incremental Changes API, denní úplnou kontrolu, bezpečný purge a embedding pipeline; administrace ukazuje přesný průběh a jmenovatel místo odhadovaného procenta.

    Proč na tom záleží

    Firemní index už není omezený na ručně zapsaných 29 kořenů. Správce může bezpečně rozšiřovat pokrytí po složkách, předem vidí rozsah a formáty a nově podporované typy zapne bez toho, aby se omylem načetl osobní nebo dosud neschválený podstrom.

    Provozní poznámky

    • Migrace 20260714070000 a 20260714083000 jsou seřazené v tomto pořadí, ale produkční DB apply obou zůstává samostatně schvalovaný krok s checkpointem, rollbackem a write-smoke.
    • Google Picker vyžaduje samostatnou veřejnou konfiguraci; do té doby funguje validovaný ruční výběr ID složek. Integrace používá jen vybrané složky sdílené read-only servisnímu účtu, nikoli osobní OAuth token pro celý Drive.
    • DOC/DOCX, XLS/XLSX, PPT/PPTX, OCR obrázků a skenů i Drive zástupci zůstávají viditelně vypnuté, dokud neprojdou samostatnou parserovou, nákladovou a přístupovou acceptance.
    • Registry pointer EKOKOM Manageru odpovídá jeho obnovenému kanonickému checkoutu v `~/Code/ekokom-vercel`; žádný projekt se v tomto releasu nepřesouvá.
    • Curiosity není konektor, zdroj tokenů ani release gate Startu; lokální index, cache, embeddingy a osobní obsah se nepřenášejí.
  68. v0.4.3

    Co se změnilo

    • EKOKOM Manager znovu ukazuje skutečný aktivní checkout v ~/Code/ekokom-vercel místo již neexistujícího umístění v _dormant.
    • Release připravuje úzké databázové zpevnění Drive admin health: veřejné RPC zůstává kompatibilní, ale privilegované čtení se přesouvá mimo vystavené API schéma.

    Proč na tom záleží

    Lokální kontrola čerstvosti už nepadá na neplatné cestě a bezpečnostní advisor má dopřednou opravu, která zachová admin přehled bez veřejné SECURITY DEFINER funkce.

    Provozní poznámky

    • Změna kanonické cesty vychází z autoritativního ~/Code/_meta/PROJECTS.md; žádný projekt nebyl přesunut, zkopírován ani smazán.
    • Migrace 20260714070000 se při merge ani Vercel deployi sama neaplikuje. Produkční DB apply vyžaduje samostatný checkpoint a explicitní write schválení.
    • Website a Notion data, embeddings i Curiosity zůstávají mimo tento release.
  69. v0.4.2

    Co se změnilo

    • Google Drive se připravuje na automatickou synchronizaci každých 15 minut přes nativní Changes API a jednou denně provede úplnou kontrolu všech týmových rootů.
    • Databázový lease brání souběžným běhům; cursor se posune až po úspěšné reconciliation, tombstone purge a doplnění všech chybějících embeddingů.
    • Admin ingest přehled ukazuje poslední full a incremental běh, aktivní lease, počty zdrojů, chunků, karantény, chybějících embeddingů a bounded issue queue s auditovaným Retry/Ignore rozhodnutím.
    • Expirace Drive cursoru HTTP 410 i bounded truncation bezpečně získají nový start token před full crawl; jiné API chyby nesmějí být zaměněny za úspěšný reset.

    Proč na tom záleží

    Obsah Docs a Sheets se po schváleném nasazení bude obnovovat bez ručního importu a odebrané soubory konvergují pryč z týmového indexu, aniž by se oslabila ACL, citace nebo schopnost dohledat provozní chybu.

    Provozní poznámky

    • Produkční schéma bylo po samostatném checkpointu aplikované jako migrace 20260713095819 až po vydání WP7D; apply nezměnil Drive corpus, cursor ani lease.
    • Cron se aktivuje teprve s ověřenými server-only proměnnými a kontrolovaným prvním během; access-loss write smoke zůstává za samostatným checkpointem a rollbackem.
    • Curiosity není konektor, backend ani release gate Startu; runtime používá jen firemní Google API, Supabase a Vercel serverové prostředí.
  70. v0.4.1

    Co se změnilo

    • Vyhledávání po rozšíření o obsah Google Drive znovu splňuje produkční výkonovou bránu: 17 reálných dotazů prošlo se správným prvním výsledkem a p95 499 ms.
    • Přesné shody v názvu, popisu a štítcích přeskočí zbytečný průchod tisíci chunky; delší znalostní dotazy používají omezený, relevancí seřazený předvýběr.
    • Krátké dotazy si zachovávají toleranci překlepů a širší kandidátní rozpočet, zatímco dlouhé dotazy neplatí cenu neúčinného trigramového hledání.
    • Veřejná search RPC jsou opět SECURITY INVOKER; těžké indexové dotazy běží v neexponované private vrstvě s explicitním filtrem podle původního Workspace JWT a rolí.

    Proč na tom záleží

    Tým může prohledávat výrazně větší obsahový index bez několikasekundového čekání a bez oslabení práv. Přesné názvy, technické dokumenty i fráze ukryté v těle Docs a Sheets zůstávají správně seřazené.

    Provozní poznámky

    • Release přidává šest aplikovaných migrací 20260713024638 až 20260713035500; DB lint, dry-run a bezpečnostní advisors nemají žádný blocker.
    • Negativní ACL smoke potvrdil, že běžný Workspace uživatel nevidí admin, finance ani personal zdroje; admin dotaz dál otevírá přesnou Drive kartu.
    • Pravidelný 15minutový incremental Drive sync a denní úplná reconciliation pokračují jako samostatný reliability release v0.4.2.
  71. v0.4.0

    Co se změnilo

    • Vyhledávání nyní čte obsah všech 61 dostupných Google Docs a všech 129 Google Sheets včetně vnořených karet, skrytých listů a zobrazených hodnot buněk.
    • Výsledek otevírá přesnou kartu dokumentu nebo konkrétní list tabulky, ze kterého pochází zobrazený úryvek.
    • První úplný import přidal 190 dokumentů a 6 254 vyhledávatelných úryvků; všechny mají připravený embedding pro hybridní hledání.
    • Tři dokumenty s pravděpodobným heslovým obsahem zůstaly v karanténě a dvanáct citlivostních nálezů je evidováno pouze pro správce bez ukládání jejich textu do issue přehledu.
    • Přihlášené vyhledávání používá lokální kryptografické ověření Workspace JWT a neprovádí dvě zbytečná vzdálená ověření identity při každém dotazu.

    Proč na tom záleží

    Tým už nehledá jen názvy souborů: běžným dotazem najde konkrétní postup, hodnotu nebo produktovou kartu uvnitř firemních Docs a Sheets a jedním kliknutím se otevře přímo na správném místě.

    Provozní poznámky

    • Indexuje se pouze obsah čitelný dedikovanou read-only Google integrací; odebrání sdílení při úplné synchronizaci odstraní odvozený dokument, chunky i embeddingy.
    • Supabase zůstává jediným registrem a pgvector vektorovou vrstvou; nepřibyla další externí vyhledávací databáze.
    • Release obsahuje pět aplikovaných migrací 20260713013439 až 20260713022407 pro atomickou Drive reconciliation, issue evidenci, přesné citace a stabilnější ranking.
    • Pravidelný 15minutový incremental sync a denní úplná kontrola jsou samostatný navazující release v0.4.2; v0.4.0 dodává úplný produkční snapshot a opakovatelný ruční apply.
  72. v0.3.3

    Co se změnilo

    • Filtry typu výsledku se na telefonu zobrazují jako dvě kompaktní řady po třech volbách místo vodorovně posouvaného pásu.
    • Všechny volby Vše, repo, app, document, automation a runbook jsou ihned celé čitelné i na displeji širokém 320 px.

    Proč na tom záleží

    Uživatel na mobilu nemusí odhadovat, že jsou za hranou obrazovky další filtry, ani provádět skryté vodorovné gesto. Databázový pohled zůstává ovladatelný jedním klepnutím.

    Provozní poznámky

    • Release nemění vyhledávací API, ranking, Supabase schéma, RLS, registry data ani environment variables.
    • Změna byla nalezena při závěrečném živém auditu posledních 30 zadání na 320px viewportu.
  73. v0.3.2

    Co se změnilo

    • Search a AI odpověď odešlou výsledek uživateli dříve a teprve potom dokončí best-effort zápis provozní telemetrie.
    • Stav telemetrie ve vyhledávání nyní poctivě říká Naplánována místo tvrzení, že databázový zápis už proběhl.
    • Případný výpadek telemetrie nezpomaluje ani nekazí samotné hledání nebo citovanou odpověď; dál je viditelný v admin telemetrii a serverových logách.

    Proč na tom záleží

    Uživatel nečeká na interní analytický zápis, který nemění obsah odpovědi. Zvlášť u neúspěšného nebo nízko jistého hledání tím zmizí zbytečná část odezvy při zachování stejného vyhledávání, citací a auditní diagnostiky.

    Provozní poznámky

    • Odložený zápis používá stabilní Next.js after() v Route Handlerech; Vercel ponechá invocation aktivní do dokončení callbacku.
    • Release nemění Supabase schéma, RLS, zdrojová data, embedding model ani environment variables.
  74. v0.3.1

    Co se změnilo

    • Přepínač Moje nástroje / Běžné workflow / Všechny nástroje se na úzkém mobilu skládá do tří stejně širokých, plně čitelných tlačítek bez skrytého vodorovného posuvu.
    • Kapacita placených služeb nyní výslovně uvádí počet míst přidělených v Project Hubu a nevydává tuto interní evidenci za aktivitu ověřenou přímo u poskytovatele.
    • Fulltext a hybridní hledání prohledávají pouze aktuální verzi každého dokumentu; starší ingestované kopie už nemohou přebít současný obsah.
    • Přesná slova v názvu zdroje mají vyšší relevanci a archivní dokument se potlačí, pokud uživatel archiv výslovně nehledá.
    • Silná textová shoda se vrací rovnou i při jediném přesném výsledku; embedding se volá jen tehdy, když textové podklady nestačí.

    Proč na tom záleží

    Katalog je čitelný i na nejmenších telefonech, licenční údaje jsou poctivě interpretované a databázové hledání vrací současný kanonický dokument namísto historické kopie nebo obecného souboru.

    Provozní poznámky

    • Release přidává migraci 20260712200144_project_hub_search_current_documents.sql, která nahrazuje obě vyhledávací RPC bez mazání dokumentů nebo chunků.
    • Navazující migrace 20260712201621_project_hub_search_snippet_relevance.sql vybírá citaci podle pokrytí konkrétních slov dotazu a omezuje vliv opakování stejných slov.
    • Archiv zůstává dohledatelný při dotazu obsahujícím slovo archive; podmíněná penalizace se u takového dotazu nepoužije.
  75. v0.3.0

    Co se změnilo

    • Nová sekce Firemní nástroje nabízí lidský rozcestník Moje nástroje / Běžné workflow / Všechny nástroje, hledání podle činnosti a krátké návody pro 48 služeb.
    • Omezené služby podporují žádost o přístup; správce ji schválí nebo zamítne a databáze atomicky hlídá kapacitu licence.
    • Administrační matice propojuje pracovníky se službami po přehledných oblastech, na mobilu se mění na svislý pohled jednoho člověka.
    • Licence a náklady uchovávají počet míst, cenu, obnovu, důkaz a stav jistoty; osobní účty a Heroku evidence jsou viditelné jen vlastníkovi.
    • Aktivita rozlišuje provider audit/API/SSO od slabého signálu Otevřeno z Project Hubu a nikdy nevydává kliknutí za skutečné používání.

    Proč na tom záleží

    Tým na jednom místě zjistí, který nástroj použít, jak v něm začít a zda k němu má přístup. Správce současně získává auditovatelnou evidenci licencí bez sdílení hesel nebo osobních předplatných s ostatními administrátory.

    Provozní poznámky

    • Release přidává migraci 20260712170828_team_tools_catalog.sql; před produkčním nasazením musí projít kontrolovaným Supabase dry-runem, explicitně schváleným db push a následnou RLS/browser verifikací.
    • Heroku má doloženou platbu 5 USD měsíčně, ale konkrétní běžící workload není potvrzený; proto zůstává označený K ověření, nikoli jako aktivně používaná aplikace.
  76. v0.2.59

    Co se změnilo

    • Mobilní rozcestník má kompaktní hlavičku, kratší úvod a vodorovně posuvné filtry; první firemní aplikace je viditelná už na 320×568 px.
    • Detail projektu se do 1180 px otevírá jako URL-adresovaný drawer s focus trapem, inertním pozadím a spolehlivým zavřením přes křížek, backdrop i Escape.
    • Databáze má sticky přepínač pohledů, jednořádkové posuvné metriky a command palette omezenou výškou viewportu.
    • Dotykové cíle v hlavních obrazovkách, administraci, Můj start, loginu a changelogu mají nejméně 44 px; mobilní tooltipy se zobrazují uvnitř bezpečné šířky displeje.

    Proč na tom záleží

    Project Hub je na telefonu skutečný rychlý rozcestník: aplikace se objeví bez zbytečného scrollování, databáze zůstává kdykoliv dosažitelná a detail ani informační prvky už uživatele neposílají na konec dlouhé stránky nebo mimo obrazovku.

    Provozní poznámky

    • Živý Chromium průchod pokrývá portrait 320/360/390/430 px, landscape 667 px, breakpointy 860/861 a 1180/1181 px, login, changelog, search i admin.
    • Release nemění databázové schéma, registry data, ACL ani environment variables.
  77. v0.2.58

    Co se změnilo

    • EKOKOM Manager nově ukazuje skutečný kanonický checkout v ~/Code/_dormant místo historického symlinku v domovském adresáři.
    • SWAGLIFT Galerie nově ukazuje skutečný kanonický checkout v ~/Code místo historického Documents symlinku.
    • Regresní kontrakt hlídá obě cesty spolu s již opravenými projekty Propagační výdaje a Codex IG Bot.

    Proč na tom záleží

    Projektový rejstřík, ingest čerstvost i handoffy nyní odkazují na skutečná úložiště a nevracejí uživatele k přechodným symlinkům mimo povolený projektový root.

    Provozní poznámky

    • Order Hub zůstává beze změny jako výslovně odložená LIVE-INFRA výjimka v autoritativním projektovém inventáři.
    • Release nemění databázové schéma ani ACL; produkční registry vyžaduje idempotentní synchronizaci těchto dvou metadata polí.
  78. v0.2.57

    Co se změnilo

    • Vyhledávací telemetrie nově rediguje AWS access credentials, Luhn-validní čísla platebních karet a běžné mezinárodní i české telefonní formáty.
    • Číselné identifikátory, které nejsou validní platební kartou ani rozpoznaným telefonem, zůstávají čitelné pro provozní diagnostiku.
    • Regresní testy pokrývají pojmenované i samostatné AWS klíče, karty, telefony a ochranu běžných dokladových čísel.

    Proč na tom záleží

    Admin telemetrie si zachovává diagnostickou hodnotu, ale při omylem vloženém citlivém údaji ukládá výrazně méně využitelného PII nebo credential materiálu.

    Provozní poznámky

    • Změna se týká pouze nové Search telemetrie; historické řádky nemění a běžné výsledky vyhledávání neovlivňuje.
    • Release nemění databázové schéma, RLS ani environment variables.
  79. v0.2.56

    Co se změnilo

    • Supabase klient byl aktualizován z 2.110.0 na 2.110.2 a Vercel AI SDK ze 7.0.11 na 7.0.22.
    • Testovací runtime Vitest je na 4.1.10 a Node typy na 26.1.1.
    • Major a minor migrace ESLint, TypeScript, Lucide a tsx zůstaly záměrně mimo tento úzký maintenance release.

    Proč na tom záleží

    Hub dostává ověřené patch-level opravy klíčových datových a AI závislostí bez míchání rizikových tooling migrací.

    Provozní poznámky

    • Všech 338 testů, typecheck, lint, relevance, ingest guardrails, build a npm audit prošly beze změny aplikačního kódu.
    • Release nemění databázové schéma ani environment variables.
  80. v0.2.55

    Co se změnilo

    • Vyhledávání čeká 350 ms na ustálení psaného dotazu místo dosavadních 220 ms.
    • Rychle navazující prefixy už nespouštějí souběžné embedding a hybridní DB requesty, které uživatel mezitím opustil.
    • Regresní test i živý Chromium průchod ověřují jediný request pro celý ustálený dotaz.

    Proč na tom záleží

    Méně zbytečných hybridních běhů snižuje náklady a extrémní p99 latenci bez zásahu do relevance, sdílených URL nebo rychlého textového hledání.

    Provozní poznámky

    • Změna vychází z produkčního vzorku, kde prefixy startovaly 247 až 283 ms po sobě a vytvořily 1 až 2,6sekundový tail.
    • Release nemění databázi, embedding model, SLO ani environment variables.
  81. v0.2.54

    Co se změnilo

    • Přibyla explicitní read-only operátorská kontrola produkční telemetrie, která nepotřebuje browser session.
    • Admin telemetrie nově ukazuje p50, p95 a p99 pro Search i AI a varuje při překročení schváleného release SLO.
    • DB kontrola bezpečně funguje i z izolovaného git worktree a nikdy nevypisuje heslo ani credential URL.

    Proč na tom záleží

    Provozní latenci lze změřit bez falešného 307 blockeru a pomalý tail už se neschová za zdravý souhrnný stav; přihlášení a RLS se nadále ověřují odděleným autentizovaným gatem.

    Provozní poznámky

    • npm run telemetry:check -- --db je pouze read-only DB evidence a neověřuje login ani RLS.
    • Release nemění databázové schéma, environment variables ani uložená data.
  82. v0.2.53

    Co se změnilo

    • Poslední freshness kontrola má nově 30hodinové SLA a po jeho překročení už nevypadá jako aktuální.
    • Admin vidí stáří výsledku, stav Po termínu a přesný příkaz pro bezpečné obnovení kontroly.
    • Časový údaj více než pět minut v budoucnosti se odmítne jako neplatná provozní evidence.

    Proč na tom záleží

    Výpadek denního plánovače se nemůže tiše schovat za starý zelený výsledek; další ingest rozhodnutí se zablokuje, zatímco rozcestník a hledání zůstávají dostupné.

    Provozní poznámky

    • Overdue stav nemění dokumenty, chunky, embeddingy, ACL ani repozitáře.
    • Release nemění databázové schéma ani produkční environment variables.
  83. v0.2.52

    Co se změnilo

    • Admin pracovní plocha nyní respektuje dostupnou šířku mezi navigací a detailem projektu.
    • Freshness triage už na desktopu nezajíždí pod pravý detail; branch a ahead/behind údaje zůstávají celé čitelné.

    Proč na tom záleží

    Konkrétní freshness nálezy lze přečíst bez překrytí na běžném notebooku, zatímco mobilní jedno-sloupcové rozložení zůstává beze změny.

  84. v0.2.51

    Co se změnilo

    • Admin přehled nově ukazuje konkrétní repozitáře a kontrolní kroky, které způsobily poslední freshness varování.
    • Známé projekty vedou jedním kliknutím do adresovaného databázového pohledu; neznámé checkouty zůstávají bezpečně neklikací.
    • Detail je omezený, validovaný a nezobrazuje lokální cesty, remote URL, commity ani upstream metadata.

    Proč na tom záleží

    Souhrnné varování má nyní jasný další krok, aniž by admin musel otevírat lokální report nebo vystavovat citlivou git provenienci.

    Provozní poznámky

    • Triage je read-only a samo žádný repozitář ani index nemění.
    • Release nemění databázové schéma; používá omezenou projekci již ukládaných freshness metadata.
  85. v0.2.50

    Co se změnilo

    • Přihlašovací obrazovka nově ukazuje klikací verzi aplikace se vstupem do historie změn.

    Proč na tom záleží

    Uživatel i podpora mohou jednoznačně určit nasazenou verzi, i když se uživatel nemůže přihlásit.

  86. v0.2.49

    Co se změnilo

    • Stav kontroly čerstvosti i telemetrie se v admin přehledu řadí pod nadpis a zůstává celý viditelný i vedle otevřeného detailu projektu.

    Proč na tom záleží

    Provozní stav lze přečíst bez oříznutí na běžném notebooku i na mobilu.

  87. v0.2.48

    Co se změnilo

    • Přibyla denní read-only kontrola čerstvosti lokálních repozitářů a Drive/Notion metadata konektorů.
    • Admin vidí poslední běh, čisté, dirty, opožděné a chybějící checkouty odděleně od skutečného importu obsahu.
    • Výsledek se auditovatelně ukládá jako provozní indexing job bez změny dokumentů, chunků, embeddingů nebo ACL.
    • Kanonické cesty Propagačních výdajů a Codex IG Botu nyní míří na skutečné checkouty v ~/Code.

    Proč na tom záleží

    Project Hub upozorní na zastarávající zdroje dříve, než se neaktuální informace promítnou do hledání nebo citované AI odpovědi.

    Provozní poznámky

    • Denní LaunchAgent běží v 06:30 a používá pouze Keychain; jeho instalaci řídí npm run ingest:cadence:install.
    • Freshness probe neprovádí content apply. Registry a dokumentový import zůstávají samostatné kontrolované kroky.
    • Release nemění databázové schéma; po merge se pouze dosynchronizují dvě opravené registry cesty.
  88. v0.2.47

    Co se změnilo

    • Opraveno sdílení a obnovování adresovaných pohledů, výběr projektů a předvolby rychlého hledání.
    • Zápisové endpointy nově odmítají cross-origin požadavky před autentizací, telemetrií a dalšími vedlejšími efekty.
    • Workspace RLS selhává uzavřeně pro neznámé účty a databázové politiky i indexy odpovídají aktuálním doporučením advisoru.
    • Přibyla lidská historie změn, atomická obnova přihlašovacího storage state a přesnější release/env preflight.

    Proč na tom záleží

    Project Hub má konzistentnější navigaci, silnější ochranu zápisů a databáze a méně ručních kroků před ověřením produkce.

    Provozní poznámky

    • Před autentizovanými smoke testy spusťte npm run auth:storage:refresh.
    • Migrace 20260710023621_project_hub_is_admin_execute.sql a 20260710040005_project_hub_security_rls_performance.sql aplikujte v tomto pořadí až po dry-run a kontrole advisorů.
    • Po schváleném merge do main nasadí GitHub integrace Vercelu produkci automaticky.
  89. v0.2.46

    Co se změnilo

    • Do katalogu přibylo připnutí aplikace do osobního přehledu Můj start, včetně bezpečného vrácení změny při chybě.

    Proč na tom záleží

    Uživatel si může nejčastější aplikace uspořádat přímo z hlavního rozcestníku.

  90. v0.2.45

    Co se změnilo

    • Zaměstnanecký přehled přestal zobrazovat interní git metriky, hledací předvolby dostaly lidské názvy a produkční metadata byla dosynchronizována.

    Proč na tom záleží

    Rozcestník je srozumitelnější pro běžnou práci a vyhledávání pokrývá aktuální registry i externí metadata.

  91. v0.2.44

    Co se změnilo

    • Bezpečnostní limit externích metadat na jeden zdroj se zvýšil z 80 na 200 položek.

    Proč na tom záleží

    Rozšířený firemní Drive se indexuje celý, aniž by se položky tiše ztrácely.

  92. v0.2.43

    Co se změnilo

    • Drive a Notion získaly živé read-only metadata konektory s kontrolou prázdných snapshotů a lokálním ověřením identity.

    Proč na tom záleží

    Rejstřík se může obnovovat z aktuálních zdrojů bez kopírování obsahu dokumentů nebo zapisování do nich.

  93. v0.2.42

    Co se změnilo

    • Doplněn chybějící Order Hub a opraveny kanonické cesty, repozitáře a metadata projektů.

    Proč na tom záleží

    Katalog lépe odpovídá skutečným firemním aplikacím a jejich jediným kanonickým kopiím.

  94. v0.2.41

    Co se změnilo

    • Administrátor může za feature flagem doporučit nebo povinně přiřadit aplikace uživateli či roli.

    Proč na tom záleží

    Tým lze navést ke správným nástrojům bez oslabení původních ACL a databázových RLS pravidel.

  95. v0.2.40

    Co se změnilo

    • Přibyl osobní pás Můj start s připnutými a povinnými aplikacemi, pořadím a bezpečným odebráním.

    Proč na tom záleží

    Každý uživatel může mít nejdůležitější pracovní nástroje nahoře bez zahlcení ostatních.

  96. v0.2.39

    Co se změnilo

    • Aplikace dostaly rozlišení SWAGLIFT, GG a Gymtex a sdílitelný firemní filtr.

    Proč na tom záleží

    Uživatel rychle pozná, pro kterou firmu nástroj slouží, a může si katalog zúžit.

  97. v0.2.38

    Co se změnilo

    • Vyhledávání získalo české aliasy založené na běžných pracovních úkolech.

    Proč na tom záleží

    Zdroje lze najít přirozeným dotazem i bez znalosti interního názvu projektu.

  98. v0.2.37

    Co se změnilo

    • Opraveny nefunkční odkazy v boční navigaci a zpřesněny poznámky dashboardového auditu.

    Proč na tom záleží

    Všechny hlavní sekce jsou dosažitelné a navigace odpovídá skutečnému obsahu.

  99. v0.2.36

    Co se změnilo

    • Pohled, hledání, filtry a vybraný projekt se začaly ukládat do sdílené URL.

    Proč na tom záleží

    Konkrétní pracovní pohled lze obnovit po reloadu, poslat kolegovi a používat s historií prohlížeče.

  100. v0.2.35

    Co se změnilo

    • Úvodní rozcestník byl sjednocen do jedné přehledné mřížky aplikací.

    Proč na tom záleží

    Hlavní plocha lépe podporuje rychlé otevření nástroje místo procházení databázového seznamu.

  101. v0.2.34

    Co se změnilo

    • Landing page prošla prvním odlehčením a kontrolou přístupnosti.

    Proč na tom záleží

    Rozcestník je klidnější, čitelnější a použitelnější z klávesnice i s asistivními technologiemi.

  102. v0.2.33

    Co se změnilo

    • Opraveno hledání dvouznakových kódů a dvojité započítání souhrnu ingestu.

    Proč na tom záleží

    Krátké firemní zkratky i stav indexace nyní vracejí přesné výsledky.

  103. v0.2.32

    Co se změnilo

    • AI odpovědi dostaly silnější oporu ve zdrojích, telemetrie přísnější čištění a web bezpečnostní HSTS hlavičku.

    Proč na tom záleží

    Odpovědi jsou důvěryhodnější a citlivá provozní data i přenos do aplikace lépe chráněné.