Итерации 1–7 · 14 недель · 8 разработчиков · OpenRouter-first. Цель встречи — выйти с детализированным пониманием архитектуры, замороженными контрактами и закреплёнными зонами ответственности.
→ = «преобразуется в».| Блок | Мин | Что решаем | Результат |
|---|---|---|---|
| 1. Контекст и цель MVP | 10 | Согласовать границы и «definition of MVP» | Общее «да» по scope |
| 2. Архитектура MVP | 30 | Карта компонентов + сквозной поток | Понимание границ |
| 3. Контракты и протоколы | 20 | Утвердить контракты данных и интерфейсы | Заморозка v0 |
| 4. Открытые вопросы | 25 | Принять 12 архитектурных решений | Протокол решений |
| 5. Зоны ответственности | 20 | Закрепить владельцев компонентов | RACI с именами |
| 6. Роадмап и спринт 1 | 15 | Подтвердить бэклог итерации 1 | Спринт-1 в трекере |
| Код | Роль | Зона | Осн. компоненты |
|---|---|---|---|
| GO1 | Backend Go | edge, hot-path | api-gateway, tool-broker, ci/deploy/ssl |
| GO2 | Backend Go | оркестрация, контракты | task-planner, dag-engine, dispatcher, corpus |
| PY1 | ML / Python | агенты, reasoning | agent-worker, discovery, review, embeddings |
| PY2 | ML / Python | промпты, SDD | промпты ролей, sdd-builder, test-agent |
| FE | Frontend | UI, SSE | web-ui: задачи, DAG, Discovery, дашборды |
| DO | DevOps | инфра, деплой | k3s, БД, NATS, MinIO, Qdrant, observability |
| QA | QA / Security | качество | eval-runner, security-agent, E2E, датасеты |
| FS | Full-stack | интеграции | model-router, cost-tracking, evidence, mockarty |
Greenfield создаёт продукт с нуля. Для доработки нужен отдельный путь: получить исходники, понять их, внести минимальный безопасный diff и вернуть Pull Request — а не переписать всё.
repo-map + поиск по code-index дают только нужные файлы → экономия токенов на больших проектах.
Приёмка по diff и по «зелёным» существующим тестам. Минимум регрессий.
Минимум (clone→правка→diff) — уже с ит.2. Поиск по code-index и reuse — ит.6.
proto/ (task, tool) + схемы событий + SDD в первые дни — это разблокирует параллельную работу всех 8 без взаимных блокировок. Владелец контрактов — GO2.Агент с инструментами, песочница, потоковый UI
Многоагентный DAG + Discovery → SDD
Quality gates + Корпус Знаний (reuse)
Delivery: продукт по ссылке с SSL
| Ит. | Кодовое имя | Что работает в конце (демо) |
|---|---|---|
| 1 | Breadcrumb | UI → задача → агент (1 вызов OpenRouter) → результат; cost залогирован |
| 2 | Toolbelt | Агент создаёт проект (FS+Shell) в Docker-песочнице; потоковый UI; $/задача |
| 3 | Divide&Conquer | DAG: Coder→Tester→Reviewer→Docs; контекст между агентами; граф на фронте |
| 4 | Discovery | Бизнес-идея → интервью → SDD → «Запустить» → авторазработка |
| 5 | Quality Loop | eval + security(OWASP) + Mockarty в DAG; Evidence Bundle; R1 |
| 6 | Knowledge | Новая задача переиспользует прошлые; экономия токенов в деньгах |
| 7 | Delivery | Идея → … → деплой → https://… с SSL; уведомление заказчику |
| Вопрос | Варианты | Рекомендация |
|---|---|---|
| Репозиторий | моно / много-репо | Монорепо + кодоген proto |
| Исполнение воркеров | NATS pull / supervisor push | NATS work-queue, supervisor → ит.8 |
| model-router | прокси / либа | OpenAI-прокси (смена base_url на ит.8) |
| Артефакты | MinIO / PG / FS | MinIO с ит.1 |
| Эмбеддинги | локально CPU / OpenRouter | Локально (дешевле, без egress) |
| DAG | YAML / хардкод | YAML-шаблон по размеру SDD |
| Стриминг UI | SSE / WebSocket | SSE |
| Песочница MVP | Docker / gVisor | Docker, gVisor → ит.10 (риск зафикс.) |
| Auth MVP | токен / Keycloak | Простой токен, Keycloak → hardening |
Запасной провайдер (Together AI / DeepInfra), fallback в model-router. Не складываем яйца в одну корзину.
Cost-tracking с недели 1, бюджет на задачу, ускоряем переход на свои GPU (ит.8) при превышении порога.
Native tool-calling + грамматики/валидация JSON, property-based тесты (50+ сценариев, ит.2).
Один владелец контрактов (GO2), заморозка v0, кодоген в CI, ломающие изменения — через версию.
Идемпотентность по task_id+node_id, ack в JetStream, at-least-once с проверкой в Postgres.
Бэкапы в RACI, не более 1 критичного компонента на человека в спринт.