Update TASK_005_RUST_AGENT_BASELINE.md
This commit is contained in:
@@ -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 используется как основной агентный слой там, где он уже проверен, а
|
||||
границы поддержки описаны честно.
|
||||
|
||||
Reference in New Issue
Block a user