All checks were successful
build-test / build (push) Successful in 1m15s
- Analyst struct: строит Go-template промпт из history+draft - opencode.Runner.Run (agent=analyst) → ExtractVerdict → ExtractJSON - Валидация phase/полей → core.Decision - A1 DecodeFail, A2 RunError, A3 Validation, A4 NotReady - MockRunner в тестах (11 тестов, зелёные) - core.runDecide оборачивает ошибки аналитика в D1 ErrDecideFailed - allow ready→collecting (фикс для правки готового черновика)
18 lines
659 B
Go
18 lines
659 B
Go
package analyst
|
||
|
||
import "errors"
|
||
|
||
// Классы ошибок A1–A4.
|
||
var (
|
||
// A1 — ответ аналитика не содержит валидного JSON.
|
||
ErrDecodeFail = errors.New("A1: decode analyst response")
|
||
|
||
// A2 — ошибка запуска opencode run (включая таймаут rc=-1).
|
||
ErrRunError = errors.New("A2: analyst run error")
|
||
|
||
// A3 — JSON от аналитика есть, но поля невалидны.
|
||
ErrValidation = errors.New("A3: invalid analyst response")
|
||
|
||
// A4 — аналитик ещё не может работать (нет истории).
|
||
ErrNotReady = errors.New("A4: analyst not ready")
|
||
) |