feat(analyst): этапы задачи — аналитик раскладывает на steps с критериями готовности, dev идёт по ним
Some checks failed
CI / test (push) Failing after 1m52s
CI / build-and-package (amd64, linux) (push) Failing after 1m3s
CI / build-and-package (amd64, windows) (push) Successful in 30s

This commit is contained in:
ki.sagidullin
2026-08-24 18:05:06 +05:00
parent 6546f18348
commit 6c0b903794
10 changed files with 286 additions and 50 deletions

View File

@@ -3,6 +3,8 @@ package worker
import (
"strings"
"text/template"
"github.com/kamelion/ratatoskr-go/internal/storage"
)
// devPromptTemplate — промпт для dev-агента при запуске задачи.
@@ -20,6 +22,12 @@ var devPromptTemplate = template.Must(template.New("dev").Parse(`Ты — dev-а
{{if .Why}}Зачем: {{.Why}}{{end}}
{{if .AC}}Критерии готовности:
{{.AC}}{{end}}
{{if .Steps}}
**Этапы (выполняй по порядку, у каждого свой критерий готовности):**
{{- range .Steps}}
{{.Title}}{{if .AC}} — готово, когда: {{.AC}}{{end}}
{{- end}}
{{end}}
**Инструкции:**
1. Рабочий каталог — общий корень, в котором лежат все репозитории по именам.
@@ -38,6 +46,7 @@ type DevPromptData struct {
Repos []string
Why string
AC string
Steps []storage.Step
// ReviewFeedback — замечания ревьюера при повторном прогоне dev
// (не пусто → dev должен исправить именно это).
@@ -124,4 +133,4 @@ func reviewFeedbackList(branch string, comments []string) []string {
return nil
}
return []string{s}
}
}