Инвентарь — архитектура

Источник правды: Google Sheets Заливка: inventory-importer контейнер (/home/claude/inventory-importer/) → /reimport POST → Postgres (база inventory в coreclaw-postgres) Просмотр: jarvis.08317.ru/infra (серверы, подписки, алерты, инциденты) Управление через бота: кнопка «🔄 Перезалить инвентарь» в @coreclawrobot → inventory_reimport tool

Что было, что убрали

NocoDB (coreclaw-nocodb) — GUI-редактор таблиц Postgres, был на inventory.08317.ru. Снесён при чистке стека. Не поднимать заново — Google Sheets удобнее для редактирования.

Why: NocoDB — лишнее звено. Схема: Sheets (редактирование) → reimport (синхронизация) → Jarvis (просмотр).

Исправления (2026-07-02)

  • Баг: handlers.ts ждал { stdout } от inventory_reimport, а тот возвращает { ok, imported, ts } → TypeError на .replace(undefined). Фикс: приведён тип, отображаются строки key: count.
  • Ссылка в боте исправлена: inventory.08317.rujarvis.08317.ru/infra.
  • Traefik роут inventory.08317.ru создан (ведёт на FastAPI /docs), но реального UI там нет.

Пробел в данных (обнаружено 2026-08-08)

В inventory.subscriptions появились новые записи без заполненного paid_until: smartplatforma.ru, kolobas.ru, UFO Hosting VPS, kolobas.top, домен 08317.ru, кредиты OpenRouter/Cohere/kie.ai/Groq.

Why: алерты и morning-brief считают дни до истечения по paid_until — без даты мониторинг для этих пунктов молча не работает (не ошибка, а тишина).

How to apply: если это intentional (кредитные балансы без даты продления), возможно paid_until не подходящее поле для них и нужна отдельная колонка/логика. Если это забыли заполнить в Google Sheets — дозаполнить.

⚠️ inventory paid_until НЕ обновляется (проверено 09.08): v_subs_due_soon показывает ВСЁ просроченным (Anthropic Pro −38д, forge/HOSTKEY −17д и т.д.), но сервисы живы (Claude работает, forge жив) → autorenew=t продлевает автоматически, а даты в базе никто не актуализирует. Не пугаться отрицательных days_left. Реальный риск — только autorenew=f (не автопродляются): mydevn8n.com (−22д), VPN Node NL/nl-aeza (−10д) — их проверять живьём. TODO: актуализировать даты или починить синхронизацию inventory.

См. также coreclaw и services для остальной инфраструктуры CoreClaw.