# SESSION_HANDOFF_2026-11-03 — CyberBrain26 v4.1 Complete Diagnostic & Roadmap

**Datum:** 3. listopadu 2026  
**Větev:** `master` · **HEAD:** `90a42e6`  
**Verze:** `4.1.0`  
**Autoritativní plán:** `.kilo/plans/CyberBrain26cil-031026-v2.md` (schváleno vlastníkem 3. 10. 2026)  
**Tento soubor je hlavní vstup pro nový chat bez paměti.**

---

## 0. Stav v jedné větě

CyberBrain26 je testovaný Python prototyp v Phase F2 (minimal complete agent flow: pilot workflow + egress integration tests). Všechny gatey (pytest 764 passed, ruff clean, mypy clean 87 souborů) jsou zelené. Pracovní strom není commitnut — existují necommitnuté změny a nepořádek v git indexu. `subagent_depth` byl změněn na `3` (tři vrstvy subagentů) a `deep-research` dostal `bash: allow` pro read-only ověření URL.

---

## 1. Git stav (ověřeno příkazem)

```
git rev-parse HEAD           → 90a42e6cee27a6233c9b6e7255f35a772bd4f9a2
git log --oneline -3         → poslední 3 commity na masteru
git status --short           → viz níže (necommitnuté změny)
```

Pracovní strom obsahuje necommitnuté změny (viz `git status --short`). Nic není staženo, nic není commitnuto. Formování release commitu je rozhodnutí vlastníka.

---

## 2. Kvalitní brány (Gate 1/2 — zelená, ověřeno 3. 11. 2026)

| Brána | Příkaz | Výsledek |
|-------|--------|----------|
| Testy | `pytest -q` | **764 passed**, 0 failed |
| Lint | `ruff check src/cyberbrain26/` | **All checks passed!** |
| Typy | `mypy src/cyberbrain26` | **Success: no issues found in 87 source files** |

Poznámka: `ruff check .` (celý repo) hlásí 11 chyb v `llama_cpp_server_proxy.py` — předchozí stav, není způsoben mými změnami.

---

## 3. Hlavní pravidla a konfigurace (aktuální stav)

### 3.1 Komunikace (AGENTS.md)

- Odpovídej česky, pokud uživatel nepožádá o jiný jazyk.
- **Přemýšlej a mluv k uživateli česky, bez ohledu na jazyk zadání.** (přidáno 3. 11. 2026)

### 3.2 Kilo konfigurace (`.kilo/kilo.jsonc`)

| Klíč | Hodnota | Poznámka |
|------|---------|----------|
| `subagent_depth` | **3** (byl 1, změněno 3. 11. 2026) | Tři vrstvy subagentů: orchestrátor → subagent → sub-subagent |
| `default_agent` | `promptmaster` | Vstupní bod pro každé nové zadání |
| `mcp.cyberbrain26.enabled` | `false` | F3 server v repu neexistuje, fail-closed |
| `permission.bash` | `deny` (globální) | Orchestrátor má výjimku `allow` v frontmatteru |
| `permission.task` | `{ "*": "deny" }` (globální) | Žádný subagent nemůže spustit další bez explicitního allowlistu |
| `permission.cyberbrain26_*` | `ask` | Vyžaduje lidské schválení |

### 3.3 10 subagentů (delegace je povinná, orchestrátor nikdy sám nekoná)

| Agent | Režim | Klíčová oprávnění | Účel |
|-------|-------|-------------------|------|
| `orchestrator` | primary | `bash: allow`, `edit: allow`, `task: allow` pro 10 subagentů | Jediný delegátor |
| `promptmaster` | primary | Vše `deny` | Přijímá prompt, připraví artefakt |
| `deep-research` | subagent | `bash: allow` (read-only curl), `edit: deny`, `task: deny` | Webový výzkum s URL + datum |
| `threat-modeler` | subagent | Vše `deny` | Modelování hrozeb, mitigace |
| `security-auditor` | subagent | `bash: allow`, `edit: deny`, `task: deny` | Bezpečnostní audit, fail-closed |
| `pricing-researcher` | subagent | Vše `deny` | Monetizace, cenový výzkum |
| `code-reviewer` | subagent | Vše `deny` | Revize diffu, nemění soubory |
| `verifier` | subagent | `bash: allow`, `edit: deny`, `task: deny` | Deterministické kontroly před/po změně |
| `documenter` | subagent | `edit: allow` (pouze markdown), `bash: deny` | Dokumentace |
| `implementer` | subagent | `edit: allow`, `bash: deny`, `task: tester only` | Mění kód a testy (po schválení diffu) |
| `tester` | subagent | `bash: allow`, `edit: deny`, `task: deny` | Gate 1/2: pytest, ruff, mypy |
| `gate3-auditor` | subagent | `bash: allow` (jen v .md, Task tool ho nezná) | Gate 3 — nezávislý běh pytest |

**Pravidlo:** Orchestrátor nikdy sám nekoná. Každá úloha je předána konkrétnímu subagentovi podle delegační matice v `.kilo/agent/orchestrator.md`.

### 3.4 Tři vrstvy subagentů (subagent_depth = 3)

- **Vrstva 1:** Orchestrátor (primární) — deleguje na subagenta z allowlistu.
- **Vrstva 2:** Subagent — může delegovat na jiného subagenta (pokud je v jeho `task` allowlistu).
- **Vrstva 3:** Sub-subagent — maximální hloubka delegace je 3.

### 3.5 Deep research trigger

Spustí se `deep-research` když:
- Chybí ověřený důkaz (`file:line` nebo výstup příkazu) pro rozhodovací fakt
- Narazí na doménu/technologii mimo existující subagent chartu
- Je potřeba ověřit, zda už existuje open-source řešení k reuse (povinný)

Výsledek: URL + datum přístupu, značení `[VÝZKUM]`/`[HYPOTÉZA]`/`[NEOVĚŘENO]`.

---

## 4. Otevřené body a rizika (z dichiarovaných zdrojů)

### 4.1 Bezpečnostní mezery (9 otevřených, z `PROJECT_STATUS.md:203-218`)

1. **Approval není kryptograficky svázán s kódem, který se spustí.**
2. **Prompt egress ke vzdáleným providerům není ani doložen, ani blokován.**
3. **`AIFirewall` není zapojen do exekučního cesty ani do egressu.**
4. **Chybí cgroup-wide memory/PID limity a workspace disk/inode kvóty.**
5. **`chmod` na SQLite souborech je best-effort.**
6. **`SQLiteDatabase.prune_expired` je logické smazání, ne bezpečné vymazání.**
7. **`ACTION_SCOPE_MAP` postrádá čtyři akce.**

**Před jakýmkoli použitím nedůvěryhodného kódu:** deployment-level cgroup a filesystem kvóty, verifikace čištění potomků, nezávislá bezpečnostní revize. Bubblewrap není schválen pro nepřátelský kód.

### 4.2 Inženýrské otevřené body (z `SESSION_HANDOFF.md` a `PROJECT_STATUS.md`)

| # | Problém | Zdroj |
|---|---------|-------|
| 1 | `plan --steps N` nefunguje — vrací vždy `range(1, 4)` | `agents/orchestrator.py:153` |
| 2 | `plan` zapisuje durable řádek, jehož COMPLETED výsledek se nikdy neobnoví | `ptah_bridge.py` |
| 3 | `--scopes` platí jen pro roli `coder` (bezpečnostní past) | `--scopes` argument |
| 4 | Knihovní loggery tisknou celý stack trace na stderr při odmítnutém kroku | `ptah_bridge.py:477`, `task_queue` |
| 5 | Legacy durable job řádky jsou trvale neretryovatelné | `task_queue/__init__.py` |
| 6 | `python3 -m cyberbrain26.cli` tichý exit 0 (chybí `__main__` guard) | `cli.py` |
| 7 | Zákaznická discovery nezačala (0 rozhovorů) | `PROJECT_STATUS.md:168-174` |

---

## 5. Hlavní roadmapa (autoritativní)

**Autoritativní plán:** `.kilo/plans/CyberBrain26cil-031026-v2.md`

| Fáze | Stav | Popis |
|------|------|-------|
| F0 | Hotovo | Baseline a architektonická inventura |
| F1 | Hotovo | Kilo integration proof of concept |
| F2 | **Aktuální** | End-to-end bezpečný agentní tok (pilot workflow + egress integration tests) |
| F3 | Budoucí | mySecondBrain26: automatická knowledge databáze |
| F4 | Budoucí | Model Intelligence a FreeAuto |
| F5 | Budoucí | Obchodní validace a první placená nabídka |
| F6 | Budoucí | Posílení runtime a podpora |
| F7 | Budoucí | Synchronizace a plánované úlohy |
| F8 | Budoucí | Agentní portfolio a více klientů |

**Blokující položky (vlastníkova priorita):**
1. Zákaznická discovery (blokuje všechny produktová rozhodnutí)
2. Packaging + CI pro Ubuntu 24.04 LTS (D1)
3. Oprava `plan --steps N`
4. Oprava `plan` durable řádku
5. Oprava `--scopes` pasti

---

## 6. Ověření pro nový chat (spustit jako první)

```bash
cd /home/oem/CyberBrain26-v4

# Git stav
git status --short
git log --oneline -3

# Brány
pytest -q                  # očekáváno: 764 passed
ruff check src/cyberbrain26/  # očekáváno: All checks passed!
mypy src/cyberbrain26        # očekáváno: Success, 87 source files

# Config ověření
grep -n "subagent_depth" .kilo/kilo.jsonc    # očekáváno: 3
grep -n "bash: allow" .kilo/agent/deep-research.md  # očekáváno: nalezeno
```

---

## 7. Označení starých dokumentů (status: superseded)

Všechny následující handoff dokumenty jsou označeny jako `status: superseded` a nahrazeny tímto souborem:

| Soubor | Datum | Nahradilo |
|--------|-------|-----------|
| `SESSION_HANDOFF.md` | 2. 10. 2026 | `SESSION_HANDOFF_2026-11-03.md` |
| `.kilo/context/handoff/HANDOFF_2026-10-02.md` | 2. 10. 2026 | `SESSION_HANDOFF_2026-11-03.md` |
| `.kilo/context/handoff/HANDOFF_2026-10-04.md` | 4. 10. 2026 | `SESSION_HANDOFF_2026-11-03.md` |
| `.kilo/context/handoff/HANDOFF_2026-10-04-mobile-channel.md` | 4. 10. 2026 | `SESSION_HANDOFF_2026-11-03.md` |
| `.kilo/context/handoff/HANDOFF_2026-10-04-1830.md` | 4. 10. 2026 | `SESSION_HANDOFF_2026-11-03.md` |
| `.kilo/context/handoff/HANDOFF_2026-10-04-2150.md` | 4. 10. 2026 | `SESSION_HANDOFF_2026-11-03.md` |
| `.kilo/context/handoff/HANDOFF_2026-10-05-0145.md` | 5. 10. 2026 | `SESSION_HANDOFF_2026-11-03.md` |
| `.kilo/context/handoff/HANDOFF_2026-10-05-audit-chain.md` | 5. 10. 2026 | `SESSION_HANDOFF_2026-11-03.md` |
| `.kilo/context/handoff/HANDOFF_2026-10-05-gate3.md` | 5. 10. 2026 | `SESSION_HANDOFF_2026-11-03.md` |

Starší roadmapy (`ROADMAP_V5.md`, `ROADMAP_V6.md`, `ROADMAP_V7.md`, `CyberBrain26cil-031026.md`, `1791036626945-roadmap-v8-a-plan-do-konce.md`) mají již dříve `status: superseded` v hlavičce a odkazují na `CyberBrain26cil-031026-v2.md`.

---

## 7. Další krok pro nový chat

1. Přečíst tento soubor (`SESSION_HANDOFF_2026-11-03.md`) jako první.
2. Spustit ověření z sekce 6.
3. Rozhodnout, zda pokračovat ve F2 (opravy `plan`, discovery) nebo přejít k F3.
4. Žádné soubory neměňte bez schválení vlastníka (zápis do `src/`, `tests/`, `.kilo/kilo.jsonc`, `pyproject.toml` vyžaduje výslovné schválení).
