docs: README по требованиям к оформлению и демо-сервисы examples/ (#19)
CI / ruff · mypy · pytest (pull_request) Successful in 26m33s

- README: цели и задачи, что реализовано, развёртывание (локально за 5 минут
  и полный стек), переменные, команды и данные, используемые API,
  ограничения и лимиты, что не сделано, структура репозитория
- examples/: hello (healthy + материал для grep/агента), crash (💥 и 🔁),
  cpu_hog (🔥), unhealthy (🩺), syntax_error/lint_fail для коммита,
  вопросы агенту и атаки; make demo-up / demo-down в том же Compose-проекте
- make local-proxy: read-only Docker API для `make run`
- ARCHITECTURE: краш при restart-политике и гистерезис алертов

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-17 15:56:47 +03:00
co-authored by Claude Opus 5.5
parent 79ea5ce2a5
commit d246296dd2
14 changed files with 417 additions and 14 deletions
+4
View File
@@ -143,6 +143,10 @@ pydantic-модели ответов. Методы: `list_runs`, `get_run`, `get
Кнопки открывают экран новым сообщением, чтобы не затирать алерт.
- **Список**: активные сверху, затем история за 7 дней, по 10 на страницу; 🛡 в общий список не попадает.
- **Если Docker недоступен**, оцениваются только 🔌 и 💾: алерты контейнеров не закрываются вслепую.
- **Краш при restart-политике**: контейнер поднимается за секунду и между раундами не виден в `exited` — поэтому
краш распознаётся и по росту `RestartCount` относительно предыдущего раунда; каждый новый — счётчик.
- **Гистерезис**: алерт закрывается, когда условия нет `resolve_after` (60 с), а правки со счётчиком — не чаще раза
в минуту: флапающий сервис не заваливает чат.
### 2.10 `app/db` — хранилище
SQLAlchemy 2 (async) + Alembic. PostgreSQL в Compose; в тестах — SQLite.