{
  "version": "0.15.0",
  "date": "2026-11-04",
  "title": "Pravidla návrhu a dalšího vývoje kalkulaček",
  "baseline": {
    "travel": "0.24.0",
    "uraz": "0.16.2"
  },
  "authority": [
    "Potvrzeno znamená požadavek doložený zadáním uživatele nebo platnými pokyny projektu. Neznamená to, že jej všechny současné obrazovky už splňují.",
    "Návrh je doporučení tohoto auditu. Do závazné společné specifikace přejde až po výslovném rozhodnutí vlastníka produktu.",
    "Ověřit označuje chybějící podklad nebo podmínku budoucí integrace. Nelze ji prohlásit za splněnou podle vzhledu prototypu.",
    "Konkrétní nové zadání uživatele má přednost. Změna se promítne do registru rozhodnutí a verze pravidel, nikoli tichým přepsáním historického reportu.",
    "Původní WordPress audit je zdrojem palety a historických měření; pro tento katalog jsou rozhodující aktuální produktové potřeby, doložené preference a ověřené chování."
  ],
  "maintenance": {
    "owner": "Vlastník produktů rozhoduje o směru; vývojový správce udržuje katalog. Konkrétní osoby a odpovědnost za integraci je třeba určit.",
    "updateWhen": [
      "Po schválení některého rozhodnutí z reportu nebo po nové výslovné korekci uživatele.",
      "Při změně sdílené komponenty, stavu, přístupnosti, textu kritické akce nebo produktové výjimky.",
      "Po ověření aktuálního procesu Ferdy, mapování dat a rozhraní; znovu před zapojením skutečného adaptéru.",
      "Po relevantním zjištění z testu s lidmi, čtečkou, reálným mobilem nebo z provozního měření."
    ],
    "process": [
      "Zapsat podnět, zdroj, dotčené produkty a stabilní ID pravidla nebo nového rozhodnutí.",
      "Oddělit pozorovaný stav od návrhu; u výjimky uvést důvod, rozsah, vlastníka a podmínku nového přezkumu.",
      "Výslovně zaznamenat rozhodnutí vlastníka a teprve potom změnit status návrhu. Volba uložená v prohlížeči reportu je pracovní poznámka.",
      "Upravit tento zdrojový JSON, zvýšit jeho verzi, přidat záznam změny a popsat dopad na stávající implementace.",
      "Ověřit společné komponenty v úrazu i travelu, sestavit nové samostatné verze a publikovat aktuální čitelný katalog.",
      "Ponechat snapshot pravidel u historického reportu a všechny vydané ZIPy beze změny."
    ],
    "versioning": "Pravidla mají vlastní verzi, oddělenou od kalkulaček a portálu. 0.1.0 je první katalog s návrhy. Další obsahové doplnění nebo schválené rozhodnutí zvýší minor; oprava formulace bez změny významu patch. Nekompatibilní přijatá norma musí mít popsanou migraci a novou major verzi."
  },
  "changelog": [
    {
      "version": "0.15.0",
      "date": "2026-11-04",
      "change": "První krok úrazu se základními údaji zůstává. Nové desktopové a mobilní 0.16.2 začínají druhý krok bez vybraných rizik a bez cen/nabídek i při ukázkovém startu. Ceny se objeví po potvrzené volbě krytí, při odebrání posledního rizika zmizí. Primární tlačítka používají barvy a hover 0.10. Mobilní cenové sloupce mají jediný obrys a dostupnou nabídku lze vybrat klepnutím na logo/cenu; popup zůstává náhledem do Uložit. Travel, historie a jádra se nemění; FER zůstává overit."
    },
    {
      "version": "0.14.0",
      "date": "2026-11-04",
      "change": "Nové výslovné zadání pro desktop úrazu: ve druhém kroku výsledky napravo od krytí podle 0.10. Nová desktopová 0.16.1 má vlastní stav a zachovává ostatní kroky i společný model. Mobilní 0.16.1 s cenovým přehledem a výběrem pod riziky, travel 0.24.0 i historie se nemění. FER zůstává overit."
    },
    {
      "version": "0.13.0",
      "date": "2026-11-04",
      "change": "Nová mobilní podverze úrazu 0.16.1: nahoře pouze sloupce logo/cena, nabídky k výběru pod riziky. Horní přehled se skryje, jakmile se objeví první řádek spodních nabídek, a obnoví při návratu k rizikům. Cenový kontext zůstává také v popupu rizika. Desktop zůstává 0.16.0 a travel 0.24.0; historie, jádra a původní serverový úraz se zachovávají, FER zůstává overit."
    },
    {
      "version": "0.12.0",
      "date": "2026-11-03",
      "change": "Uživatel schválil realizaci plánu. Úraz 0.16.0 a travel 0.24.0 mají samostatné desktopové a mobilní prezentace nad společným produktovým jádrem, vlastní stav a výslovná stabilní ID v rozcestníku. Předávací balíček Ferdy 1.0.0 obsahuje nativní obaly, scoped CSS, lifecycle JS a offline harness; skutečný cílový Form, runtime a pilot nejsou doložené. FER zůstává overit; historie, původní serverový úraz a dark experiment se nemění."
    },
    {
      "version": "0.11.0",
      "date": "2026-11-03",
      "change": "Výslovný požadavek na plán samostatného desktopu a mobilu u obou produktů, promítnutí do rozcestníku a přípravu předání do Ferdy. Doplněn čtecí audit čtyř lokálních kopií a rozdílů flow/JS/CSS. Jde o plán; stávající kalkulačky a nasazení se nemění, integrační podmínky FER zůstávají k ověření."
    },
    {
      "version": "0.10.0",
      "date": "2026-11-03",
      "change": "Oprava mobilní kolize sticky hlavičky a výsledků úrazu: v mobilním rozložení při zobrazení panelu cen hlavička odroluje, aby nezakrývala výsledky. Úraz 0.15.5 je opraveným stabilním výchozím prototypem, travel zůstává 0.23.2; desktop a starší vydání se nemění."
    },
    {
      "version": "0.9.0",
      "date": "2026-11-03",
      "change": "Rozcestník výslovně označuje aktuální stabilní výchozí prototyp: travel 0.23.2 a úraz 0.15.4. Pravidla, design a stylopis se přesouvají pod seznamy verzí. Kalkulačky se nemění; nové vydání portálu se nasazuje na devel."
    },
    {
      "version": "0.8.0",
      "date": "2026-11-03",
      "change": "Výslovná mobilní korekce: platební CTA v obou rekapitulacích na vlastním plnošířkovém řádku pod pojišťovnou a cenou. Travelové pokračování na rekapitulaci má odstup od posledního pole. Platí pouze do 600 CSS px, desktop se nemění. Nasazení podverzí je součástí zadání."
    },
    {
      "version": "0.7.0",
      "date": "2026-11-03",
      "change": "Výslovné drobné korekce běžné řady: travel 0.23.1 a úraz 0.15.3. Sjednocené odsazení značek rizik, hover zelených akcí, kontaktní písmo, geometrie linky adresy, váhy červených nadpisů a platební CTA. Travel odstraňuje obě vstupní zkratky mapy i obě e-mailové obrazovky, počítadla mají rozměry sousedních +/-. Rekapitulace mají mezi sloupci jemný předěl. Dark experiment ani historická vydání se nemění; nasazení není součástí tohoto zadání."
    },
    {
      "version": "0.6.0",
      "date": "2026-11-02",
      "change": "EXP-01: samostatná experimentální větev dark mode pro oba produkty, s omezenými výjimkami barev a ploch, třemi motivovými volbami a zachováním běžné řady. Základy travel 0.23 a úraz 0.15.2 zůstávají hlavními verzemi. Žádná živá integrace ani nasazení."
    },
    {
      "version": "0.5.0",
      "date": "2026-11-02",
      "change": "Schválený plán WS Direct: travel 0.23 nahrazuje dvě modelové nabídky třemi pevnými dodavatelskými vzorky. Jeden seznam obsahuje 23 nabídek od 11 pojišťoven (20 modelů + 3 WS). Neověřená měna, vstupní scénář a unknown/conflict krytí se nesmějí vydávat za skutečný výpočet nebo nekryté riziko. Samostatný offline pohled Direct. Integrační podmínky Ferdy zůstávají k ověření."
    },
    {
      "version": "0.4.0",
      "date": "2026-11-02",
      "change": "Kompaktní rekapitulace v obou produktech; nahoře pojišťovna, označení produktu, splatná částka a pokračování k platbě. Úraz ukazuje lhůtní pojistné při zachování ročního součtu. Na desktopu dvousloupcová fakta, na mobilu stručnější řádky. Bez editace zůstává."
    },
    {
      "version": "0.3.0",
      "date": "2026-11-02",
      "change": "Výslovná navazující korekce: rekapitulace bez editace a vnořených šedých karet; sjednocené kruhové značky, formulářové nadpisy s červeným podtržením podle úrazu, nové travel rizikové ilustrace. Subverze travel 0.22.1 / úraz 0.15.1. Dřívější možnost oprav ze souhrnu se tímto pro nové verze ruší."
    },
    {
      "version": "0.2.0",
      "date": "2026-11-02",
      "change": "Uživatel zadal realizaci exportu: přijaty D01=B, D02=A, D04=A, D05=A, D06=A, D07=A, D11=A. D03/D08/D09/D10 zůstávají nerozhodnuté. Nový společný UI základ se zavádí postupně v travelu 0.22 a úrazu 0.15; historický snapshot 0.1.0 je zachován."
    },
    {
      "version": "0.1.0",
      "date": "2026-11-02",
      "change": "První katalog pro úraz a travel: doložené preference oddělené od návrhů sjednocení a neověřených integračních podmínek. Současné rozpory nejsou tímto dokumentem schváleny."
    }
  ],
  "rules": [
    {
      "id": "ZAD-01",
      "category": "Identita a vzhled",
      "status": "potvrzeno",
      "title": "Červený malý sekční nadpis",
      "text": "Eyebrow/kicker, například název pojištění a úvodní popisek formuláře, zůstává červený #F42534 v úvodu, krocích, kartách a detailech. Nesmí se při sjednocování modré přebarvit na modrou.",
      "rationale": "Výslovná korekce uživatele z 2. 11. 2026. Kontrast malého významového textu vůči podkladu zůstává otevřeným rozporem, nikoli prokázanou shodou WCAG. D02=A nyní výslovně zachovává stávající prototypový odstín; nejde o schválení shody přístupnosti pro produkci.",
      "checks": [
        "Odečíst výsledný styl statických i dynamických kickerů na mobilu a desktopu.",
        "Prověřit kontrast na skutečném podkladu a případnou změnu odstínu předložit k rozhodnutí."
      ],
      "source": "AGENTS.md; zadání červených malých nadpisů; section-accents.css",
      "decision": "D02"
    },
    {
      "id": "ZAD-02",
      "category": "Identita a vzhled",
      "status": "potvrzeno",
      "title": "Světlé písmo zelené hlavní akce",
      "text": "Hlavní zelená tlačítka používají světlé, nyní bílé písmo. Tichá náhrada tmavým textem není přijatou úpravou.",
      "rationale": "Výslovný požadavek uživatele. Současná bílá na #00B53B má vypočteně 2,737:1; volba přístupnější zelené je nové rozhodnutí při zachování bílého písma. D02=A zachovává aktuální zelenou pro tuto prototypovou iteraci bez prohlášení o shodě WCAG.",
      "checks": [
        "Ověřit klid, hover, focus, disabled a loading odděleně.",
        "Nevydávat samotné dodržení barvy textu za splnění kontrastních kritérií."
      ],
      "source": "Zadání bílého písma na zelených akcích; aktuální měření a kontrastní posudek",
      "decision": "D02"
    },
    {
      "id": "ZAD-03",
      "category": "Identita a vzhled",
      "status": "potvrzeno",
      "title": "Bílý formulář na tmavším okolí",
      "text": "Formulářové karty a pole mají světlé plochy, stránka tmavší šedý podklad podle současného travelu. Základní reference je #FFFFFF proti #F2F4F7.",
      "rationale": "Uživatel výslovně zvolil tento vztah ploch i přes odlišnosti původního WordPressu.",
      "checks": [
        "Prověřit skutečný výsledek kaskády u polí, panelů a vnořených sekcí.",
        "Selected, chyba ani disabled nesmějí ztratit význam kvůli plošnému přebarvení."
      ],
      "source": "Zadání sjednocení formulářů; uraz-unified.css; travel-refinement.css",
      "decision": ""
    },
    {
      "id": "ZAD-04",
      "category": "Identita a vzhled",
      "status": "potvrzeno",
      "title": "Společná kontaktní hlavička a patička",
      "text": "Úraz používá konstrukci produktové hlavičky travelu. Patička má společný vzhled s pozadím #003B71 a světlým obsahem. Kontakty zůstávají správné pro konkrétní produkt.",
      "rationale": "Výslovné požadavky na přenos hlavičky a patičky mezi produkty.",
      "checks": [
        "Ověřit produktový e-mail, telefon, pracovní dobu, odkazy a mobilní zobrazení.",
        "Nedovozovat správnost kontaktu pouze ze shodného layoutu."
      ],
      "source": "Zadání hlavičky a patičky; aktuální HTML obou verzí",
      "decision": ""
    },
    {
      "id": "ZAD-05",
      "category": "Navigace",
      "status": "potvrzeno",
      "title": "Travel bez prezentačního pruhu",
      "text": "Nový travel nedostává prezentační hlavičku ani odkaz na rozcestník verzí v produktové hlavičce. Čtyři vnější fáze používají logiku úrazu.",
      "rationale": "Výslovné zadání pro současnou i budoucí práci; nástroje pro přezkum prototypu nemají přebít produktový průchod.",
      "checks": [
        "Otevřít oba starty a ověřit hlavičku.",
        "Kontrolovat fáze Kalkulace, Konfigurace, Údaje a Rekapitulace a zachování dat při návratu."
      ],
      "source": "AGENTS.md; předchozí zadání navigace",
      "decision": "D04"
    },
    {
      "id": "ZAD-06",
      "category": "Prototyp a data",
      "status": "potvrzeno",
      "title": "Průchod bez AI a živých služeb",
      "text": "Každá prezentovaná větev prototypu musí být průchozí lokálně bez AI/API. Nabídnout ruční cestu nebo upravitelná modelová data; mapa rizik nesmí být blokována nefunkční AI.",
      "rationale": "Uživatel požaduje produkční vzhled a současně všechny možnosti pro testování, pro travel i úraz.",
      "checks": [
        "Zablokovat vnější síť a projít demo i prázdný začátek.",
        "Vyzkoušet alternativní vstup, mapu, volby, nabídky, úpravy a modelové dokončení."
      ],
      "source": "AGENTS.md; zadání průchodnosti prototypů",
      "decision": ""
    },
    {
      "id": "ZAD-07",
      "category": "Prototyp a data",
      "status": "potvrzeno",
      "title": "Model zůstává modelem",
      "text": "Nezapojovat skutečné sjednání, platbu, e-maily ani živé AI. Kritické potvrzení má pravdivě popisovat modelový stav a nesmí vydávat simulaci za uskutečněné odeslání či smlouvu.",
      "rationale": "Projektové vymezení modelových dat a vypnutých integrací. Aktuální travel má v potvrzení textový rozpor, přestože síťové odeslání je zablokované.",
      "checks": [
        "Ověřit vedlejší účinky i text výsledné obrazovky.",
        "Přezkoumat e-mailový návrh, platbu, číslo smlouvy a dokončení v obou produktech."
      ],
      "source": "AGENTS.md; marketingový posudek; fresh snímek travel done",
      "decision": "D09"
    },
    {
      "id": "ZAD-08",
      "category": "Identita a vzhled",
      "status": "potvrzeno",
      "title": "Jednotný styl ilustrativních ikon",
      "text": "Travelové země mají navazovat na styl úrazových rizik: stejný modro-bílý materiál, tahy, odlesk a jemný stín. Nové členy sady vytvářet v odpovídajícím vektorovém formátu, pokud rozšiřují stávající SVG.",
      "rationale": "Výslovné zadání ikon travelu ve stylu úrazu; formát je praktické zachování nynější sady.",
      "checks": [
        "Porovnat vedle sebe stejné zobrazovací velikosti a zkontrolovat čitelnost menšího motivu.",
        "Smysl volby musí být dostupný textem, nikoli jen ilustrací."
      ],
      "source": "Zadání ikon travelu; aktuální assets/destinations a assets/risks",
      "decision": ""
    },
    {
      "id": "ZAD-09",
      "category": "Formuláře",
      "status": "potvrzeno",
      "title": "Konkrétní jiná země",
      "text": "Ve travelu nahrazuje obecné volby Evropa/mimo Evropu jediná Jiná země s následným seznamem konkrétních zemí. Vybraná země se zachová a používá v navazujícím průchodu.",
      "rationale": "Výslovná korekce uživatele ve verzi 0.21.1.",
      "checks": [
        "Zkontrolovat podmíněné zobrazení a required/disabled skrytého selectu.",
        "Ověřit evropskou i mimoevropskou zemi v nabídkách, mapě a po návratu; modelová oblast není potvrzením skutečného krytí."
      ],
      "source": "Zadání Jiná země; travel-countries.js",
      "decision": ""
    },
    {
      "id": "ZAD-10",
      "category": "Vydávání a údržba",
      "status": "potvrzeno",
      "title": "Historie a původní kořenový úraz se zachovávají",
      "text": "Starší vydané složky a ZIPy nepřepisovat. Původní serverový /cmp_uraz/ ponechat beze změny kvůli cizím odkazům; aktuální prototypy a reporty patří pod /prototypy/.",
      "rationale": "Opakované explicitní vymezení uživatele a projektová pravidla.",
      "checks": [
        "Před a po nasazení porovnat symlink i součty původního úrazu.",
        "Nové vydání aktivovat samostatně, s uchovaným předchozím cílem pro návrat."
      ],
      "source": "AGENTS.md; DEPLOYMENT-PROTOTYPY.md",
      "decision": ""
    },
    {
      "id": "ZAD-11",
      "category": "Vydávání a údržba",
      "status": "potvrzeno",
      "title": "Reprodukovatelné verze a oba starty",
      "text": "Změna vzniká přes zdrojový recept jako nová samostatná verze, včetně vizuálních subverzí. Udržovat ukázkový i prázdný začátek a jednotný rozcestník s až deseti posledními verzemi viditelnými.",
      "rationale": "Dosavadní schválený postup verzování a prezentace.",
      "checks": [
        "Sestavit znovu a porovnat výsledek i obsah ZIPu.",
        "Prázdný začátek nesmí obnovit modelová osobní data; odkazy otevírají správné verze."
      ],
      "source": "AGENTS.md; zadání verzování a rozcestníku",
      "decision": ""
    },
    {
      "id": "DS-01",
      "category": "Společné komponenty",
      "status": "potvrzeno",
      "title": "Společná komponenta s produktovými daty",
      "text": "Zvolit sdílené sémantické tokeny a kontrakty komponent, ale zachovat produktové otázky, výpočet, osoby, krytí a dokumenty jako vlastní konfigurace.",
      "rationale": "Shodné základní role dnes neodstraňují rozdíly úrazové konfigurace a cestovní mapy/aktivit.",
      "checks": [
        "Každá sdílená komponenta má dokumentované vstupy, stavy, události a produktové výjimky.",
        "Pilot funguje v obou renderech dříve než se rozšíří na všechny obrazovky."
      ],
      "source": "Tři odborné posudky; směr B hlavního reportu; výslovné zadání implementace dle JSON z 2. 11. 2026",
      "decision": "D01"
    },
    {
      "id": "DS-02",
      "category": "Identita a vzhled",
      "status": "navrh",
      "title": "Typografické role místo plošných změn",
      "text": "Výchozí hero 48/34 px a pracovní H1 32/26 px s váhou 600 již vycházejí společně. Sekce formuláře, cena, nápověda a kicker mají vlastní role; nenahrazovat je jedním globálním H2 nebo velikostí všech textů.",
      "rationale": "Čerstvá měření potvrzují shodu hlavních titulků, ale rozdíly sekcí a polí.",
      "checks": [
        "Porovnat stejné role na 375/1440 px a při zvětšení.",
        "Zaznamenat odůvodněné výjimky pro husté nabídky či opakované osoby."
      ],
      "source": "evidence/measurements.json; UX a architektonický posudek",
      "decision": "D05"
    },
    {
      "id": "DS-03",
      "category": "Formuláře",
      "status": "potvrzeno",
      "title": "Společná výchozí geometrie pole",
      "text": "Nové společné pole používá vstupní text 16 px, minimální výšku 48 px a radius 8 px. Checkbox, radio, range a hidden mají vlastní geometrii; jejich stav a význam se tímto nepřepisuje. Zachovat existující povinnost a funkční validaci.",
      "rationale": "Travel má v mobilním vzorku datum 12 px/r7 a klienta 14 px/r7, úraz příkladová pole 16 px/r8. Potřeba zůstat kompaktní nesmí znečitelnit zadávání.",
      "checks": [
        "Vyzkoušet dlouhé hodnoty, datum, select i vyhledávání zaměstnání.",
        "Ověřit skutečný telefon, softwarovou klávesnici, zvětšení textu a menší šířky."
      ],
      "source": "Fresh měření; architektonický posudek; výslovné zadání implementace dle JSON z 2. 11. 2026",
      "decision": "D05"
    },
    {
      "id": "DS-04",
      "category": "Společné komponenty",
      "status": "navrh",
      "title": "Škála mezer, rohů a šířek",
      "text": "Definovat jednu výchozí škálu mezer 4/8/12/16/24/32/48 px, akční radius 8 px a obsahový 15 px. Maximální šířky a chování bočního shrnutí odvozovat od úlohy; výjimky pojmenovat.",
      "rationale": "Současné komponenty mají směs rolí a geometrie; přesná hodnota není univerzální pravidlo původního WordPressu.",
      "checks": [
        "Vyhodnotit rozdíl formulářové karty, volby, nabídky a dialogu samostatně.",
        "Nedělat velký dialog automaticky stejně velký jako informační kartu."
      ],
      "source": "UX/UI a architektonický posudek",
      "decision": "D05"
    },
    {
      "id": "DS-05",
      "category": "Navigace",
      "status": "potvrzeno",
      "title": "Pravdivá fáze i podkrok na mobilu",
      "text": "Mobilní navigace má rozlišit čtyři vnější fáze a aktuální produktový podkrok. Číslo 1/4 nesmí slibovat čtyři obrazovky, pokud jich proces obsahuje více.",
      "rationale": "Travel a úraz mají stejné fáze, ale rozdílné mobilní popisky a vnitřní členění.",
      "checks": [
        "Projít všechny větve a návraty před rekapitulací; v rekapitulaci je návrat k editaci podle nového zadání vypnutý.",
        "Přechod zachová potvrzená data a má srozumitelný fokus; neuložený draft má definované chování."
      ],
      "source": "travel-navigation.js; ferda-flow.js; fresh snímky; výslovné zadání implementace dle JSON z 2. 11. 2026",
      "decision": "D04"
    },
    {
      "id": "DS-06",
      "category": "Obsah a akce",
      "status": "navrh",
      "title": "Sloveso odpovídá skutečné akci",
      "text": "Zelená znamená hlavní postup či výběr, vedlejší detail a změna mají vlastní roli. Tlačítko vybírající nabídku nemá slibovat uzavření smlouvy. Modelový e-mail nebo platbu nazvat podle skutečného účinku.",
      "rationale": "Výchozí travel karty už používají Vybrat, aktivní detail má jinou formulaci; nejde o totéž co neaktivní zachované renderery.",
      "checks": [
        "Ověřit viditelné karty, detail nabídky, rekapitulaci, platbu a konec.",
        "Stejná akce má shodný název a ikonu; odlišný účinek nemusí mít stejné sloveso."
      ],
      "source": "Marketingový posudek; aktivní renderery a screenshoty",
      "decision": "D09"
    },
    {
      "id": "DS-07",
      "category": "Obsah a akce",
      "status": "potvrzeno",
      "title": "Cena má jednotku a stabilní význam barvy",
      "text": "Výchozí role ceny má být navy a vždy má vyjádřit časovou jednotku a obsah. Nepřenášet roční úrazovou cenu na cenu travelu za cestu. Ověřit červenou travelovou rekapitulační výjimku.",
      "rationale": "Travel výsledky a boční shrnutí mají navy, jeho rekapitulace červenou; úrazová rekapitulace navy.",
      "checks": [
        "Porovnat výsledky, výběr, konfiguraci a rekapitulaci.",
        "Při změně varianty/frekvence zůstává jasná celková částka i jednotka."
      ],
      "source": "evidence/gpt-6-sol/price-probe.json; výslovné zadání implementace dle JSON z 2. 11. 2026",
      "decision": "D07"
    },
    {
      "id": "DS-08",
      "category": "Nabídky a údaje",
      "status": "navrh",
      "title": "Stejná struktura nabídky, vlastní produktové porovnání",
      "text": "Sjednotit roli loga, názvu, ceny, klíčového krytí, dostupnosti, detailu a výběru. Zachovat cestovní aktivity/shodu i úrazovou matici rizik a frekvence; všechny modelové možnosti zůstanou dosažitelné.",
      "rationale": "22 travel variant a úrazové rizikové kombinace nejsou shodná informační úloha. Volba D06=A ponechává nynější jeden úplný travel seznam; společná nabídková komponenta zůstává dalším návrhem.",
      "checks": [
        "Ověřit řazení, filtr/seskupení a dostupnost všech variant i návrat z porovnání.",
        "Nepřevzít počet sloupců nebo řádků jen kvůli shodnému vzhledu."
      ],
      "source": "UX/UI posudek; dataset a current výsledky",
      "decision": "D06"
    },
    {
      "id": "DS-09",
      "category": "Nabídky a údaje",
      "status": "navrh",
      "title": "Osoby jsou produktové, pole společná",
      "text": "Sdílet zobrazení jména, adresy, kontaktu a chyb; vztah pojistník/pojištěný, opakovaní cestující, obmyšlené osoby a dotazník určuje konkrétní produkt.",
      "rationale": "Stejný formulář všech osob by potlačil skutečně odlišné povinnosti a závislosti.",
      "checks": [
        "Ověřit jiné osoby, sdílenou adresu, podmíněné osoby a úpravu z rekapitulace.",
        "Změna role osoby zachová jen relevantní potvrzené hodnoty."
      ],
      "source": "Aktuální people kroky; historický Ferda podklad",
      "decision": ""
    },
    {
      "id": "DS-10",
      "category": "Nabídky a údaje",
      "status": "navrh",
      "title": "Kontakty až podle doložené potřeby",
      "text": "Rozhodnout, proč a kdy se žádá e-mail a telefon. Preferovat kontakt po ceně/výběru, pokud výpočet či ověřený proces nevyžaduje dřívější krok; dřívější lead má jasný účel a odlišené povinné/volitelné údaje.",
      "rationale": "Úraz nyní chce e-mail před cenou, travel v údajích; technickou potřebu aktuální Ferdy tento audit neověřil.",
      "checks": [
        "Doložit potřebu každého povinného kontaktu a sjednotit vysvětlení účelu.",
        "Ověřit formulaci Bez telefonního spamu oproti zamýšlenému provoznímu postupu."
      ],
      "source": "Marketingový posudek; core/profile a client-form",
      "decision": "D03"
    },
    {
      "id": "DS-11",
      "category": "Nabídky a údaje",
      "status": "potvrzeno",
      "title": "Společná rekapitulace bez úprav",
      "text": "Rekapitulace slouží pouze ke kontrole údajů a pokračování. Neobsahuje úpravy jednotlivých sekcí ani navigační návrat k editaci. Fakta jsou přímo v bílém bloku, bez vnořování do šedých karet. Dokumenty, potřebné souhlasy a návazná modelová platba zůstávají dostupné. Kompaktní horní část obsahuje pojišťovnu, produkt, lhůtní pojistné úrazu (u travelu cenu za cestu) a tlačítko k platbě. Roční součet úrazu a zvolená frekvence zůstávají rozlišitelné; fakta jsou na desktopu ve dvou sloupcích. Mezi dvěma sloupci je u nových běžných verzí jemný svislý předěl v existující 32px mezeře; jednosloupcové mobilní rozvržení zůstává bez něj. Na mobilu do 600 CSS px je platební akce na samostatném řádku pod identitou a cenou, přes celou šířku obsahu. Desktop se tímto upřesněním nemění.",
      "rationale": "Nové výslovné zadání nahrazuje dřívější společnou rekapitulaci s opravami. Produktová fakta, cena a jednotka se zachovávají.",
      "checks": [
        "Z rekapitulace není dostupná změna údajů ani návrat do dřívější editační fáze přes její ovládací prvky.",
        "Ověřit souhlasy, dokumenty a celý modelový průchod k platbě.",
        "Sekce souhrnu mají průhledné pozadí a oddělující linky v jednom bílém bloku.",
        "Horní blok má skutečně vybraný produkt, pojišťovnu a splatnou částku; při jiné frekvenci se neukazuje roční součet jako splátka.",
        "Pokračování k platbě funguje z horního bloku na mobilu i desktopu; údaje ani dokumenty se neztratí."
      ],
      "source": "Navazující výslovné zadání kompaktních rekapitulací z 2. 11. 2026",
      "decision": "D07"
    },
    {
      "id": "A11Y-01",
      "category": "Přístupnost a stavy",
      "status": "navrh",
      "title": "Kontrast je přejímací podmínka, ne odhad",
      "text": "Měřit textový i netextový kontrast skutečných stavů proti konkrétnímu podkladu. Cílem nové společné specifikace je WCAG 2.2 AA; tento audit nepředstavuje potvrzení úplné shody.",
      "rationale": "Současná bílá/zelená a malý červený text mají doložený rozpor. Zvětšení samotného písma nevyřeší 2,737:1 pod hranicí i velkého textu.",
      "checks": [
        "Zaznamenat poměry, velikost/váhu a funkční roli, ne jen hex barvy.",
        "Před přijetím zvolit řešení D02 a ověřit normální, hover, focus, chybu a disabled."
      ],
      "source": "WCAG 2.2 SC 1.4.3 a 1.4.11; kontrastní posudek",
      "decision": "D02"
    },
    {
      "id": "A11Y-02",
      "category": "Formuláře",
      "status": "navrh",
      "title": "Stejný kontrakt validace",
      "text": "Pole má jednoznačný label, hint a viditelnou chybu s vazbou přes ID/aria-describedby; při chybě aria-invalid. Složená otázka používá legend. Skryté podmíněné pole není validováno a chyba nezmizí pouze změnou barvy.",
      "rationale": "Travel a úraz mají rozdílnou implementaci chyb; stejný vzhled ji nenahradí.",
      "checks": [
        "Vyvolat chybu prázdným startem, opravit ji a odeslat znovu.",
        "Ověřit souhrn/umístění první chyby i čtečku; nezaměňovat vypnutou osobní validaci prototypu za produkční pravidlo."
      ],
      "source": "Architektonický posudek; current form renderery",
      "decision": "D05"
    },
    {
      "id": "A11Y-03",
      "category": "Přístupnost a stavy",
      "status": "navrh",
      "title": "Předvídatelná klávesnice a fokus",
      "text": "Tab a šipky mají odpovídat významu prvku. Při výběru rádia nemá fokus neočekávaně přeskočit skupinu; při přechodu kroku se přesune na smysluplný kontext. Zvýraznění patří ovladači, ne červenému rámečku kolem celého main.",
      "rationale": "Jiná země nyní při šipce přesune fokus do selectu. Předchozí obrys main byl zdrojem nechtěné červené linky.",
      "checks": [
        "Projít Tab, Shift+Tab, šipky, Home/End, Enter a Escape v relevantních skupinách.",
        "Ověřit focus-visible proti pozadí a nezakrytí sticky prvky."
      ],
      "source": "evidence/gpt-6.1-terra/keyboard.json; minulá oprava navigace",
      "decision": "D04"
    },
    {
      "id": "A11Y-04",
      "category": "Přístupnost a stavy",
      "status": "navrh",
      "title": "Dialog jako úplný stavový kontrakt",
      "text": "Dialog má jméno, smysluplný počáteční fokus, vymezenou tabulaci, dostupné zavření/Escape a návrat na spouštěč nebo popsaný náhradní cíl. Uložit potvrzuje draft, Zrušit/Escape jej zahazuje.",
      "rationale": "Oba produkty používají různé implementace i mobilní umístění. Nativní dialog sám nezaručuje správný workflow.",
      "checks": [
        "Ověřit dlouhý obsah, mobilní klávesnici, opakované otevření a oba směry tabulace.",
        "Prověřit návrat po překreslení/odstranění spouštěče a chování čtečky."
      ],
      "source": "WAI-ARIA APG Dialog; výběrový keyboard test",
      "decision": "D08"
    },
    {
      "id": "A11Y-05",
      "category": "Přístupnost a stavy",
      "status": "navrh",
      "title": "Responzivita, zoom a dotyk",
      "text": "Přejímat nový základ při 320/375/768/1440 px a zvětšení textu; zkontrolovat orientaci a ovládání s klávesnicí. Návrhovým cílem ovladače je 44 × 44 CSS px, menší případy mají doložený důvod a vyhovující rozestupy.",
      "rationale": "WCAG 2.2 minimum 24 px obsahuje výjimky; 44 px je zde návrhový cíl, nikoli tvrzení o plošné normativní povinnosti AA.",
      "checks": [
        "Bez horizontálního přetečení běžného formuláře; široké porovnání má pojmenovanou oblast posuvu.",
        "Fyzický telefon a čtečku vést jako samostatné kontroly, ne jako výsledek desktopové emulace."
      ],
      "source": "WCAG 2.2; architektonický posudek; současná kontrola jen Chrome375/1440",
      "decision": "D05"
    },
    {
      "id": "A11Y-06",
      "category": "Přístupnost a stavy",
      "status": "navrh",
      "title": "Výběr, dostupnost a asynchronní stav mají textový význam",
      "text": "Selected, chyba, loading a disabled jsou samostatné role. Výběr se neoznačuje pouze barvou; nedostupná akce vysvětlí důvod a nabídne dosažitelnou alternativu. AI není jediným zdrojem vysvětlení.",
      "rationale": "Společný design musí popsat chování, ne jen klidový snímek.",
      "checks": [
        "Ověřit stav před volbou, po volbě, při změně a při nedostupné službě.",
        "Přiměřeně oznámit změnu výsledků/potvrzení bez ztráty fokusu a vstupu."
      ],
      "source": "Tři odborné posudky; projektové offline pravidlo",
      "decision": ""
    },
    {
      "id": "SEO-01",
      "category": "Publikace a důvěryhodnost",
      "status": "potvrzeno",
      "title": "Výslovná politika indexace prototypů",
      "text": "Nové veřejné prototypové verze a jejich HTML vstupy mají jednotné meta noindex,nofollow. D11=A ponechává veřejný přístup; noindex není ochrana důvěrných dat. Historické neměnné složky a původní kořenový úraz se hromadně nepřepisují.",
      "rationale": "Výslovně zvoleno D11=A pro nové verze kalkulaček. Starší úraz bez noindex zůstává historickou výjimkou kvůli zachování vydání.",
      "checks": [
        "Ověřit skutečné HTTP hlavičky a HTML pro všechny veřejné vstupy.",
        "Nezablokovat pouze robots.txt přístup k noindex, který má robot přečíst; ochranu přístupu ověřit odděleně."
      ],
      "source": "Google Search Central; evidence/public-http.json; výslovné zadání implementace dle JSON z 2. 11. 2026",
      "decision": "D11"
    },
    {
      "id": "SEO-02",
      "category": "Publikace a důvěryhodnost",
      "status": "navrh",
      "title": "Marketingová stránka a aplikační kroky mají odlišný účel",
      "text": "Produkční vstupní obsah může mít jedinečný titul, popis a srozumitelné vysvětlení produktu. Osobní kroky, návrhy a rekapitulace nemají sloužit jako akviziční obsah. Konkrétní URL/render/indexační plán musí odpovídat skutečné architektuře.",
      "rationale": "Klíčová slova a SEO text se nemají mechanicky vkládat do každé obrazovky kalkulačky.",
      "checks": [
        "Ověřit vykreslené title, H1, popis a dostupnost smysluplného obsahu pro zvolenou veřejnou stránku.",
        "Neslibovat výsledek vyhledávání ani hodnocení konverze bez měření."
      ],
      "source": "Marketingový posudek; Google Search Central title/snippet/JavaScript",
      "decision": "D11"
    },
    {
      "id": "SEO-03",
      "category": "Publikace a důvěryhodnost",
      "status": "navrh",
      "title": "Doložitelné obchodní a AI formulace",
      "text": "Počty pojišťoven/variant, tvrzení o pomoci AI, ceně a nezávaznosti odpovídají skutečnému režimu a ověřenému zdroji. Číslo odvozené z modelového datasetu není automaticky aktuální obchodní nabídka.",
      "rationale": "22 variant a 11 skupin odpovídá místním datům, nikoli nezávislému ověření trhu. Současný offline popis text ve skutečnosti neanalyzuje.",
      "checks": [
        "U každého slibu určit vlastníka, zdroj a okamžik aktualizace.",
        "Před produkcí revidovat Bez telefonního spamu a formulace návrhu, platby a sjednání."
      ],
      "source": "Marketingový posudek; evidence/gpt-6.1-sol/source-copy-audit.json",
      "decision": "D03"
    },
    {
      "id": "DEV-01",
      "category": "Společné komponenty",
      "status": "potvrzeno",
      "title": "Vlastník každé CSS role a produktová výjimka",
      "text": "Směřovat ke kaskádě primitives → sémantické role → komponenty → produktové adaptéry → explicitní výjimky. Každá role má vlastníka a ukázky; nové výjimky neřešit řetězením širokých !important pravidel bez přezkumu.",
      "rationale": "Dnešní finální akcentová vrstva opravuje předchozí široké přebarvení. Pořadí souborů a specifičnost jsou rizikem dalších úprav. První sdílená vrstva vlastní navigaci, pole a Summary; starší kaskáda se nepřepisuje plošně.",
      "checks": [
        "Před refaktorem změřit vítězný výsledný styl a všechny relevantní stavy.",
        "Výjimka má produkt, důvod, rozsah a datum dalšího přezkumu."
      ],
      "source": "Architektonický posudek; současná CSS kaskáda; výslovné zadání implementace dle JSON z 2. 11. 2026",
      "decision": "D01"
    },
    {
      "id": "DEV-02",
      "category": "Vydávání a údržba",
      "status": "navrh",
      "title": "Přejímka změny podle dotčených rolí",
      "text": "Společná změna se ověří na obou produktech, z obou startů, ve stejných reprezentativních stavech. Rozsah kontroly odpovídá změně; výsledky a meze se uloží k vydání.",
      "rationale": "Samotná shoda úvodu nestačí pro dynamické karty, dialogy nebo rekapitulaci.",
      "checks": [
        "Zachytit before/after, počítané styly, chybové stavy a dotčené větve.",
        "Rozlišit screenshot, funkční průchod, klávesnicový test, test se čtečkou a test s lidmi; nezaměňovat jejich důkazní sílu."
      ],
      "source": "Metodika tohoto reportu; tři posudky",
      "decision": ""
    },
    {
      "id": "FER-01",
      "category": "Příprava Ferdy",
      "status": "overit",
      "title": "Ověřit současný proces a vlastníky Ferdy",
      "text": "Před návrhem skutečné integrace potvrdit aktuální produkt, formulářové definice, odpovědnosti, fáze a události z dnešních owning zdrojů. Historické identity 130/132/142 a Calc/Buy/Order jsou vodítko, nikoli dnešní schválené rozhraní.",
      "rationale": "Čtecí audit lokálních kopií z 3. 11. 2026 doložil odlišné směrování 132/142, formulářový protokol ClientActions/ResponseCache a samostatné mobilní prezentace. Autoritativní produkční commit, export formStore a cílové produkty 20/130 versus 22/142 nejsou potvrzené.",
      "checks": [
        "Získat aktuální mapu procesu a zodpovědného vlastníka.",
        "Popsat známé/nezjištěné oblasti včetně rozdílu produktů132a142; nevymýšlet endpointy."
      ],
      "source": "docs/ferda-interface-a-plan-2026-11-03.md; research/ferda-interface-2026-11-03/source-audit.json; historický integrační podklad",
      "decision": "D10"
    },
    {
      "id": "FER-02",
      "category": "Příprava Ferdy",
      "status": "overit",
      "title": "Datové smlouvy a serverová validace",
      "text": "Zmapovat modelový stav na skutečné atributy konkrétního produktu: osoby, povolání, číselníky, destinace, rizika, částky, dotazník a dokumenty. Potvrdit pravidla serverové validace a životního cyklu výsledků.",
      "rationale": "CMPFerda.toFerdaDraft je lokální vzor. Sám neověřuje správnost requestu, formuláře ani pojistné logiky.",
      "checks": [
        "Schválit DTO/schéma a chybový formát s owning systémem.",
        "Ověřit invalidaci výsledků/návrhu při změně, obnovu stavu a produktové rozdíly na testovacích datech."
      ],
      "source": "Čtecí audit Form/ClientActions z 3. 11. 2026; historický integrační podklad; současný modelový core",
      "decision": "D10"
    },
    {
      "id": "FER-03",
      "category": "Příprava Ferdy",
      "status": "overit",
      "title": "Oddělený modelový a skutečný adaptér",
      "text": "UI popisuje záměr kalkulovat, vybrat nebo připravit návrh; samostatný adaptér zajišťuje ověřené skutečné volání. Modelový adaptér zůstává lokální a průchozí i při nedostupné integraci.",
      "rationale": "Názvy UI záměrů nejsou endpointy. Přepínač režimu není náhradou autentizace, kontroly procesu a zabezpečení.",
      "checks": [
        "Ověřit autorizaci, správu stavu, chyby, timeout/retry a ochranu duplicit podle reálné smlouvy.",
        "Před jakýmkoli skutečným vedlejším účinkem samostatně potvrdit prostředí a rozsah testu."
      ],
      "source": "Architektonický posudek; hranice současného prototypu",
      "decision": "D10"
    },
    {
      "id": "FER-04",
      "category": "Příprava Ferdy",
      "status": "overit",
      "title": "Dokumenty, souhlasy, platby a odborné znění",
      "text": "Správné verze dokumentů, souhlasy, produktové podmínky, stav platby a potvrzení musí být ověřené s odpovědnými vlastníky před produkčním použitím. Modelové dokumenty ani demo formulace nejsou takovým ověřením.",
      "rationale": "Tento audit se týká designu a společných smluv UI; neověřuje právní či pojistnou správnost, bezpečnost produkce nebo skutečné sjednání.",
      "checks": [
        "V testovacím prostředí doložit návaznost nabídka → dokumenty → návrh → případná platba → potvrzení.",
        "Zapsat zvlášť právní/produktové, bezpečnostní a provozní přejímky a jejich vlastníky."
      ],
      "source": "Meze původního i nového auditu; historický Ferda podklad",
      "decision": "D10"
    },
    {
      "id": "FER-05",
      "category": "Příprava Ferdy",
      "status": "overit",
      "title": "Pilot před rozšířením integrace",
      "text": "Začít jedním schváleným reprezentativním komponentem nebo čtecím integračním scénářem v ověřeném testovacím prostředí, s popsanou odpovědností, důkazem a návratem. Rozšíření na oba produkty až po vyhodnocení pilotu.",
      "rationale": "Společný vzhled neprokazuje společný datový model ani připravenou integraci.",
      "checks": [
        "Definovat vstupní podmínky, úspěch, selhání a kritérium zastavení pilotu.",
        "Po novém integračním zjištění aktualizovat pravidla a rozhodnutí, zachovat historický snapshot."
      ],
      "source": "Konsolidované doporučení; plán postupného sjednocení",
      "decision": "D10"
    },
    {
      "id": "ZAD-12",
      "category": "Nabídky a údaje",
      "status": "potvrzeno",
      "title": "Jeden úplný seznam travel nabídek s původem dat",
      "text": "V travelu 0.23 zachovat jeden seznam všech 23 variant od 11 pojišťoven: 20 modelových nabídek a tři pevné testovací vzorky WS Direct (309/310/311), které nahrazují dva staré modely Direct. Tři WS zůstávají na konci; řazení mění pouze modelové nabídky. Bez skrývání do skupin. Starší verze zachovávají původních 22 variant.",
      "rationale": "Nové výslovné zadání uživatele: offline pilot i zpřesnění modelu, nahrazení dvou modelových Direct třemi WS. Schválený plán realizace z 2. 11. 2026 pro novou verzi má přednost před dřívější přesnou kardinalitou D06=A.",
      "checks": [
        "Výchozí seznam má 23 nabídek, z toho 3 WS Direct a 20 modelů, 11 pojišťoven; staré Direct identity jsou odstraněné.",
        "WS částky 2624/2944/4992 se nemění podle cesty; UI neuvádí neověřenou měnu ani období jako doložené.",
        "Neznámé a rozporné krytí není zelená shoda, nulové plnění ani zákaz sjednání; filtry vysvětlí nemožnost posouzení.",
        "Detail, porovnání, dokumentová ukázka, rekapitulace a modelová platba zachovávají původ údajů; žádné původní Direct doplňky nebo důkazy.",
        "Samostatný pohled Direct a oba starty zůstávají plně průchozí bez sítě."
      ],
      "source": "Výslovná volba uživatele a schválení implementačního plánu WS Direct z 2. 11. 2026",
      "decision": "D06"
    },
    {
      "id": "ZAD-13",
      "category": "Identita a vzhled",
      "status": "potvrzeno",
      "title": "Jednotné značky a formulářové sekce",
      "text": "Úvodní výhody používají zelené kruhové značky s bílým zaškrtnutím podle travelu. Výběrové karty úrazu mají kulatý stavový checkmark. Osobní formuláře údaje/people sdílejí bílé bloky, boxová pole a červenou linku pod nadpisy podle úrazu.",
      "rationale": "Výslovná vizuální korekce uživatele; červená linka patří nadpisu, nikoli běžnému poli.",
      "checks": [
        "Porovnat první krok a vybrané/nevybrané karty obou produktů na mobilu i desktopu.",
        "Formulářové nadpisy mají 100 × 2 px červenou linku; pole zachovávají 16 px/r8/min48."
      ],
      "source": "Navazující zadání uživatele z 2. 11. 2026",
      "decision": ""
    },
    {
      "id": "ZAD-14",
      "category": "Identita a vzhled",
      "status": "potvrzeno",
      "title": "Kompaktní travel a ilustrační systém rizik",
      "text": "Travel na desktopu nemá další margin pod navigací. Počty mazlíčků v prvním kroku nemají vlastní podbarvení. Cestovní rizika používají ilustrované SVG ve stejném stylu jako rizika úrazu; vhodné existující ilustrace lze znovu použít.",
      "rationale": "Výslovné navazující zadání; oddělit produktový obsah od společného vizuálního systému.",
      "checks": [
        "Na desktopu změřit mezeru pod navigací a na prvním kroku zkontrolovat mazlíčky.",
        "Ověřit viditelné ikony ve výběru, mapě a odpovídajících detailech bez rozbitých prostředků."
      ],
      "source": "Navazující zadání uživatele z 2. 11. 2026",
      "decision": ""
    },
    {
      "id": "EXP-01",
      "category": "Experimentální vývoj",
      "status": "potvrzeno",
      "title": "Dark mode pouze v oddělené větvi Experimental",
      "text": "Dark mode pro travel i úraz má vlastní samostatná vydání odvozená z připnutých nejvyšších běžných verzí a samostatnou sekci Experimental v rozcestníku. Experiment se neřadí mezi běžné nejnovější verze a jeho existence není schválením změn hlavní řady. Výchozí je tmavý motiv, volby jsou Tmavý / Světlý / Podle systému. Pouze tmavý experiment má výjimku z bílých ploch ZAD-03, ZAD-13 a DS-11, modré plochy patičky ZAD-04 a navy ceny DS-07 a neměnné palety D02=A: tmavé plochy, světlá modrá cena a hlavní zelená #00872E s bílým textem. Červený kicker zůstává #F42534. Světlý motiv zachovává dosavadní vzhled kromě ovladače Vzhled. Výpočty, validace, offline průchod a modelový režim se nemění; původní vydání se nepřepisují. Není požadován Git repozitář ani nasazení.",
      "rationale": "Výslovně schválený implementační plán z 2. 11. 2026; oddělení experimentu od dříve schváleného směru.",
      "checks": [
        "Ověřit samostatné metadatové pole experimental, základ a experimentální označení obou produktů; běžná nejnovější verze a desítka vydání se nemění.",
        "Oba starty, oba motivy a dvě šířky: 16 úplných modelových dokončení; další rozložení 320/768 px, systém, ukládání, formulářové stavy a klávesnice.",
        "V tmavém motivu změřit textový kontrast nejméně 4,5 : 1 a významové hranice ovladačů 3 : 1; červený kicker #F42534 proti skutečnému podkladu.",
        "Ověřit byte shodu historických souborů a ZIPů, izolaci úrazového stavu, nulové živé API a samostatnou tematickou preferenci."
      ],
      "source": "Výslovný pokyn PLEASE IMPLEMENT THIS PLAN a předchozí odpovědi vlastníka, 2. 11. 2026",
      "decision": ""
    },
    {
      "id": "ZAD-15",
      "category": "Drobné sjednocení běžné řady",
      "status": "potvrzeno",
      "title": "Vizuální korekce a travel bez e-mailových obrazovek",
      "text": "Pro běžné verze travel 0.23.1 a úraz 0.15.3 platí výslovné zadání z 3. 11. 2026: úraz má značky rizik stejně odsazené jako destinace travelu, hover všech zelených hlavních akcí podle travelu, kontaktní písmo podle travelu a jedinou nadpisovou linku adresy pojištěného 100 × 2 px. Travel má sekční červené nadpisy a rekapitulační platební akci podle úrazu, stejně velká číselná pole jako sousední +/- a neobsahuje obě e-mailové obrazovky ani vstupní zkratky mapy. Mapa zůstává dostupná přes patičkový přehled obrazovek. Obě rekapitulace mají jemný svislý předěl uprostřed mezery mezi sloupci; na mobilu se nezobrazuje.",
      "rationale": "Konkrétní zadání a doplňující potvrzení uživatele: odstranit návrh i potvrzovací e-mail; problém adresy se týká linky pod nadpisem. Jiné změny nejsou schválené.",
      "checks": [
        "Oba produkty projdou z ukázkového i prázdného startu na mobilu a desktopu bez živých API.",
        "Travel má 14 obrazovek, žádný e-mailový cíl ani odkaz; rekapitulace vede přímo k modelové platbě.",
        "Pole šesti počtů má bbox 30 × 32 px na desktopu a 34 × 34 px na mobilu jako sousední +/-; ostatní pole si ponechají min48.",
        "Indikátory rizik úrazu mají fyzický odstup 8 px od rámečku, původní průměr 22 px a nepřekrývají text.",
        "Linka adresy má pouze jeden předěl 100 × 2 px; validace polí se nemění.",
        "Desktopové rekapitulace mají column-rule 1 px solid #dce4ed, mobilní jeden sloupec bez předělu.",
        "Starší verze, původní kořenový úraz, již vydané ZIPy a dark experiment zůstávají beze změny."
      ],
      "source": "Výslovné zadání a upřesnění uživatele z 3. 11. 2026",
      "decision": ""
    },
    {
      "id": "ZAD-16",
      "category": "Mobilní platební akce",
      "status": "potvrzeno",
      "title": "Mobilní tlačítko platby pod produktem a cenou",
      "text": "Pouze do 600 CSS px má být platební tlačítko v rekapitulaci obou produktů na vlastním řádku pod identitou pojišťovny/produktu a cenou, přes celou vnitřní šířku bílé rekapitulace. Krajní odsazení obsahu zůstává. Travelové tlačítko Pokračovat na rekapitulaci má 24px horní odstup od posledního pole cestujících, zachovává text a validaci. Nad 600 px se nemění uspořádání, rozměry ani typografie obou tlačítek.",
      "rationale": "Nové výslovné zadání s mobilními snímky a následné upřesnění uživatele, že nejde o desktop. Starší pravidlo DS-11 se doplňuje pouze pro mobilní řádek akce.",
      "checks": [
        "Při 320/360/375/390/600 px je platební akce pod identitou i cenou a tlačítko má šířku obsahu rekapitulace bez přetečení.",
        "Při 601/768/1440 px rozložení a computed styly odpovídají předchozí verzi.",
        "Pokračování z údajů má na mobilu nejméně 24px odstup od posledního pole; validace se zachovává.",
        "Oba produkty jsou průchozí z obou startů, modelové ceny, WS data, API blokace a starší vydání se nemění."
      ],
      "source": "Výslovné zadání uživatele, tři přiložené snímky a mobilní upřesnění z 3. 11. 2026",
      "decision": ""
    },
    {
      "id": "ZAD-17",
      "category": "Rozcestník prototypů",
      "status": "potvrzeno",
      "title": "Aktuální stabilní výchozí prototyp a podklady dole",
      "text": "Každý produkt má v rozcestníku výslovně označenou aktuální stabilní verzi, která je výchozím prototypem. Aktuálně jde o travel 0.23.2 a úraz 0.15.5. Volba je samostatná metadata, nikoli automatické schválení libovolné novější či experimentální verze. Sekce stylopisu, společného designu a pravidel jsou pod přehledy verzí obou produktů.",
      "rationale": "Výslovné zadání uživatele z 3. 11. 2026, včetně nasazení na devel.",
      "checks": [
        "Oba aktuální stabilní prototypy mají čitelné označení na mobilu i desktopu.",
        "Sekce podkladů zůstávají pod oběma přehledy i po rozbalení historie a jejich odkazy fungují.",
        "Oba starty a všechny kalkulačky zůstávají beze změny; historie, původní kořenový úraz a oddělený dark experiment se zachovávají."
      ],
      "source": "Výslovné zadání uživatele z 3. 11. 2026",
      "decision": ""
    },
    {
      "id": "ZAD-18",
      "category": "Mobilní hlavička a výsledky",
      "status": "potvrzeno",
      "title": "Hlavička úrazu nesmí překrývat mobilní výsledky",
      "text": "V mobilním rozložení úrazu do 1023 CSS px při zobrazení panelu cen brandová hlavička odroluje s dokumentem, aby nezakrývala horní řádky přichycených výsledků pojišťoven. Dostupné výsledky musí zůstat čitelné a volitelné při skutečném posouvání. Ostatní kroky zachovávají původní sticky hlavičku. Od 1024 px se desktopové rozložení a chování hlavičky nemění.",
      "rationale": "Hlášení uživatele s mobilním snímkem z 3. 11. 2026. Původní hlavička a výsledky měly shodný horní sticky okraj a rozdílné vrstvení.",
      "checks": [
        "Skutečný scroll na mobilních šířkách neukryje výsledky pod brandovou hlavičku.",
        "Dostupné výsledky lze vybrat a pokračovat celým modelovým průchodem z obou startů.",
        "Desktop, travel, data, formuláře, starší vydání a původní serverový kořenový úraz zůstávají zachované."
      ],
      "source": "Výslovné hlášení uživatele a přiložený mobilní snímek z 3. 11. 2026",
      "decision": ""
    },
    {
      "id": "ZAD-19",
      "category": "Samostatné prezentace a předání do Ferdy",
      "status": "potvrzeno",
      "title": "Samostatný desktop a mobil a předávací rozhraní Ferdy",
      "text": "Realizovat schválený plán: pro úraz i travel samostatné desktopové a mobilní vstupy, renderery a CSS nad společným produktovým modelem a procesním kontraktem. Rozcestník má čtyři hlavní karty s explicitně zvoleným stabilním ID, dva starty na kanál a zachovanou historií. Předání do Ferdy odděluje nativní hostitelské šablony, scoped CSS a lifecycle JS od lokálních modelových výpočtů, routeru, úložiště a blokování sítě. Cílovou Ferdu ani skutečný pilot nelze odvodit z lokálních snapshotů.",
      "rationale": "Výslovné zadání uživatele a schválení implementace plánu z 3. 11. 2026.",
      "checks": [
        "Čtyři kanály mají vlastní URL, renderer, CSS a izolované úložiště; změna šířky nepřepíná aplikaci.",
        "Výsledky obou kanálů se shodují se společným modelem, oba starty projdou až k modelovému dokončení a fungují offline.",
        "Výchozí karty určuje stabilní ID; novější kandidát je nepřepíše. Historie a pravidla/design zůstávají dostupné dole.",
        "Handoff předává mapu flow a polí, obaly, komponenty, CSS a idempotentní JS pro DOMChange/notify. Syntetický harness není důkazem funkčního skutečného Formu.",
        "FER-01 až FER-05 zůstávají overit do potvrzení cílové verze, produktů, Form/formStore a runtime a následného pilotu."
      ],
      "source": "Výslovné zadání uživatele z 3. 11. 2026; docs/ferda-interface-a-plan-2026-11-03.md",
      "decision": "Schváleno uživatelem: Ok. Implementuj plán. Realizace samostatných prototypů a předávacího balíčku; skutečný pilot závisí na chybějících podkladech."
    },
    {
      "id": "ZAD-20",
      "category": "Mobilní výsledky úrazu",
      "status": "potvrzeno",
      "title": "Průběžné ceny nahoře a výběr pojišťovny pod riziky",
      "text": "V nové mobilní podverzi úrazu zobrazovat nahoře pouze sloupce s logem pojišťovny a cenou pod ním. Nabídky s tlačítky výběru jsou pod riziky. Jakmile se objeví první řádek nabídek, horní cenový přehled se skryje; při návratu k rizikům se obnoví. Zachovat cenový kontext popupu, koncept Uložit/Zrušit, sdílené výpočty a modelový režim. Desktopové vydání se nemění.",
      "rationale": "Zadání z 4. 11. 2026 a následné výslovné upřesnění, že jde o mobilní verze.",
      "checks": [
        "Pět sloupců obsahuje jen logo a cenu; tlačítka výběru jsou pouze v nabídkách pod riziky. Rozdíly v krytí lze rozbalit u spodních nabídek.",
        "Po skutečném posouvání přehled zůstává dostupný, skryje se při vstupu prvního výsledkového řádku do viewportu a obnoví při návratu nad nabídky. Hlavička nepřekrývá ceny.",
        "Popup zachovává viditelný cenový kontext, náhled odpovídá zvolenému limitu a sdílenému modelu. Uložit potvrdí změnu a Zrušit či Escape zachová původní krytí.",
        "Oba starty projdou až k modelovému dokončení; desktop, travel, ostatní kroky, historické soubory a vydané ZIPy se nezmění."
      ],
      "source": "Výslovné zadání uživatele z 4. 11. 2026 v tomto chatu.",
      "decision": "Jedna nová mobilní verze; poslední upřesnění určuje nahoře jen loga/ceny a výběr pod riziky s podmíněným skrytím přehledu. Nasazení na devel je výslovně schválené."
    },
    {
      "id": "ZAD-21",
      "category": "Desktopové výsledky úrazu",
      "status": "potvrzeno",
      "title": "Nabídky napravo ve druhém kroku desktopu",
      "text": "V nové desktopové podverzi úrazu zobrazovat výsledky ve druhém kroku napravo od výběru rizik podle rozložení 0.10. Zachovat výpočty, formuláře a ostatní kroky. Mobilní prezentace zachovává vlastní rozložení 0.16.1.",
      "rationale": "Nové výslovné zadání uživatele z 4. 11. 2026 po dokončení mobilní úpravy.",
      "checks": [
        "Krytí a nabídky jsou vedle sebe na desktopových šířkách od 1024 px; navigace zůstává přes oba sloupce.",
        "Všechny dostupné nabídky lze vybrat při posouvání a na nízké obrazovce; hlavička nezakrývá výběr.",
        "Oba starty projdou modelovým sjednáním. Ostatní kroky odpovídají desktopu 0.16.0.",
        "Mobilní 0.16.1, travel, produktová jádra, historické soubory, ZIPy a původní serverový úraz zůstávají shodné."
      ],
      "source": "Výslovné zadání uživatele z 4. 11. 2026: výsledky na desktopu u úrazu vpravo jako ve verzi 0.10.",
      "decision": "Schválena nová desktopová podverze při zachování mobilní 0.16.1; nasazení na devel navazuje na stávající zadání."
    },
    {
      "id": "ZAD-22",
      "category": "Počáteční výběr a nabídky úrazu",
      "status": "potvrzeno",
      "title": "Druhý krok bez předvolených rizik a bez předčasných cen",
      "text": "Na desktopu i mobilu zachovat první krok se základními údaji. Druhý krok začíná bez vybraného krytí a bez cen/nabídek. Teprve potvrzená volba rizika nebo vědomá volba předvolby zobrazí ceny; odebrání posledního rizika je skryje. Primární tlačítka mají barvy a hover z 0.10. Mobilní přehled obsahuje sloupce logo/cena v jediném rámečku; klepnutí na dostupnou nabídku vybere pojišťovnu a pokračuje stejně jako spodní tlačítko. Náhled v popupu nepovoluje výběr nepotvrzeného krytí.",
      "rationale": "Zadání a upřesnění uživatele z 4. 11. 2026 v tomto chatu.",
      "checks": [
        "Ukázkový i prázdný start zachovají profil jako krok 1 a vstoupí do kroku 2 s prázdným krytím a bez cen. Pouhé otevření nebo zrušení popupu ceny neodkryje.",
        "Uložení prvního rizika a vědomá volba předvolby ceny zobrazí; odebrání posledního rizika je skryje. Rozpracovaná potvrzená volba se obnoví po reloadu.",
        "Na desktopu zůstávají nabídky napravo, na mobilu nahoře loga/ceny a dole podrobné nabídky se stávajícím skrytím přehledu od prvního spodního řádku.",
        "Logo i cena dostupné mobilní nabídky skutečně vyberou pojišťovnu a přejdou do konfigurace. Nedostupná nabídka je neaktivní, popup je do Uložit pouze náhled.",
        "Tlačítka odpovídají změřené 0.10: základ #003B71 / bílá, hover #51B24E / #102F49. Mobilní cenové sloupce nemají vlastní zaoblení, bordery ani vnitřní spodní stíny.",
        "Modelové výpočty, validační pole, ostatní průchod, travel, starší vydání a původní serverový úraz se zachovávají."
      ],
      "source": "Výslovné zadání uživatele z 4. 11. 2026; referenční 0.10; přiložený obrázek mobilního cenového přehledu.",
      "decision": "Nové podverze obou kanálů při zachování prvního kroku. Nasazení navazuje na stávající výslovné zadání devel."
    }
  ],
  "decisions": [
    {
      "id": "D01",
      "title": "Rozsah sjednocení",
      "selection": "B",
      "status": "potvrzeno",
      "label": "Sdílené komponenty",
      "source": "Výslovné zadání uživatele dle exportu z 2. 11. 2026"
    },
    {
      "id": "D02",
      "title": "Kontrast při bílém textu a červeném kickeru",
      "selection": "A",
      "status": "potvrzeno",
      "label": "Zachovat nynější vzhled pro prototyp",
      "source": "Výslovné zadání uživatele dle exportu z 2. 11. 2026"
    },
    {
      "id": "D03",
      "title": "Kdy a proč sbírat kontakt",
      "selection": "nerozhodnuto",
      "status": "nerozhodnuto",
      "label": "Nerozhodnuto",
      "source": "Výslovné zadání uživatele dle exportu z 2. 11. 2026"
    },
    {
      "id": "D04",
      "title": "Mobilní fáze a podkrok",
      "selection": "A",
      "status": "potvrzeno",
      "label": "Fáze + podkrok",
      "source": "Výslovné zadání uživatele dle exportu z 2. 11. 2026"
    },
    {
      "id": "D05",
      "title": "Společná podoba a chování pole",
      "selection": "A",
      "status": "potvrzeno",
      "label": "16 px a radius 8 pro nový Field",
      "source": "Výslovné zadání uživatele dle exportu z 2. 11. 2026"
    },
    {
      "id": "D06",
      "title": "Zobrazení všech travelových nabídek",
      "selection": "A",
      "status": "potvrzeno",
      "label": "Jeden seznam; pro travel 0.23 schváleno 23 variant (20 modelů + 3 WS Direct)",
      "source": "Původní D06=A a navazující výslovné schválení plánu WS Direct z 2. 11. 2026"
    },
    {
      "id": "D07",
      "title": "Rekapitulace a cena",
      "selection": "A",
      "status": "potvrzeno",
      "label": "Společný Summary a modrá cena",
      "source": "Výslovné zadání uživatele dle exportu z 2. 11. 2026"
    },
    {
      "id": "D08",
      "title": "Mobilní podoba dialogu",
      "selection": "nerozhodnuto",
      "status": "nerozhodnuto",
      "label": "Nerozhodnuto",
      "source": "Výslovné zadání uživatele dle exportu z 2. 11. 2026"
    },
    {
      "id": "D09",
      "title": "Podoba modelového označení a názvů akcí",
      "selection": "nerozhodnuto",
      "status": "nerozhodnuto",
      "label": "Nerozhodnuto",
      "source": "Výslovné zadání uživatele dle exportu z 2. 11. 2026"
    },
    {
      "id": "D10",
      "title": "Samostatná brána pro pilot Ferdy",
      "selection": "nerozhodnuto",
      "status": "nerozhodnuto",
      "label": "Nerozhodnuto",
      "source": "Výslovné zadání uživatele dle exportu z 2. 11. 2026"
    },
    {
      "id": "D11",
      "title": "Indexace a přístup k prototypům",
      "selection": "A",
      "status": "potvrzeno",
      "label": "Veřejný devel s jednotným noindex",
      "source": "Výslovné zadání uživatele dle exportu z 2. 11. 2026"
    }
  ],
  "channelBaselines": {
    "travel": {
      "desktop": "travel-desktop-0.24.0",
      "mobile": "travel-mobile-0.24.0"
    },
    "uraz": {
      "desktop": "uraz-desktop-0.16.2",
      "mobile": "uraz-mobile-0.16.2"
    }
  }
}
