# TASK 005: Rust Agent Baseline Рекомендуемые параметры Mode: xhigh Reasoning: maximum Task type: agent architecture Quality bar: production-ready Breaking changes: forbidden Architecture changes: minimal Simplifications: forbidden Цель Подготовить промышленную основу будущего Rust Agent без внедрения реального мониторинга пользователя. Задача не про сбор данных. Задача про создание правильного каркаса агента. Контекст Текущий курс проекта: 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. Известные ограничения. ## Выполнение Статус: done. Файлы: - `adk-rust/crates/awatch-agent/` - новый baseline crate без мониторинга пользователя; - `docs/RUST_AGENT_BASELINE_RU.md` - архитектура, envelope, spool, retry, heartbeat, health, logging и metrics; - `README.md` - ссылка на Rust Agent baseline; - `adk-rust/crates/awatch-agent-rs/` - совместимое усиление текущего проверенного runtime: отдельные поля telemetry/worktime backlog и flush; - `docs/roadmap/TASK_005_RUST_AGENT_BASELINE.md` - зафиксирован статус. Границы: - `awatch-agent` не собирает активность пользователя, процессы, clipboard, screenshots, пакеты сети или документы; - `awatch-agent-rs` остается текущим проверенным Windows worktime/session runtime; - новые collectors, EDR/DLP/ML/LLM и production claims по неподтвержденным ОС не добавлялись.