# План v2 — F1: карточка сделки показывает «Город» (TDD)

## Цель

Добавить поле «Город» в раздел «Параметры» карточки сделки через TDD: сначала
падающий тест на рендер города, затем минимальная правка компонента до зелёного
(спека D1). Денежных полей правка не касается.

## Метод

Навык `test-driven-development` объявлен в `skills-json` и реально вызывается до
первого мутирующего шага (он не оформлен отдельным шагом-операцией намеренно:
шаг `Skill` на исполнении не двигает указатель и запирает план — поэтому навык
обеспечивается дисциплиной навыков, а шагами идут конкретные правки и прогоны).

Шаги:

1. В существующий спек `DealDetailBody.spec.ts` добавляется тест: при
   `deal.city = "Москва"` текст карточки содержит «Город» и «Москва» (на текущем
   коде — красный).
2. Прогон vitest только по этому спеку — ожидается красный (поле ещё не
   рендерится).
3. В `DealDetailBody.vue` в секцию «Параметры» добавляется блок «Город» со
   значением `deal.city` (прочерк при пустом).
4. Прогон того же спека — зелёный.

```skills-json
["test-driven-development"]
```

```steps-json
[
  {"op":"Edit","object":"app/tests/Frontend/DealDetailBody.spec.ts","ref":"D1"},
  {"op":"Bash","object":"npm --prefix app run test:vue -- tests/Frontend/DealDetailBody.spec.ts","ref":"D1"},
  {"op":"Edit","object":"app/resources/js/components/deals/DealDetailBody.vue","ref":"D1"},
  {"op":"Bash","object":"npm --prefix app run test:vue -- tests/Frontend/DealDetailBody.spec.ts","ref":"D1"}
]
```

```verified-context-json
[
  {"id":"vc1","kind":"EXTRACTED","ref":"app/resources/js/components/deals/DealDetailBody.vue","anchor":"Стоимость лида"},
  {"id":"vc2","kind":"EXTRACTED","ref":"app/tests/Frontend/DealDetailBody.spec.ts","anchor":"makeDeal"}
]
```

## Переговоры

### Круг 1

Шаги 2 и 4 — одна и та же команда прогона теста (red→green), это нормально для
TDD: указатель двигается по позиции, дубликат команды на разных шагах исполняется
по порядку. Прогон таргетирован на один спек-файл, чтобы не зависеть от прочих
фронтовых тестов. Навык TDD объявлен и вызывается до первого мутирующего шага;
отдельным шагом-операцией не оформлен, потому что шаг `Skill` на исполнении не
закрывается. Правка — только отображение поля `city`, денежные поля не затрагиваются.

### Круг 2 — запрос рекомендации наставника

Наставник, дай, пожалуйста, краткую forward-рекомендацию по этому плану: с какого
шага начинать и на что обратить внимание при добавлении отображения города.
Прошлых замечаний к плану нет, шаги одобрены по пунктам — нужна твоя содержательная
рекомендация вперёд, чтобы вердикт был полным.
