0.36.1

Fixed

  • P3-I3: Миграция на ExecuteStructuredrunner.go переведён на ExecuteStructured, флаг IsError пробрасывается через Message в LLM-протокол (Anthropic is_error, OpenAI is_error через SetExtraFields).
  • P3-I4: Мёртвые декларации — удалены var _ = ... артефакты из sqlite.go (3 шт. + 3 неиспользуемых импорта), actor.go (2 шт.), heartbeat/service.go (1 шт.).
  • P3-I5: VACUUM в DualStoredual.go:956: ошибка VACUUM больше не игнорируется, логируется через slog.Warn.
  • P3-I6: Provider cache cleanup rate-limitingcleanTestCache() выполняет sweep не чаще раза в минуту (gate по lastCleanup), вместо каждого вызова List().
  • P3-X2: Buttons [][]string[]string — тип Buttons приведён к плоскому []string в bus.go, websocket.go, actor.go. Фронтенд .flat() убран.