Реальное выполнение — hello world
Впервые цепочка агентов прошла от начала до конца с моделью через API
вместо локального Ollama. Новый проект (Hello API), настоящий репозиторий
на GitHub, provider OpenRouter, модель ~deepseek/deepseek-v4-flash-latest.
Целью было не сдать hello world. Целью было выяснить, что ломается, когда продуктом пользуются так, как пользовался бы пользователь, — и этого он дал в изобилии.
:::caution Это выполнение НЕ является официальным измерением FASE 13b Был перезапуск engine посередине, несколько раз, чтобы загрузить исправления, которых потребовало само выполнение. Критерий "ноль перезапусков" потерян, и таблица ниже намеренно измеряет неровный прогон. Значимое измерение ещё предстоит сделать, когда всё уже исправлено и без прерываний. :::
Докуда дошла цепочка
| этап | результат |
|---|---|
| Подготовка GitHub | ✅ daneiel/hello-api, 4 из 5 шагов Gitflow |
| Criativo | ✅ 4 бизнес-правила, с прослеживаемостью |
| Готовность → brief | ✅ product_brief, ссылающийся на 4 правила |
| PO | ✅ 1 эпик, 4 истории с RF/DOR/DOD |
| Ручное продвижение | ✅ 4 истории, продвинутые пользователем (RN-048) |
| Arquiteto | ❌ так и не получил эстафету |
| Dev, PR, gates | ❌ не достигнуты |
Шаг 5 bootstrap (защита веток) не удался из-за ограничения тарифа GitHub: приватный репозиторий не допускает защиту веток на бесплатном тарифе. Это не дефект продукта — но продукт трактовал это как жёсткий сбой, не предупредив заранее. Мастер стал предупреждать в момент выбора.
Стоимость, извлечённая из token_usage
| агент | вызовы | входные токены | выход | стоимость (micro-USD) |
|---|---|---|---|---|
| anamnese | 32 | 392.510 | 18.207 | 38.605 |
| psicologo | 2 | 16.406 | 5.140 | 2.401 |
| po | 5 | 18.777 | 3.492 | 2.318 |
| criativo | 6 | 6.406 | 3.343 | 1.180 |
| psicologo-leve | 1 | 1.947 | 2.039 | 542 |
Anamnese потратила в 8 раз больше, чем Criativo и PO вместе, ничего не произведя, — у неё не было способа сказать "выдавать нечего" (RN-063). Это самое важное число этой таблицы: работа стоила центы, расточительство стоило всего остального.
Шестнадцать находок
Пронумерованы в порядке появления. Исправленные были решены пользователем, одна за другой.
Исправлены в этом выполнении
| # | что | где оказалось |
|---|---|---|
| 4 | мастер показывал brabo/<slug> как место назначения репозитория, с захардкоженным brabo/ — api создаёт в createForAuthenticatedUser | открыто |
| 6 | подготовка падала, а экран навсегда оставался в "Trabalhando…", с нулём событий | открыто |
| 8 | bootstrap умирал на каждом новом проекте GitHub: пустой репозиторий отвечает 409 во всём Git Data API, а provider обрабатывал только 404 | PR #125 |
| — | фейковый GitHub отвечал 404 там, где настоящий отвечает 409, — suite оставалась зелёной при сломанном продукте | PR #125 |
| — | бесплатный тариф не защищает ветку в приватном репозитории, и выбор не предупреждал | PR #125 |
| 13 | ни один агент не мог использовать provider с учётными данными: ход искал ключ по slug агента в колонке UUID | PR #126 |
| 14 | сбой хода становился пустым agent.response в журнале, с причиной только в эфемерном broadcast | PR #127 |
| — | чат Criativo открывался пустым, не говоря, что очередь за пользователем | PR #127 |
| 12 | Criativo решал технологию (GET или POST? JSON или текст?) — идентичность не говорила, что не его | PR #131 |
| — | сбой ИНСТРУМЕНТА отбрасывался через _ =: четыре правила отклонены молча | PR #131 |
| — | перезапуск engine убивал разговор, ничего не показывая на экране | PR #131 |
| 15 | Anamnese без глагола для завершения: повторяла невозможный вызов до предела, на каждом тике | PR #132 |
| 16 | heartbeat в 30 с убивал сессию с ожидающим handoff — работа становилась недостижимой | PR #133 |
Открытые, для триажа
| # | что |
|---|---|
| 1 | "Configurações" бокового меню не переходит; каталог (workspace) доступен только внутри проекта |
| 2 | нет раздела учётных данных git в настройках — только LLM |
| 3 | мастер обещает "selecione uma credencial já cadastrada" и "verifique nas configurações", и ни того, ни другого не существует |
| 4 | захардкоженный brabo/ в превью и на экране подтверждения мастера |
| 5 | шаг политики объявляет ветку rc и каскад rc ← qa, удалённые ADR 0030 |
| 6 | сбой до строки repo_bootstraps оставляет экран крутиться навсегда, без единого события |
| 7 | лента активности показывает "atividade em system" для каждого события |
| 11 | сессия закрывается из-за бездействия вкладки (частично решено RN-064: защищает только при ожидающем handoff) |
| — | Anamnese работает внутри рабочей сессии, перемежая события и споря за бюджет |
Что это выполнение доказало, а что нет
Доказало, что цепочка Criativo → PO работает с моделью через API и производит артефакт реального качества: backlog вышел с замкнутой прослеживаемостью, а DOR историй говорил "formato e detalhes técnicos definidos pelo Arquiteto" — граница, добавленная Criativo, прошла через brief и дошла до backlog.
Доказало, что продукт глотал ошибки на трёх разных уровнях (ход, инструмент, процесс), и что именно это держало дефекты невидимыми. Все три теперь говорят.
Не доказало Arquiteto, dev, удалённую PR и gates. Не доказало ничего о реальной стоимости полного выполнения. И не годится как измерение FASE 13b из-за перезапуска посередине.
TODO(humano): чистое выполнение — без перезапуска, со всем исправленным — ещё предстоит запустить, и именно оно заполнит
docs/explanation/validacao-real.mdтаблицей, извлечённой черезpnpm --filter api medir:execucao.