Добавлена спецификация и навыки для codex и kimi-code

This commit is contained in:
Даниил Грабарь
2026-11-05 14:07:19 +10:00
parent 0e3fd0358f
commit 54f8f14ed7
30 changed files with 3385 additions and 2 deletions
+43
View File
@@ -0,0 +1,43 @@
# Observability
## Purpose
Определяет доступные оператору средства наблюдения за состоянием робота и симуляции и требования к диагностике отказов без сокрытия ошибок связи или движения.
## Requirements
### Requirement: Суставная телеметрия
Активный контроллер SHALL публиковать измеренное состояние семи суставов через `joint_state_broadcaster` для планирования и внешнего чтения.
#### Scenario: Работа контроллера
- **WHEN** аппаратный или симуляционный контроллер активен
- **THEN** `/joint_states` доступен серверу движения, веб-мосту и визуализации
### Requirement: RViz по запросу
Основной launch SHALL поддерживать отдельный аргумент `rviz` для визуализации модели и планирования.
#### Scenario: RViz включён
- **WHEN** launch получает `rviz:=true`
- **THEN** запускаются RViz-узлы с конфигурацией из `digital_twin.rviz.config`
### Requirement: Foxglove bridge по настройке
При `foxglove.enabled=true` система SHALL запускать `foxglove_bridge` с настроенными портом, адресом, TLS и списками разрешённых топиков, сервисов и параметров.
#### Scenario: Foxglove отключён
- **WHEN** `foxglove.enabled=false`
- **THEN** bridge не запускается основным launch
### Requirement: Явное сообщение об отказе FRI
Аппаратная подсистема MUST сообщать диагностическую причину ошибки FRI, включая ошибки SDK, тайм-аут цикла, неверный период и потерю сессии.
#### Scenario: Ошибка FRI step
- **WHEN** FRI `step()` завершается неуспешно
- **THEN** worker отмечает отказ, прекращает нормальный обмен и выводит сообщение об ошибке
### Requirement: Различение состояний движения
Action движения SHALL публиковать обратную связь `planning` и `executing`, а окончательный результат SHALL содержать сообщение, пригодное для диагностики.
#### Scenario: Планирование цели
- **WHEN** сервер начал обработку action-цели
- **THEN** клиент получает стадию `planning`, затем `executing` до вызова планирования и исполнения