Не chain з обіцянками. Не лінійний агент. Просто mirror loop: GPT і Claude перевіряють один одного, ти бачиш чесний фінал — з артефактами на кожному кроці.
Дев'ять самостійних модулів, що працюють разом як одна керована система — без хаотичних чатів і без auto-merge.
GPT пише spec → Claude робить план → GPT критикує план → Claude реалізує (опційно) → GPT валідує → GPT синтезує фінал. Кожна стадія перевіряється другим агентом.
Адаптивно 0–7 high-leverage decision-питань перед стартом. Кожне питання — options + recommended default + why it matters. Якщо запит ясний — питань нуль.
Objective, scope, non-scope, architecture, data model, integrations, security, acceptance criteria, phases, risks, assumptions — у JSON-валідованому форматі.
Spec critic знаходить missing decisions, ambiguities, overengineering. Plan critic — coverage. QA review — final quality + acceptance status.
Plan + implementation backends (SDK / CLI / fake). Implementation mode — sandboxed, max-turns, max-budget USD, off за замовчуванням.
12-block Unicode-bar у Telegram редагується на кожному переході стадій + ETA в секундах. У dashboard auto-refresh кожні 4с.
input, clarity_analysis, technical_spec, critique, plan, diff, qa_review, final_report — все persistено в Postgres + диск, з SHA256 hash на кожному.
03:00 Europe/Sofia. Аналізує jobs за 24h, кластерує failure patterns, пропонує memory updates + prompt candidates. Telegram-digest з [Approve / Reject].
Memory + prompt changes — propose-only. Жодного auto-merge чи auto-deploy. Кнопки [Approve memory] / [Reject] — все під твоїм контролем.
Жодних setup'ів. Жодних API-ключів від тебе. Просто старт у Telegram.
Натисни Start у @SelfevolveMirror_bot. Якщо ID у allowlist — одразу authorized. Інакше /claim <secret>.
Standard mode = до 5 питань. /fast = до 2 + більше assumptions. /deep = до 7 + детальніша specification.
Текстом: 1A, 2 default, 3B. Або тапай [Use defaults] — система прийме всі рекомендовані дефолти.
Фінальний звіт + кнопки. Approve — підтверджуєш. Revise — виправити. Remember — зберегти патерн у memory для майбутніх jobs.
Один job — одна послідовність артефактів. Жодного агента поза цією схемою.
Усі команди працюють у приватному чаті з ботом. <аргумент> — обов'язковий, [опційно] — додатковий.
/start
Привітання. Якщо ти у ADMIN_TELEGRAM_IDS — одразу authorized. Інакше — підказка про /claim.
/help
Повний перелік команд із короткими підказками.
/whoami
Твій Telegram ID, username і статус авторизації. Для адмінів — підтверджена сесія.
/claim <secret>
Bootstrap-захоплення першого admin-доступу. Secret береться з ENV BOOTSTRAP_SECRET на сервері. Після claim — секрет варто скинути.
/mirror <request>
Standard-режим. Створює job, запускає Clarification Gate (до 5 питань). Дефолтний вибір для більшості задач.
/fast <request>
Fast-режим. До 2 питань. Більше assumptions, швидший фінал. Для простих задач.
/deep <request>
Deep-режим. До 7 питань. Детальніша specification + плани. Для архітектурних чи production-задач.
/jobs
Останні 20 завдань: short_id, статус, mode, час створення. Клік у dashboard → деталі.
/status <short_id>
Стан конкретного job + перелік артефактів. Прогрес, поточна стадія, cost USD.
/daily
Запустити daily optimizer вручну. Поверне digest за 24h: failure patterns, memory updates, prompt candidates.
/settings
Поточні defaults: режим, max questions, Claude backend, прапорці planner / implementation.
Більшість агент-фреймворків — або chain з обіцянками, або один великий агент без аудиту. SelfevolveMirror — третій шлях.
Один агент створює, інший критикує. GPT не довіряє Claude і навпаки. Кожна стадія має self-check, навіть якщо implementation-режим вимкнений.
Жодних auto-merge, auto-deploy, auto-prompt-changes. Memory updates — propose-only. Implementation mode — off за замовчуванням, sandboxed коли увімкнений.
Daily optimizer кластерує помилки за 24h, пропонує оновлення prompt-файлів і memory-rules. Ти approve — система застосовує. Ti reject — нічого не змінюється.
Кожен job — повна папка артефактів від raw_request до final_report. SHA256 hash на кожному. У будь-який момент можна replay або порівняти версії.
Telegram — основний інтерфейс. Але кожен job + щоденний optimizer мають web-перегляд із basic-auth доступом для авторизованих операторів.
/dashboard — список останніх jobs зі статусами, прогрес-баром і ETA. Auto-refresh кожні 4с. Клік → деталі: усі артефакти, hash, cost USD.
Кожен job логує витрати OpenAI + Anthropic у USD. cost_tracker агрегує по користувачу та режиму — видно в job detail і в daily digest.
/reports/daily — щоденний HTML-звіт оптимізатора: failure patterns, проміжний draft нових prompts/memory, проблемні jobs за останні 24h.
/api/jobs/{short_id}/progress повертає current stage + cost + ETA для зовнішнього моніторингу. Усі endpoints за basic-auth.
Self-hosted на Hetzner. Без зовнішніх SaaS-залежностей окрім OpenAI + Anthropic API. Контейнери ізольовані per-project.
Основна БД для jobs / artifacts / users / memory rules / prompt versions. Redis — Celery broker + cache. Volumes persistено на диск.
api (FastAPI) · bot (python-telegram-bot, polling) · worker (Celery) · scheduler (Celery beat). Restart unless-stopped.
Celery beat запускає daily_optimizer щоночі. Відсилає підсумок у Telegram з кнопками [Approve memory] / [Reject].
Окрім Postgres, кожен artifact дублюється на диск як файл (input.txt, technical_spec.json, plan.md, qa_review.json, final_report.md) для replay і ad-hoc grep.