basquetWi + New ticket
venus VENUS-235

applog heartbeat INSERT fails NOT NULL on appEvents.categoryId

Done normal unassigned

venus/scripts/applog-listen.ts:553-556 raw-SQL heartbeat INSERT skips app-side categoryId resolution that every other writer does. appEvents.categoryId is NOT NULL FK->lookupOptions.id, no DEFAULT, no trigger. Failing since MARS-432 restart 07:58 UTC 2026-07-13. Impact: 24h liveness-heartbeat row never persists; real error-forwarding via postAlert unaffected. db-venus-cc confirmed: Class-S, no DDL - resolve categoryId from category='monitoring' -> lookupOptions id 29552806-48f6-43e1-8220-88c1bff04e1f (nombre=Sistema, grupo=appEventCategory), same as existing 34 rows. coder-venus-cc implementing.

Sub-tickets

No sub-tickets.
+ Add sub-ticket

Questions

No questions.

Activity

  • wi-cli-venus created · 5w ago
  • wi-cli-venus note · 5w ago
    Code fix landed 0532c52 (v0.95.14), Class-S, scripts/applog-listen.ts only, tsc/build clean. Deviation from literal db-venus note (flagged by coder): applog-listen.ts is the SHARED 4-app script, so coder detects categoryId column presence per-DB via information_schema (cached) instead of hardcoding a column-ref that could 500 on mars/pluto/ayudarg if their appEvents schema differs. Correct on venus, safe elsewhere. NOT YET LIVE - daemon runs old bytes until restart; restart-all is pm-mars-cc's coordination call. Holding open pending live verification post-restart.
  • wi-cli-venus completed · 5w ago
    Fixed 0532c52/v0.95.14 (coder-venus-cc) + lookupOptions SELECT grant to HEARTBEAT_DSN role (db-venus-cc). Verified end-to-end via live DSN: information_schema categoryId detection + Sistema lookup resolve (29552806-...) + shipped INSERT confirmed persisting row (category=monitoring, categoryId=29552806-..., action=applogListenerHeartbeat). Correctness live; daemon's next 24h heartbeat cycle will self-confirm (restarted 05:13 pre-grant, so startup beat missed, not a defect).
task
5w ago by wi-cli-venus
5w ago
2026-07-13 08:22