0.25.0
Итерация 21 плана аудита: Тесты, CI, наблюдаемость, deploy.sh.
Added
- Метрики Prometheus: расширение
internal/metrics/metrics.go— LLM token breakdown (system/rag/history), max iterations, cron missed, login success/failed, actor handle duration, iterations per turn. МетодPrometheusFormat()для/metricsendpoint. - MetricsHandler: отдаёт JSON по умолчанию, Prometheus text format по
Accept: text/plainили?format=prometheus. - Tool audit log: миграция
025_tool_audit(SQLite + PG) — таблицаtool_audit_log(agent_id, session_id, tool, args_summary, result_summary, took_ms, ok, created_at). МетодыCreateToolAudit/ListToolAuditв Store. - Audit log расширение: middleware
AuditLogger, audit записи для login success/failed, SetAdmin, DeleteUser. - CI workflow
.github/workflows/ci.yml: 4 job-а — test (go test -race), lint (golangci-lint), security (gosec), build (cross-platform binaries + artifacts). .golangci.yml: errcheck, govet, staticcheck, unused, gosimple, ineffassign, typecheck, misspell, gofmt.- deploy.sh переписан: автоопределение платформы, PID-файл, macOS launchd plist, Linux systemd unit, graceful stop.
Tests
internal/permissions/ratelimit_test.go(8 тестов): Allow, ZeroMeansUnlimited, Reset, WindowReset, Count, Remaining, Remaining_Unlimited, Remaining_WindowExpired.internal/permissions/validate_test.go(16 тестов): все правила валидации и предупреждений.internal/security/guard_test.go(9 тестов): default deny, allow normal, custom deny/allow, network protocols, preset commands, SSRF.internal/metrics/metrics_test.go(11 тестов): все счётчики, snapshot, Prometheus format, token breakdown.internal/agent/e2e_test.go(5 тестов): SimpleChat, ToolCalls, MaxIterations, ContextCancellation, ToolTimeout — с mock LLM provider.internal/server/handler/security_regression_test.go(9 тестов): login audit, SetAdmin audit, Delete audit, ToolAudit CRUD, SetAdmin self-change.