docs(perception): record Worker observability repair and remaining stream gates

This commit is contained in:
DCCONSTRUCTIONS
2026-09-02 17:40:45 +03:00
parent 2ef8c08bf2
commit df0158e1ba
4 changed files with 96 additions and 4 deletions
@@ -2256,3 +2256,50 @@ manifest/analysis/проверки скопированы на Worker. На Mac
packaging. Host filesystem channel не выдаётся за внешний сетевой transport.
Native-host inventory, quality, physical-live и vehicle control остаются отдельными
непройденными границами; registry/UI не переключены, этапы3–4 не начаты.
## Этап2, инкремент11: existing Worker observability — 2026-09-02 17:37 МСК
Код `c570f7d` / `2ef8c08`. По запросу владельца восстановлен существующий
System/Worker, не создана отдельная страница. Telegraf завершался при MQTT startup
failure; у брокера исчез host binding. После восстановления доставки выявлен
Timescale OOM: shared_buffers3490MB/maintenance1745MB внутри1024MiB container,
а retention DELETE выполнялся в MQTT callback. Исправлены memory settings,
ретенция1000rows/60s в отдельном thread с2s deadline и MQTT startup retry.
Тот же volume/credentials сохранены; broker остаётся на прежнем частном LAN bind.
На Mac использован явный read-only normalizer source override, не Docker build.
`RuntimeTelemetryPublisher`: один файл≤8KiB,1Hz, отдельный daemon вне heartbeat,
snapshot state/profile/input phase/pauses/processes/буферы. Существующий Telegraf
collector читает его с5s TTL; metrics идут через прежний pipeline topic. Экспорт
не предоставляет lease/GPU authority и не переносит camera/cloud/results/secrets.
Настоящие stage timings не заменены числами из lifecycle heartbeat.
UI показывает частоты SM/VRAM, waiting/resync, не утверждает ready/idle при
unavailable; HTTP timeout/error очищает старый snapshot, polling продолжается.
104 Python tests, Ruff/mypy PASS. Frontend: architecture4, typecheck,703unit,
production build PASS последовательно на Worker Windows/Node24.13.1 CPU.
Fixture дополнен пропущенным plugin.manifest.json; Vite warning больше не
интерпретируется PowerShell wrapper как build error. Canonical8000 обслуживает
новый dist, предыдущий сохранён. Browser QA по `mission-core-product-ui` отложен:
Mac memory pressure2 и swap≈7.1GiB. Визуальный PASS не заявлен.
CPU-only canary36s: running→waiting→synchronizing→running, сохранённые Timescale
samples всех состояний; API trace видит синхронизацию и восстановленный running.
Lease generation1,360 renewals,input epoch generation1,0export errors,clean stop.
Не было GPU/model children или sensor network stream. Отдельный reconnect:
Telegraf перезапущен без MQTT, через18s остаётся Running, после возврата брокера
сохранил PID9268 и возобновил ingest. Первый checker упал на временном health503,
finally восстановил broker; исправленный повтор PASS, ошибка проверки не скрыта.
Источник/exporter, установленный Telegraf config, frontend adapter и dist hashes
Worker↔Mac совпали. Evidence14 files:
`.runtime/worker-telemetry-20260902T1422Z/manifest.json`, SHA-256
`825b1d8035dbf907b2b731d35ede4c5742b81e653a6f24670f4775981f853492`.
CPU container/isolated lease удалены, canary snapshot перенесён в evidence;
Telegraf/telemetry plane healthy. Frigate/Ollama exited/restart=no. Final GPU:
977MiB,0%,auto210/405MHz,450W. Legacy perception404/restart loops не объявлены
исправленными. Новый full-model latency/overhead benchmark не выполнялся.
Этап2 остаётся открыт: после визуального acceptance продолжить внешний bounded
binary data-plane/auth/recovery, затем standalone image. Этапы34 не начаты;
расширение System/Worker не означает интеграцию нового профиля в Observatory.