From 00ff5e7ddf21eeb58868915752a587041e17eb7d Mon Sep 17 00:00:00 2001 From: IgorRachkov <89467086+igor04091968@users.noreply.github.com> Date: Sun, 7 Jun 2026 15:50:39 +0300 Subject: [PATCH] Update TASK_005_RUST_AGENT_BASELINE.md --- docs/roadmap/TASK_005_RUST_AGENT_BASELINE.md | 194 +++++++++++++++++-- 1 file changed, 178 insertions(+), 16 deletions(-) diff --git a/docs/roadmap/TASK_005_RUST_AGENT_BASELINE.md b/docs/roadmap/TASK_005_RUST_AGENT_BASELINE.md index 1d2ca99..4f482de 100644 --- a/docs/roadmap/TASK_005_RUST_AGENT_BASELINE.md +++ b/docs/roadmap/TASK_005_RUST_AGENT_BASELINE.md @@ -1,24 +1,186 @@ -# TASK 005: Rust Agent Baseline +.docs/roadmap/TASK_005_RUST_AGENT_BASELINE.md -## Цель +Рекомендуемые параметры -Закрепить Rust Agent как основной агентный baseline для регулярного сбора -данных AWatch-rus. +Mode: xhigh +Reasoning: maximum +Task type: agent architecture +Quality bar: production-ready +Breaking changes: forbidden +Architecture changes: minimal +Simplifications: forbidden -## Объем +Цель -- Проверка стабильности Windows runtime. -- Проверка публикации worktime/session telemetry. -- Проверка spool/retry поведения. -- Документирование rollback-пути на случай отказа. +Подготовить промышленную основу будущего Rust Agent без внедрения реального мониторинга пользователя. -## Ограничения +Задача не про сбор данных. -- Не переписывать стабильные вспомогательные компоненты только ради языка. -- Не ломать существующие Windows deployment-пакеты. -- Не добавлять неподтвержденные платформенные claims. +Задача про создание правильного каркаса агента. -## Результат +Контекст + +Текущий курс проекта: + +Backend/API: +Rust + +Portal: +HTML + HTMX + +Future Enterprise UI: +React + TypeScript + +Agent: +Rust + +PowerShell не является целевой архитектурой. + +Что реализовать + +Создать отдельный agent crate. + +Пример: + +adk-rust/crates/awatch-agent/ + +Добавить: + +- config loader; +- local spool; +- retry queue; +- telemetry envelope; +- heartbeat contract; +- health endpoint; +- graceful shutdown; +- structured logging; +- metrics. + +Telemetry Envelope + +Создать единый контракт: + +{ + "agent_id": "uuid", + "host_id": "uuid", + "platform": "windows", + "timestamp": "...", + "records": [] +} + +Без реального сбора активности. + +Только каркас. + +Local Spool + +Реализовать: + +spool/ + +Возможности: + +- enqueue; +- dequeue; +- retry; +- corruption detection. + +Retry Logic + +Добавить: + +- exponential backoff; +- max retry count; +- dead letter state. + +Heartbeat + +Добавить: + +{ + "agent_version": "...", + "platform": "...", + "status": "online" +} + +Без реального inventory. + +Health + +Добавить локальный: + +GET /healthz + +Для самого агента. + +Logging + +Structured JSON logging. + +Минимальные поля: + +- timestamp; +- level; +- agent_id; +- component; +- message. + +Metrics + +Prometheus metrics для агента: + +- queued_records; +- retry_count; +- heartbeat_sent; +- spool_size. + +Documentation + +Добавить: + +docs/RUST_AGENT_BASELINE_RU.md + +Описать: + +- архитектуру агента; +- spool; +- retry; +- heartbeat; +- telemetry envelope. + +Запрещено + +Не делать: + +- keylogger; +- screenshot capture; +- clipboard capture; +- packet interception; +- process injection; +- kernel drivers; +- EDR functionality; +- DLP functionality; +- ML; +- LLM. + +Критерии приемки + +- новый crate создан; +- сборка проходит; +- тесты проходят; +- spool работает; +- retry работает; +- heartbeat работает; +- документация добавлена. + +Финальный отчет Codex + +1. Список файлов. +2. Архитектура агента. +3. Контракт telemetry envelope. +4. Реализация spool. +5. Реализация retry. +6. Реализация heartbeat. +7. Результаты проверок. +8. Известные ограничения. -Rust Agent используется как основной агентный слой там, где он уже проверен, а -границы поддержки описаны честно.