# Watch for (https://docs.vitrinka.ai/cs/pm/watch-for)



## Sledování změny, ne připomínka [#purpose]

**Watch for** je úkol, který opakovaně hledá důkaz: vydání nové verze závislosti, sloučený pull request, nasazení nebo nový problém. Má schválený plán sledování a mezi kontrolami přetrvává bez běžící programovací session. Jeho typ je `watch`.

Todo použijte, když chcete připomínku k datu nebo podmínce. Watch for použijte pro opakované pozorování, důkazy a předem určenou reakci na nález. Sledování běžného úkolu vás jen přihlásí k jeho aktivitě; žádné zdroje nekontroluje.

## Od záměru ke spuštěnému plánu [#plan]

1. Založte úkol typu **Watch for** a otevřete jeho sekci Watch for. Čekající draft v Příjmu musí být nejdřív přijat, jinak nic nesleduje.
2. Popište **What to watch for** a zvolte **Draft plan with Eve**. Nebo přes **Write plan** napište plán bez AI.
3. Zkontrolujte cíl, zdroje, důkazy potřebné k potvrzení, dobu sledování, nejkratší/nejdelší interval, denní rozpočty, vlastníka a navazující práci. Poznámky Evy vysvětlují předpoklady nebo zdroje, které workspace nenabídl.
4. Zvolte &#x2A;*Arm revision …** pro přesnou revizi, kterou jste zkontrolovali. Uložení ani návrh plánu sledování nespouští.

Každá uložená úprava plánu vytvoří novou, neschválenou revizi a zastaví kontroly pod starým schválením. Plán znovu zkontrolujte a spusťte. Přizpůsobení času uvnitř schválených mezí novou revizi nevytváří.

* **Jednorázově** (`once`) — skončí po uložení nálezu a přípravy navazující práce. Úkol Watch může být hotový, i když navržená implementace stále čeká v Příjmu nebo je navazující úkol blokovaný.
* **Průběžně** (`ongoing`) — dál hledá odlišné nálezy. Nezměněné důkazy nevytvoří další nález ani po schválení pozdější revize.

Volitelný konec plánu zastaví další kontroly po daném čase; nedokazuje splnění cíle. Pro pokračování plán upravte.

## Vyberte zdroje dostupné ve workspace [#sources]

Plán může mít nejvýše osm zdrojů. Dostupnost se ověřuje při uložení a spuštění a přístup znovu při každé kontrole.

| Zdroj                                          | Co čte a co potřebuje                                                                                                                                                                                                                                                                                |
| ---------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Fakt Vitrinky** (`vitrinka`)                 | Pravdu o projektu v gramatice podmínek todo: `pr <n> [merged\|closed]`, `release cut\|next`, `deployed <env> [<sha>]` nebo `after <id>`. Plán složený jen z faktů vyhodnocuje server bez Evy; musí platit všechny uvedené fakty. Volný text ani podmínky cesty/úkolu závislé na session sem nepatří. |
| **GitHub** (`github`)                          | Vydání, tagy, issues nebo pull requesty z určeného `owner/repo`, případně filtrované slovy v názvu. Admin připojí GitHub App workspace s přístupem do repozitáře; stejné oprávnění instalace je potřeba i pro soukromé repozitáře.                                                                   |
| **Problémy Hlídače** (`signals`)               | Otevřené skupiny problémů už uložené pro projekt směrovaný nakonfigurovaným zdrojem Hlídače, včetně vstupů ze Sentry a alertů. Čte se místní záznam Vitrinky, nejde o nový přímý konektor do Sentry.                                                                                                 |
| **Veřejná stránka nebo feed** (`page`, `feed`) | Text veřejné stránky nebo RSS/Atom feedu na schválené URL. Bez přihlášení, shellu či prohlížeče. Stahování má limity a odmítá cíle v privátní síti.                                                                                                                                                  |
| **Slack** (`slack`)                            | Vybraný kanál, případně vlákno a hledaná slova. Admin v integracích workspace nastaví připojení Slacku jen pro čtení a výslovný seznam povolených kanálů; aplikace musí mít přístup i do dané konverzace. Plán nemůže prohledávat jiné kanály ani posílat zprávy.                                    |

Odebrání instalace GitHubu, odpojení Slacku nebo odebrání kanálu se projeví při dalších čteních. Opravte připojení nebo vyberte dostupný zdroj; uložený plán není trvalé oprávnění k přístupu.

## Výsledek a stav sledování [#outcomes]

Každá kontrola má jeden ze tří výsledků:

* **Potvrzeno** (`match`) — čitelné důkazy podporují nový nález s citacemi zdrojů a časy pozorování.
* **Bez shody** (`no_match`) — dostupné důkazy neukazují novou shodu; už zpracované nálezy nejsou nové.
* **Nelze ověřit** (`unable`) — důkazy jsou nepřístupné, chybí, nejsou průkazné nebo kontrolu nešlo vyhodnotit. &#x2A;*Nikdy to neznamená „vše v pořádku“.** Plánované datum vydání není skutečné vydání; nečitelný zdroj nedokazuje, že se nic nezměnilo.

Sekce ukazuje poslední a příští kontrolu, dnešní i celkové kontroly/tokeny, nálezy a historii. Stav vysvětluje situaci a nabízí nápravu:

| Stav       | Co udělat                                                                                                                                                                                                              |
| ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `idle`     | Napište a schvalte plán nebo obnovte záměrně pozastavené sledování. Zrušené sledování zůstane zastavené.                                                                                                               |
| `ok`       | Kontroly mohou pokračovat, nebo jednorázové sledování našlo důkaz a připravilo navazující práci. Čtěte i vysvětlení, ne pouze značku stavu.                                                                            |
| `degraded` | Jedna nebo dvě kontroly nedokázaly cíl ověřit. Přečtěte si diagnózu; další pokusy se automaticky vzdalují v mezích plánu.                                                                                              |
| `failing`  | Tři nebo více kontrol cíl neověřily. Opravte uvedený problém zdroje, oprávnění či backendu a požádejte o kontrolu.                                                                                                     |
| `blocked`  | Postupujte podle konkrétní nápravy: zapněte Evu, počkejte na denní rozpočet, upravte prošlý plán, znovu otevřete uzavřený úkol nebo nechte editora znovu schválit revizi, pokud původní schvalující opustil workspace. |

## Intervaly a rozpočty [#limits]

Meze intervalu plánu musí být mezi **15 minutami a jedním týdnem**. Eve smí navrhnout další interval jen uvnitř těchto mezí; uvnitř nich se prodlužují i neúspěšné pokusy. Zmeškané termíny se sloučí do jedné aktuální kontroly, ne do dávky historických volání.

* **Kontroly za den**: 1–96 na sledování, podle dnů UTC. Slot spotřebují i ruční a neúspěšné kontroly.
* **Tokeny za den**: volitelně od 40 000 do 2 000 000; `0` ponechá jako jediný rozpočet plánu počet kontrol. Je to pevný strop: kontrola začne jen tehdy, když se nejvyšší možná spotřeba jedné kontroly (40 000 tokenů) ještě vejde do zbytku denního rozpočtu.
* **Limit workspace**: `watch.checks.perDay` je ve výchozím stavu **500** pro všechna sledování dohromady. Platné nastavení je 0–10 000; `0` odstraní tento společný limit, nikoli limity jednotlivých sledování.

Když kontrolu zastaví denní limit, diagnóza ho pojmenuje a další pokus se přesune na 00:05 UTC následujícího dne. Požadavek na kontrolu rozpočet neobejde. Zvýšení rozpočtu plánu je úprava, kterou je třeba znovu zkontrolovat a schválit.

## Co nález připraví [#findings]

Schválené navázání určuje, co se stane pro každý odlišný nález:

* **Navrhnout** (`propose`) — do [Příjmu](/cs/pm/intake) přijde jeden draft s důkazy. O přijetí, odmítnutí či sloučení rozhodne triáž; sledování novou práci samo nepřijímá.
* **Připravit** (`ready`) — připojí existující přijatý úkol a zaznamená, zda jeho vlastní předpoklady dovolují práci v okamžiku přípravy. Otevřené lidské i akční brány, závislosti a další překážky dál platí; nález je neoznačí za splněné. Seznam nálezů čte předpoklady navazujícího úkolu při každém zobrazení znovu, takže „připraveno“ vždy znamená připraveno teď.
* **Bez navázání** (`none`) — uloží nález bez přípravy úkolu.

Vlastník dostane nejvýše jedno upozornění na nález; prázdný vlastník znamená řešitele úkolu, případně jeho zakladatele. Opakované pokusy znovu použijí nález a připravený draft místo vytváření duplicit.

**Nález není schválení realizace.** Žádné sledování nespustí programovací session, neupraví repozitář, neotevře pull request ani nic nenasadí. Připravená práce si zachovává běžné implementační a release brány.

## Pozastavit, obnovit, zkontrolovat nebo zrušit [#controls]

* **Pause** pozastaví spuštěné sledování a zneplatní výsledky rozpracovaných kontrol.
* **Resume** zachová schválení a dodrží nejkratší interval plánu od poslední kontroly. Pokud původní schvalující ztratil členství ve workspace, musí místo toho editor plán znovu schválit.
* **Check now** požádá o kontrolu spuštěného sledování s odstupem nejméně **15 minut** od poslední kontroly a se stejnými denními rozpočty. Jde o zařazení požadavku, ne příslib okamžitého výsledku.
* **Edit plan** zastaví staré schválení; novou revizi uložte, zkontrolujte a spusťte.
* **Cancel watch** sledování trvale zastaví. Založte nové, zrušené nelze obnovit. Dokončené jednorázové sledování naopak můžete upravit a znovu schválit pro nový cíl.

## Enterprise a přepínače AI [#switches]

| Přepínač                          | Dopad na Watch for                                                                                                                                                                                   |
| --------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `AIR_GAP`                         | Blokuje pozorování veřejných stránek/feedů, GitHubu a Slacku. Místní fakty Vitrinky a už uložené problémy Hlídače zůstávají čitelné. Eve potřebuje dostupný backend uvnitř perimetru.                |
| `watchOutboundOff` ve workspace   | Vypne tyto vnější zdroje sledování, ne místní pozorování. Samo nevypíná AI; tu řídí samostatné přepínače.                                                                                            |
| Automatizace `watch-check`        | Zapíná/vypíná automatické vyhodnocení Evou; výchozí stav je zapnuto. Neblokuje vyžádaný návrh plánu ani vyhodnocení samotných faktů.                                                                 |
| Vypnutí AI ve workspace (`aiOff`) | Blokuje návrhy a vyhodnocení Evou. Ručně psané plány a kontroly samotných faktů fungují dál. Jiné plány hlásí nelze ověřit, ne bez shody; čtení zdrojů může proběhnout před kontrolou přístupu k AI. |

I místní pozorování Hlídače potřebují vyhodnocení Evou; nejsou to deterministické fakty. Vypnutí Evy sledování samo nezruší a nezabrání započtení zahájených kontrol do rozpočtu.

## Nástroje agentů a terminál [#agents]

Založení používá `create {kind: "task", type: "watch", …}`. MCP `update_watch` přijímá `op: "intent" | "draft" | "plan" | "arm" | "pause" | "resume" | "cancel" | "check"`. `plan` obsahuje celý plán; `arm` musí uvést zkontrolovanou `revision`.

`get_task {id, view: "watch"}` vrací plán, stav, spotřebu a dovolené akce; `view: "watch-history"` čte kontroly a nálezy.

Terminál používá `vitrinka task watch <id> [verb]`: bez slovesa znamená `show`; další jsou `history`, `intent`, `draft`, `plan`, `arm`, `pause`, `resume`, `cancel` a `check`. Přepínače a JSON výstup popisuje nápověda.

```bash
vitrinka task watch 42 show
vitrinka task watch 42 draft --intent "Upozorni mě, až vyjde oprava v upstreamu"
# Než schválíte revizi, přečtěte si vrácený plán.
vitrinka task watch 42 arm --revision 1
vitrinka task watch 42 history
```
