# Ze session k opravám (https://docs.vitrinka.ai/cs/dev/skills/sessions)



## /vitrinka:sessions [#autopilot]

Celá pipeline je jeden skill. Najde nezpracované nahrané session projektu a každou provede opravami, pak testy a nakonec zápisem toho, co se stalo. Běh jedné fáze — jen opravy, nebo jen testy — se směruje uvnitř skillu; žádný další skill si pamatovat nemusíte. Jedinou mapou pravidel je `vitrinka.config.json` v kořeni repozitáře — které stacky spustit, jejich kontroly připravenosti, nastavení e2e pro každý framework — a když chybí, první běh ji s vámi zmapuje. Session čeká na zpracování, jakmile je hotová a promítnutá na svou nástěnku, ale ještě nemá razítko otestování.

## Fáze oprav [#fix]

Promění jednu nahranou session v hotové opravy. Session přečte **jednou** přes výtah, ne opakovaně, a pak její problémy — anotace, selhaná volání i chyby v konzoli dohromady — seskupí do bloků po 5–10 souvisejících.

## Fáze testů [#tests]

Udělá z nahraných cest udržované end-to-end testy, v runneru, který projekt opravdu používá.

* **Runner se detekuje sám** — Playwright pro web, Appium/WebdriverIO pro Expo a React Native.
* **Konsolidační verdikty** — každá cesta se posoudí proti existujícímu registru — rozšířit, aktualizovat, nová, přeskočit — aby se znovu nahraný tok nerozvětvil do duplicitní sady.
* **Zapsané** — výsledek přistane na serveru: každá cesta je úkol typu `journey` s klíčem `fields.key` a sezení nese svá razítka pipeline. Do repozitáře se žádný manifest necommituje.

## Důkaz [#proof]

Ověřovací běh se zakreslí zpátky na nástěnku session, takže session, která problémy nahlásila, nese i důkaz, že zmizely.

## Session kódovacích agentů [#archive]

Tentýž skill drží i váš vlastní přepis za úkolem, na kterém pracoval, když práce přechází na někoho dalšího.

```bash
vitrinka qa session archive session.jsonl --task 718 --hint "načti, až se formulář adresy rozbije"
vitrinka qa session continue 718
```

`archive` nahraje surový JSONL z Claude Code nebo Codexu jako referenci `transcript` na úkolu, s normalizovaným indexem; stejný název souboru na stejném úkolu je nová verze, nikdy náhrada. Přihlašovací údaj v přepisu nahrání odmítne — vyměňte ho a archivujte znovu — zatímco e-maily, telefonní čísla a dlouhé neprůhledné řetězce se zamaskují na místě a cesty se převedou na přenositelné, aby je přečetl i jiný checkout. `continue` vypíše nejnovější výtah úkolu jako brief pro /continue a když přepis pochází z harnessu, ve kterém jste, nabídne nativní pokračování — nikdy ho nespustí. Přepis se k úkolu dostane jen tehdy, když práci předáváte (`vitrinka task handback --transcript`, nebo `archive` ručně), nikdy proto, že session skončila.
