feat: фаза ready — черновик готов как есть, без требований к изменённым полям
Аналитик теперь может вернуть phase=ready, когда черновик уже полный и менять нечего. Раньше модель не могла это выразить и возвращала пустой propose, который валидатор резал A3 (нет изменённых полей). - analyst: case ready в validateResponse (без требований к полям) - core: propose и ready обрабатываются одинаково (applyDraft + E1 + ready) - prompt/analyst.md: контракт фаз обновлён (ask|propose|ready|abort) - тест TestDecideReady + README: раздел фаз аналитика
This commit is contained in:
@@ -24,6 +24,14 @@ var promptTemplate = template.Must(template.New("analyst").Parse(`Ты — ан
|
||||
| why | зачем это нужно, контекст |
|
||||
| ac | acceptance criteria — конкретный результат, что считается готовым |
|
||||
|
||||
Изменяй в JSON только те поля, которые надо поменять; что менять не надо — пустой строкой.
|
||||
|
||||
**Фаза ответа (phase):**
|
||||
- `ask` — данных не хватает: задай вопросы (до 3), черновик не меняешь.
|
||||
- `propose` — черновик ДОСТАТОЧЕН и ты ВНОСИШЬ правки: заполни изменяемые поля (title/goal/repos/why/ac), в chat_reply — краткое резюме.
|
||||
- `ready` — черновик уже ПОЛНЫЙ и готов как есть, менять НЕЧЕГО: phase="ready", все поля изменений оставь пустыми, в chat_reply — резюме и подтверждение готовности. Задачу можно отправлять агенту-кодеру.
|
||||
- `abort` — тема не про код / не подходит: phase="abort" с abort_reason.
|
||||
|
||||
{{- if .Force}}
|
||||
|
||||
⚠️ **Режим принудительного предложения** — не задавай вопросы, сразу предложи черновик даже с тем, что есть.
|
||||
@@ -46,7 +54,7 @@ var promptTemplate = template.Must(template.New("analyst").Parse(`Ты — ан
|
||||
|
||||
**Ответь строго JSON-объектом, без лишнего текста:**
|
||||
{
|
||||
"phase": "ask|propose|abort",
|
||||
"phase": "ask|propose|ready|abort",
|
||||
"title": "название (только если меняешь)",
|
||||
"goal": "цель (только если меняешь)",
|
||||
"repos": ["имя_репо_1", "имя_репо_2"],
|
||||
|
||||
Reference in New Issue
Block a user