# Orchestrátor — vždy deleguje, tři vrstvy subagentů, deep research, bash pro deep-research

**Datum:** 3. 11. 2026  
**Stav:** Finální plán k implementaci  
**Autoritativní plán:** `.kilo/plans/CyberBrain26cil-031026-v2.md` (beze změny cíle, jen metoda)

---

## 1. Cíl

Orchestrátor vždycky rozděluje úkoly mezi subagenty (nikdy sám nekoná), deleguje do tří vrstev subagentů, spouští je paralelně (max 4), a když není jistý, spustí `deep-research`. `deep-research` dostane `bash` (read-only `curl`) pro ověření URL.

---

## 2. Souvislosti s existujícím kódem

- `.kilo/kilo.jsonc`: `"subagent_depth": 1` — tvrdá runtime pojistka (D6). Nutné ji změnit, jinak tři vrstvy nefungují.
- `.kilo/kilo.jsonc`: `"agent": {"orchestrator": {"mode": "primary", ...}}` — orchestrátor je jediný primární delegátor.
- `.kilo/agent/orchestrator.md`: už má delegační matici 10 subagentů, `task` allowlist, `bash: allow`, `edit: allow`.
- `.kilo/agent/deep-research.md`: `bash: deny`, `task: deny`, `edit: deny`.
- `AGENTS.md`: pravidlo „Odpovídej česky..." + „Přemýšlej a mluv k uživateli česky."
- `orchestrator_never_does_work_itself` — NEJTVRDŠÍ PRAVIDLO (vlastník, 2026-10-03).

---

## 3. Rozhodnutí (vyřešeno)

| # | Rozhodnutí | Hodnota | Zdroj |
|---|-----------|---------|-------|
| 1 | Kam uložit pravidla | `.kilo/agent/orchestrator.md` | Uživatel (1a) |
| 2 | Tři vrstvy subagentů | `subagent_depth: 1` → `3` | Uživatel (2b, vlastník schvaluje) |
| 3 | Deep research trigger | „Když agent neví jak dál" (chybí ověřený důkaz / neznámá doména) | Uživatel (3) |
| 4 | Paralelní limit | 4 souběžné subagenty (beze změny) | Uživatel (4ok) |
| 5 | `deep-research` bash | `bash: allow` (read-only `curl` pro ověření URL) | Uživatel (5ano) |

---

## 4. Soubory ke změně

### A) `.kilo/kilo.jsonc`

1. `permission.subagent_depth`: `1` → `3`
2. (Volitelně, pokud není už) potvrdit `orchestrator` frontmatter: `mode: primary`, `task` allowlist s 10 subagenty.

### B) `.kilo/agent/orchestrator.md`

Přidat/upravit tyto sekce:

1. **Povinné delegování** — orchestrátor nikdy sám nekoná, vždy předává artefát konkrétnímu subagentovi (D6 + `orchestrator_never_does_work_itself`).
2. **Tři vrstvy subagentů** — orchestrátor → subagent → sub-subagent (max hloubka 3). Každá vrstva má svůj vlastní kontext a vlastní `declared_actions`.
3. **Paralelní spouštění** — max 4 souběžné background subagenty na krok (beze změny, ale explicitně zapsáno jako pravidlo).
4. **Deep research trigger** — když agent (jakékoli úrovně) nemá ověřený důkaz (`file:line` nebo výstup příkazu) pro rozhodovací fakt, nebo narazí na doménu/technologii mimo svou chartu → spustí `deep-research` s formulovanou otázkou a rozsahem.
5. **Povinný cross-check** — před spuštěním jakéhokoli subagenta ověřit `declared_actions` proti `ACTION_SCOPE_REQUIREMENTS` (offline náhrada: `src/cyberbrain26/security_plane/actions.py:242-272`).

### C) `.kilo/agent/deep-research.md`

1. `permission.bash`: `deny` → `allow` (pouze read-only příkazy: `curl` pro ověření URL, žádný zápis, žádná exekuce).
2. Přidat povinnost: každá citovaná URL musí být ověřena (`curl -s -o /dev/null -w "%{http_code}"` + `pushed_at`/`stargazers_count` pro GitHub API), jinak je značena `[NEOVĚŘENO]`.

---

## 5. Průběh (pořadí kroků pro implementační agenta)

1. **Gate 1 (před změnou)** — `pytest -q`, `ruff check`, `mypy src/cyberbrain26` musí projít (zelená baseline).
2. **Změna `.kilo/kilo.jsonc`** — `subagent_depth: 1` → `3`.
3. **Změna `.kilo/agent/orchestrator.md`** — dle sekce 4B (pravidla delegování, tři vrstvy, paralelně 4, deep research trigger, cross-check).
4. **Změna `.kilo/agent/deep-research.md`** — `bash: allow` + povinnost ověřovat URL.
5. **Gate 2 (po změně)** — `pytest -q`, `ruff check`, `mypy src/cyberbrain26` musí projít + diff + coverage.
6. **Ověření** — jeden příkaz potvrdí všechny body receiptu (`grep` na klíčová řádka v souborech).
7. **Dokumentace** — aktualizovat související `.md` soubory, pokud je to nutné (volitelné).

---

## 6. Validace (co musí být pravdivé po změně)

- `grep -n "subagent_depth" .kilo/kilo.jsonc` → `3`
- `grep -n "bash: allow" .kilo/agent/deep-research.md` → nalezeno
- `grep -n "tři vrstvy\|three layers\|subagent_depth" .kilo/agent/orchestrator.md` → nalezeno
- `grep -n "deep-research" .kilo/agent/orchestrator.md` → trigger podmínka najdete
- `pytest -q` → všechny testy zelené
- `ruff check` → čisté
- `mypy src/cyberbrain26` → čisté

---

## 7. Rizika a pojistky

| Riziko | Pojistka |
|--------|----------|
| `subagent_depth: 3` porušuje D6 invariant (subagenty nespouštějí dál) | Vlastník explícitně schválil (2b). `subagent_depth: 3` je maximální povolená hloubka, není to „unbounded". |
| `deep-research` s `bash` může spustit nebezpečný příkaz | Omezení na read-only `curl` (žádný zápis, žádná exekuce). `edit: deny` zůstává. |
| Tři vrstvy vytvoří profondní rekurzi bez konce | Hard limit 3 úrovně, fan-out max 4, doom_loop deny. |
| Deep research spuštěn zbytečně (i když agent ví jak dál) | Trigger je „chybí ověřený důkaz nebo neznámá doména", ne „vždy". |

---

## 8. Otevřené body (pro vlastníka)

- Žádné — všech pět bodů vyřešeno. Implementační agent může začít.

---

Plán je připraven k implementaci. Soubor: `1793700000000-orchestrator-delegation-plan.md`
<tool_call>
<function=plan_exit>