# CyberBrain26 — ROADMAP V7

**Datum sestavení:** 2. 10. 2026
**Stav:** delta proti `ROADMAP_V6.md` (1 065 řádků). **Nenahrazuje V6**, nesouvisí s v4.1 ani V5.
**Rozhodovací základ:** `DECISIONS_V7.md` (D11–D15 + obchodní brána P1–P4).
**Metodická zásada:** zachována z V6 §1.2. Každé tvrzení o kódu má značku a odkaz `file:line`.

---

> **`status: superseded`**
> **superseded_by:** `.kilo/plans/CyberBrain26cil-031026-v2.md` (schválený směr, 3. 10. 2026)
> **superseded:** 4. 10. 2026
>
> **Tento dokument NENÍ autoritativní plán.** Na otázku „co stavíme a v jakém
> pořadí" odpovídá `.kilo/plans/CyberBrain26cil-031026-v2.md`.
>
> Fáze F11 a obchodní brána P1–P4 z §13 nejsou aktivní plán. Nezaměňuj je s
> `F1`–`F4a` a Gate 1/2/3 z `-v2.md` §8.

---

## 0. Čtenářská poznámka — co V7 je a co není

V6 měří **bezpečnostní plochu**. V7 přidává **obchodní nulu**: V6 plánuje, jestli je produkt vyrobený; nikde neřeší, jestli je za něj někdo ochoten zaplatit. To je mezera, kterou V6 nedokáže odhalit, protože F11 je v něm explicitně neprioritní (§13.13: „F11 neblokuje F1–F10").

**V7 tedy nesnižuje bezpečnostní rozsah V6. Zvyšuje jeho prioritu, protože obchodní tvrzení bez ověřeného kódu nejsou prodejné.**

---

## 1. Hlavička, stav a značky

### 1.1 Značky

Značky z V6 §1.2 platí beze změny: **[OVĚŘENO]**, **[VÝZKUM]**, **[NÁVRH]**, **[HYPOTÉZA]**.

**V7 přidává jednu značku: [SIMULOVANÉ]** — hodnota pocházející z fiktivního rozhovoru, jehož respondenti neexistují. Značka je **tvrdší** než `[HYPOTÉZA]`: hypotéza je domněnka člověka, `[SIMULOVANÉ]` je výstup generátoru textu.

**[SIMULOVANÉ] nesmí být použito jako podklad pro cenové rozhodnutí ani jako tvrzení na investorském slajdu bez výslovného označení a bez uvedení F11 = OPEN.**

### 1.2 Proč tato značka vznikla

Předchozích 250 rozhovorů bylo fiktivních. Jejich procenta jsou **vlastností vygenerovaného textu**, ne vlastností trhu. `CUSTOMER_DISCOVERY_V5.md` uvádí, že 8–12 skutečných rozhovorů převáží všech 250. Procenta v §4 jsou proto uvedena jako **[SIMULOVANÉ]** a nikde v tomto dokumentu se nepoužívají jako zdůvodnění ceny.

### 1.3 Vstupní stav repozitáře — aktualizováno oproti V6 §1.3

| Údaj | V6 uváděl | Stav 2. 10. 2026, večer | Značka |
|---|---|---|---|
| HEAD | `90a42e6` | `90a42e6` — nezměněn | [OVĚŘENO] |
| Necommitnuté položky | 46 (28 `M` + 18 `??`) | **54** (po přidání V7 dokumentů) | [OVĚŘENO] |
| `.kilo/agent/` | neexistuje | **existuje, 11 souborů `.md`** | [OVĚŘENO] |
| `.kilo/kilo.jsonc` | neexistuje | **existuje**, `default_agent: promptmaster` | [OVĚŘENO] |
| `ROADMAP_V6.md` | neexistuje | existuje, 1 065 řádků | [OVĚŘENO] |
| `docs/business/` | neexistuje | vzniká v tomto kole | [OVĚŘENO] |
| Gate 0 (`test_kilo_agent_policy.py`) | `31 passed` | **24 selhání z 31** | [OVĚŘENO] |

Poslední řádek je **nejdůležitější změna stavu od sestavení V6** a je rozveden v §2.

### 1.3.1 [NÁVRH] Tři dokumenty s navzájem si odporujícími údaji o stavu repozitáře

Ověřeno 2. 10. 2026 večer. [OVĚŘENO] — je to **skutečný rozpor v repu**, ne chyba čtení:

| Dokument | Uvádí |
|---|---|
| `ROADMAP_V6.md:30, 44-50` | HEAD `90a42e6`, 4 commity, 46 necommitnutých položek, 57 modulů / 14 079 řádků |
| `docs/presentations/CYBERBRAIN26_VYVOJ_STAV_2026-10-02.md:4, 17, 29` | HEAD `b8c71d2`, 84 položek, 291 testů |
| `docs/SECURITY_ONE_PAGER.md:222-227` | `413 passed`, mypy na 57 souborech |

Skutečný stav repozitáře: HEAD `90a42e6`, **4 commity**, 54 necommitnutých položek, 20 testovacích souborů. [OVĚŘENO]

**Důsledek:** `b8c71d2` v prezentaci **neexistuje** v tomto repu — buď byl ztracen, nebo dokument popisuje jiný stroj či jiný čas. `413 passed` v one-pageru **nesouhlasí** s Gate 0 (24 selhání). Před uvedením jakéhokoli čísla do investičního decku (P4) je nutná re-verifikace. [NÁVRH]

Toto je přímá instance V6 §5.1: bezpečnostní plocha se posouvá do deklarativních dokumentů, a dokumenty pak driftují od kódu. **Tři různé pravdy o stavu produktu v jednom repu jsou prodejní riziko vyšší než jakákoliv chyba v kódu**, protože investor si nemůže ověřit, které číslo je pravdivé.

---

## 2. Co V7 mění proti V6 — shrnutí delty

| # | Oblast | V6 | V7 | Značka |
|---|---|---|---|---|
| 1 | Gate 0 | `31 passed` | **24 selhání** — viz §2.1 | [OVĚŘENO] |
| 2 | `default_agent` | `orchestrator` | `promptmaster` (D11) | [OVĚŘENO] |
| 3 | D3 (zákaz `bash`) | tvrdý invariant č. 6 §14 | **zrušen pro Orchestrátora** (D14) | [OVĚŘENO] |
| 4 | Mapování agentů v configu | 3 agenti | 8 agentů **chybí** v mapě `agent` | [OVĚŘENO] |
| 5 | Obchodní záměr | neřešen | §4–§7 nové | [NÁVRH] |
| 6 | F11 | volitelná, neblokuje F1–F10 | **nezrušena, ale měří P2 a P3** | [NÁVRH] |
| 7 | Cenové modely | neexistují | `docs/business/PRICING_MODELS.md` | [NÁVRH] |

### 2.1 Gate 0 je červený — to blokuje F4

Spuštěno 2. 10. 2026 večer: `python3 -m pytest tests/test_kilo_agent_policy.py` → **`24 failed, 27 passed`**. [OVĚŘENO]

V6 §13.3 uvádí tentýž test jako **zelený (`31 passed`)**. Od té doby se změnilo D11 a D14. Selhání se dělí do **dvou neslučitelných tříd** a oprava jedné nemůže opravit druhou:

#### Třída A — test kóduje zrušené D3 (5 selhání)

| Selhání | Co požaduje test | Co je ve skutečnosti |
|---|---|---|
| `test_every_agent_bash_explicitly_denied[bash]` | `bash: deny` u všech | `orchestrator.md:8` = `allow` (D14) |
| `test_every_agent_bash_explicitly_denied[agent_manager]` | `agent_manager: deny` | `orchestrator.md:12` = `allow` (D14) |
| `test_primary_agents_cannot_edit` | primary agent `edit: deny` | `orchestrator.md:11` = `allow` (D14) |
| `test_only_orchestrator_may_delegate` | `task` allowlist form `{"*": "deny", ...}` | `orchestrator.md:9-10` = `{"*": "allow"}` (D14) |
| `test_agent_permission_is_subset_of_global` | permission agenta ⊆ globálu | `implementer.md` `bash: allow` vs globál `deny` |

**Poslední řádek je zásadní.** Logika „permission agenta je podmnožinou serverové permission“ byla bezpečnostní pojistka proti tomu, aby si agent přidal práva, která globální konfigurace nepovoluje. **D14 tuto pojistku zrušil, protože Orchestrátor musí být výjimkou.** To je legitimní, ale znamená, že `implementer` s `bash: allow` je dnes **přesně tak široký, jaký globál povolí** — pojistka už neexistuje. [OVĚŘENO]

#### Třída B — chyby formátu a konfigurace, rozhodnutím nezakryté (7 selhání)

| Selhání | Příčina | Závažnost |
|---|---|---|
| `test_every_agent_has_parsable_yaml_frontmatter` | `tester.md:2` — `description:` obsahuje **neuvozené `: `**, YAML to neparsuje | **vysoká** |
| `test_agent_mode_is_valid_enum` | totéž | **vysoká** |
| `test_agent_mode_declared_in_config_matches_markdown[×8]` | 8 agentů chybí v mapě `agent` v `.kilo/kilo.jsonc` | **vysoká** |
| `test_global_config_declares_all_agents` | totéž | vysoká |
| `test_agent_permission_is_object_not_scalar` | totéž | střední |
| `test_cyberbrain26_never_allow[tester]` / `test_cyberbrain26_role_appropriate` | totéž | střední |
| `test_bash_dict_form_contains_star_deny` | tvar `{"*": "allow"}` | spojeno s D14 |

**Třída B je závažnější než třída A**, protože se **netýká žádného schváleného rozhodnutí**:

1. **`tester.md` se vůbec nenačte.** Neuvozená dvojtečka v `description` (řádek 2) rozbije YAML frontmatter. Podle `.kilo/kilo.jsonc` se tím `mode` a `permission` toho agenta tiše zahazují a načítají se jinde. [OVĚŘENO] To je přesně tichý přechod, který D10 zakazuje, a Gate 0 ho **správně chytil**.

2. **8 nových agentů není v mapě `agent` v `.kilo/kilo.jsonc`.** Mapa obsahuje jen `orchestrator`, `promptmaster`, `verifier`. Chybí `code-reviewer`, `deep-research`, `documenter`, `implementer`, `pricing-researcher`, `security-auditor`, `tester`, `threat-modeler`. [OVĚŘENO] Konfigurace to sama varuje: „Markdown frontmatter se přiřadí jen tehdy, když `agent.<jméno>` v této mapě ještě neexistuje. Pokud existuje … JSON vyhrává a frontmatter se TIŠE zahazuje." Zapsané `mode: subagent` u těchto osmi agentů **tedy nemusí být to, co Kilo fakticky použije**. D13 to považoval za hotové; **hotové to není**.

#### Důsledek pro pořadí

V6 §13.14 říká: „F0 nelze přeskočit. Bez commitnutého/otagovaného baseline nemá smysl audit chain, snapshot ani diff v Gate 2." **Totéž platí pro F1 a F4.** F4 (Orchestrátor + registr agentů) má gate „hloubka delegace 1, všichni `bash: deny`“ — tento gate **dnes neplatí, protože D14 ho zrušil a Gate 0 to potvrzuje červenou barvou**.

### 2.2 Nová bezpečnostní realita, kterou V6 neznala

D14 udělil Orchestrátorovi `bash: allow`. To znamená věc, kterou je nutné zapsat výslovně, protože je snadné přehlédnout:

> **Kód spouštěný agenty přes Kilo běží na hostiteli, mimo `BubblewrapExecutionProvider`.** [OVĚŘENO z `DECISIONS_V7.md`:35-37]

V6 invariant č. 2 (§14) požaduje, aby *všechny exekuce* šly přes `BubblewrapExecutionProvider`. D14 vytvořil **druhou exekuční cestu**, která této pojistce nepodléhá. To **neruší** D4 ani `cyberbrain run` — ty pořád jdou přes sandbox — ale znamená to, že:

- `BubblewrapExecutionProvider` (`bubblewrap_provider.py:97`) nadále platí pro `cyberbrain run` a pro MCP až do F3. [OVĚŘENO]
- `subagent_depth: 1` zůstává a je to **jediná** zbývající pojistka proti tomu, aby se Kilo-gedited kód stal nedefinovanou exekcí. [OVĚŘENO]
- `external_directory: deny` a `doom_loop: deny` zůstávají. [OVĚŘENO]

**Doporučení [NÁVRH]:** do V6 invariantů přidat invariant č. 13 — *„Žádná exekuce mimo `BubblewrapExecutionProvider` nesmí být prodávána jako sandboxovaná."* Bez ní hrozí, že se Kilo-ová cesta popíše stejným jazykem jako sandboxovaná, což by bylo **prohlášení ochrany proti nepřátelskému kódu**, tedy přesně to, co `AGENTS.md` a `SECURITY.md:237-239` zakazují.

---

## 3. Fáze — delta proti V6 §13

Fáze F0–F11 **zůstávají v platnosti včetně pořadí** (§13.14). V7 nemění žádnou závislost. Mění **vstupy, výstupy a priority** v šesti bodech.

### 3.1 Změněné fáze

| Fáze | Změna v V7 | Značka |
|---|---|---|
| **F0** | Vstup aktualizován: 46 → **53** necommitnutých položek. **Nově:** Gate 0 je červený, takže „zelená CI“ je vstup, ne výstup. | [OVĚŘENO] |
| **F1** | Gate 0 vyžaduje **8 dalších záznamů v mapě `agent`** v `.kilo/kilo.jsonc`. Do té doby je `mode` u osmi agentů nedoložené. | [OVĚŘENO] |
| **F2** | `promptmaster.md` existuje a je `default_agent`. Výstup F2 je hotový. | [OVĚŘENO] |
| **F3** | Beze změny. Stále `enabled: false`, stále neexistuje. | [OVĚŘENO] |
| **F4** | Gate **přepsán**: „všichni `bash: deny`“ je zrušeno D14. Nový gate: hloubka 1 zachována, Orchestrátor jako jediná výjimka, `external_directory: deny` a `doom_loop: deny` u všech. | [OVĚŘENO] |
| **F5** | Gate zelený fail-closed test **nebyl nikdy pozorován zelený** a zůstává `NOT APPROVED` k opravě. | [OVĚŘENO] |
| **F7** | Nová položka v hardeningu: **audit hash chain** — viz §5.3. | [OVĚŘENO] |
| **F11** | **Měří P2 a P3.** V6 ji nechával volitelnou; V7 ji nechává volitelnou pro F1–F10, ale pro **obchodní rozhodnutí je povinná**. | [NÁVRH] |

### 3.2 Co se v §13.14 **nemění**

- F0 nelze přeskočit. Stále platí.
- F7 a F8 nesmějí běžet před Gate 1 + Gate 2. Stále platí.
- **Žádný LLM judge jako Gate 1.** Stále tvrdé. V7 nepřidává žádný LLM-as-judge krok.
- F1 vyžaduje reload Kilo session. Stále platí a je v V7 **důležitější**, protože se `.kilo/kilo.jsonc` mění.

### 3.3 Nová pořadíová věta

V6 nepočítá s tím, že někdo rozhoduje o ceně předtím, než je vyrobený produkt. V7 to explicitně zakazuje:

> **Obchodní brána (P1–P4) nesmí předběhnout F4.** V6 §13.13 říká „F11 neblokuje F1–F10“. V7 doplňuje: **F11 v podobě obchodního rozhodnutí blokuje veškeré cenové a packagingové závěry**, jinak by se cena stanovovala pro vlastnosti, které ještě neexistují. [NÁVRH]

Tato věta je přímou aplikací D9: zákaz prodeje neexistujících vlastností.

---

## 4. Obchodní rámec V7

### 4.1 Co je rozhodnuto

| ID | Rozhodnutí | Stav | Značka |
|---|---|---|---|
| **P1** | Hlavní ceník **EUR** globálně; česká verze regionálně v **CZK**. Jedna entita, dva odvozené ceníky. | `[PROPOSAL]` | [NÁVRH] |
| **P2** | Placený segment — **nerozhodnuto**. Vlastník požádal o více verzí. | **`OPEN`** | — |
| **P3** | Open-core vs. uzavřené — **nerozhodnuto**. Vlastník prohlásil, že je to věc průzkumu. | **`OPEN`** | — |
| **P4** | Prezentace = **investiční deck**. | `[PROPOSAL]` | [NÁVRH] |

`P1` a `P4` jsou **obchodní návrhy, ne ceny.** Ceny nejsou stanoveny. [NÁVRH]

### 4.2 Proč P2 a P3 zůstávají `OPEN` a nejsou odhadnuty

Oba body jsou měřitelné a `PRICING_DISCOVERY_V7.md` je přesně měří:

- **P2** rozhoduje cross-segment dispatch, primárně **Q1** (diskrétní volba tvaru) + **Q5** (hranice free vrstvy).
- **P3** rozhoduje **Q8** (open-core rozdělení), s **Q9** (tvrdé limity) jako korekcí proti přeceněným plánům.

Kdyby P2 a P3 byly rozhodnuty teď, byly by odhadem z fiktivních dat, který by se následně vydával za rozhodnutí. To je D10.

**Zaznamenaný konflikt signálů pro P3** — obě strany jsou `[SIMULOVANÉ]` a **žádná není výchozí**:

- 7 z 20 respondentů dávky build-vs-buy si implementaci napsalo samo → tlačí k open core, protože bez něj nemá free tier souvislý hodnotový příběh.
- Nulový rozpočet vlastníka neposkytuje monetizační kotvu pro open core → tlačí k uzavřenému.

### 4.3 Co nesmí být prodáváno

V6 D9 zakazuje název „Agent Guard“. V7 rozšiřuje zákaz na **seznam vlastností**, ne jen na název. Z dnešního kódu [OVĚŘENO]:

| Vlastnost | Skutečný stav | Důkaz |
|---|---|---|
| „append-only audit“ | in-memory list, ne odolnost vůči manipulaci | `audit/__init__.py` — `self._events.append(event)` |
| audit hash chain | **neexistuje** | grep `prev_hash\|chain_hash\|entry_hash` — 0 výskytů |
| šifrování v klidu | **neexistuje** | grep `encrypt\|cipher\|AES\|Fernet\|keyring` — 0 výskytů |
| produkční připravenost | prototyp | `AGENTS.md`, `SECURITY.md` |
| multi-tenant izolace | single-tenant | [OVĚŘENO] |
| certifikovaná izolace | **neexistuje**; Bubblewrap je omezený Linux prototyp | `bubblewrap_provider.py` |
| ochrana proti nepřátelskému kódu | **neexistuje**; redukce blast radius | `SECURITY.md:237-239` |

### 4.4 Positioning

Ve všech 250 simulacích nebyla bezpečnost hlavní motivací mimo regulované a auditované kontexty [SIMULOVANÉ]. V7 z toho vyvozuje:

- **Mimo regulovaný trh prodávat úsporu času a důkaz změn, ne sandbox.** [NÁVRH]
- Bezpečnost je **podpůrný mechanismus**, ne hlavní benefit. [NÁVRH]
- Regulační trh, kde je bezpečnost hlavní motivací, **je odložen** — a s ním i prodej auditu, který dnem nelze vydávat za důkaz.

---

## 5. Mezery, které V7 přesouvá z „hardening“ do „obchodní reality“

V6 §13.9 F7 plánuje devět hardening oprav. V7 dodává, **co tyto opravy vypadají v ceníku** a v jakém pořadí mají obchodní smysl.

### 5.1 Pořadí podle obchodní hodnoty, ne podle technické náročnosti

| Pořadí | Mezera | Obchodní dopad | Technická náročnost | Stav |
|---|---|---|---|---|
| 1 | **Zelený fail-closed běh** | odstraní `[HYPOTÉZA]` z jediné tvrzení, které se opakuje | **triviální** — jen rozběhnout existující test | `NOT APPROVED` |
| 2 | **Úniková cesta pro lockout** | „fail-closed se v 03:00 změní v DoS“ je prodejní blokátor | malá | `NOT APPROVED` |
| 3 | **Audit hash chain** | bez něj audit nelze prodat auditorovi jako důkaz | rozsáhlá, dotkne se D4/MCP | `NOT APPROVED` |
| 4 | **Šifrování v klidu** | největší kus práce; neprodává se dnes | největší | `NOT APPROVED` |

**Všimni si pořadí:** nejlevnější oprava (1) odstraňuje jedinou `[HYPOTÉZA]` z bezpečnostního tvrzení. V6 ji neprioritizovala, protože V6 neřešila, co se tvrdí směrem k zákazníkovi. [NÁVRH]

### 5.2 Proč jsou `NOT APPROVED`

Vlastník nebyl schopen odpovědět na schvalovací otázku. **Všechny čtyři jsou `NOT APPROVED` a do `src/` ani `tests/` se nesahá.** V7 to zaznamenává jako explicitní stav, ne jako opomenutí. [OVĚŘENO]

**Důsledek pro dokumentaci:** dokud jsou `NOT APPROVED`, **nesmí se o kódu tvrdit jako `[OVĚŘENO]`** v žádném obchodním dokumentu.

### 5.3 Čtyři návrhy jako F7 položky

Formulace pro F7 v §13.9, doplněná [OVĚŘENO]:

- **(d) podepsaný audit checkpoint mimo log** — V6 to nechává jako volbu mezi `tamperlog`/`auditchain`. V7 zaznamenává, že **žádná z variant v kódu není**; rozhodnutí mezi nimi vyžaduje externí review (`V6 §15.1(d)`).
- **(f) zákaz tichého cloud fallbacku** — zůstává, D10.
- **Nově:** **hash chain v `AuditLog`** — V7 ho zvedá z „volitelného auditchainu“ na **podmínku pro jakýkoli auditní produkt**.

---

## 6. Deliverables tohoto kola

| # | Dokument | Obsah | Závisí na |
|---|---|---|---|
| 1 | `.kilo/context/decisions/DECISIONS_V7.md` | D11–D15 + P1–P4 + `NOT APPROVED` stav | hotovo |
| 2 | `docs/business/PRICING_MODELS.md` | 5+ balíčkových tvarů, skórování, doporučení | P2, P3 `OPEN` |
| 3 | `docs/product/PRICING_DISCOVERY_V7.md` | Q1–Q12 + simulační protokol | — |
| 4 | simulace proti Q1–Q12 | paralelní dávky, jedna anti-dávka | 3 |
| 5 | `ROADMAP_V7.md` | tento dokument | — |
| 6 | `docs/business/BUSINESS_PLAN_V7.md` | obchodní plán | 2, 4 |
| 7 | `docs/business/PRESENTATION_V7.md` | investiční deck (P4) | 2, 4, 6 |

**Dokumenty 2 a 6 nesmějí vybrat P2 ani P3.** Musí obě otevřené otázky přenést do podmínek. Dokument 4 je jediný, kdo je může zúžit, a i to jen na `[SIMULOVANÉ]` úrovni, která F11 nezavírá. [NÁVRH]

---

## 7. Exit criteria — co V7 nechává otevřené

| ID | Otevřené | Zavře ho | Stav |
|---|---|---|---|
| P1 | měna a trh | — | `[PROPOSAL]`, ne ceny |
| P2 | placený segment | cross-segment dispatch (Q1+Q5) | **`OPEN`** |
| P3 | open-core vs. uzavřené | Q8 + Q9 | **`OPEN`** |
| — | 4 kódové mezery | schválení vlastníka | **`NOT APPROVED`** |
| — | Gate 0 červený (24/31) | oprava třídy A + B v §2.1 | **`OPEN`** |
| — | `tester.md` YAML | oprava `: ` na řádku 2 | **`OPEN`** |
| — | 8 agentů mimo mapu `agent` | doplnění `.kilo/kilo.jsonc` | **`OPEN`** |
| — | `orchestrator.md` si protřečí s D14 | rozhodnutí vlastníka | **`OPEN`** |
| F11 | tržní validace | reální rozhovory | **`OPEN`** |

### 7.1 F11 zůstává OPEN ve všech deliverables V7

V6 §13.13 nechává F11 neblokující pro F1–F10. **V7 to ponechává, protože technická práce může pokračovat bez trhu.** V7 ale přidává jednu větu, která v6 chyběla:

> **F11 neblokuje F1–F10, ale blokuje každé cenové, packagingové a investiční tvrzení.** [NÁVRH]

To je úzká hranice a je záměrná. Uzavření F11 vyžaduje reálné respondenty; dnes máme 0 reálných a 250 fiktivních. [OVĚŘENO]

---

## 8. Nezměnitelné invarianty — V7 přidává tři

V6 §14 má 12 invariantů. V7 **neruší žádný**, přidává tři:

13. **Žádná exekuce mimo `BubblewrapExecutionProvider` nesmí být prodávána jako sandboxovaná.** D14 vytvořil druhou exekuční cestu (§2.2); tato věta zabraňuje, aby se obě cesty prodávaly stejným jazykem. [NÁVRH]
14. **Žádné obchodní rozhodnutí nesmí být vydáváno jako `[OVĚŘENO]`, pokud stojí na `[SIMULOVANÉ]`.** [NÁVRH]
15. **Cenová logika nesmí přidat druhou autorizační cestu.** D10 „jeden orchestration path“ platí i pro entitlement/licenční kontrolu — musí fail-closed s explicitním zaznamenaným odmítnutím, nikdy tichým downgradem. [NÁVRH]

---

## 9. Co V7 neřeší

Otevřeně, aby se to nezaměnilo za hotovou práci:

- **Nestanovuje žádnou cenu.** P1 určuje měnu, ne číslo.
- **Nevybrán segment.** P2 `OPEN`.
- **Nevybrán model distribuce.** P3 `OPEN`.
- **Neopravilo žádný kód.** Všechny čtyři mezery `NOT APPROVED`.
- **Neopravilo Gate 0.** 24 selhání zůstávají.
- **Nevytvořilo F11.** 0 reálných respondentů.
- **Nepostavilo sandbox mimo Kilo.** `BubblewrapExecutionProvider` je beze změny a nadále neřeší ochranu proti nepřátelskému kódu.

---

## 10. Zdroje

- `ROADMAP_V6.md` — 1 065 řádků, základ tohoto dokumentu
- `ROADMAP_V5.md`, `.kilo/context/Cyberbrain26_master_roadmapv4-1.md` — předchozí linie
- `.kilo/context/decisions/DECISIONS_V7.md` — D11–D15, P1–P4
- `docs/product/CUSTOMER_DISCOVERY_V5.md` — F11 evidence gate
- `docs/product/DECISIONS_LOG_V5.md` — D1–D10
- `docs/product/PRICING_DISCOVERY_V7.md` — Q1–Q12
- `docs/business/PRICING_MODELS.md` — balíčkové tvary
- `docs/SECURITY_ONE_PAGER.md`, `SECURITY.md` — stav bezpečnosti
- `AGENTS.md` — pravidla repozitáře
- `src/cyberbrain26/execution_plane/bubblewrap_provider.py` — fail-closed sandbox
- `src/cyberbrain26/security_plane/audit/__init__.py` — audit bez chainu
- `src/cyberbrain26/security_plane/actions.py:242-272` — `ACTION_SCOPE_REQUIREMENTS`
- `tests/test_kilo_agent_policy.py` — Gate 0, červený
- `.github/workflows/ci.yml` — job `no-bubblewrap-fail-closed`, zelený běh nepozorován
- Artefakt `cyberbrain26-pricing-business-plan-v7` — 4 board zprávy

# Konec dokumentu
