Files
AWatch-rus/docs/roadmap/TASK_005_RUST_AGENT_BASELINE.md
T

210 lines
4.1 KiB
Markdown

# 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 по неподтвержденным ОС
не добавлялись.