Keep the engine's own history, and a screen that reads it
A second bus subscriber folds executions, errors, timings and queue lag into per-minute rollups, keeps failures with their traceback and an audit trail of who published what, and records one row per cascade — manual runs and previews included, under an id of their own that writes no idempotency markers. Read back through /observability/*, which always answers 200 so a degraded engine still renders its own health screen. Also fixes two things found on the way: node-health alerts read `status` where the engine publishes `health`, so a device dropping never alerted anyone, and the Redis queue reported `parked: 0` whatever was held. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017MeiWk3Yq12n2pTvnQWYvt
This commit is contained in:
+10
@@ -107,6 +107,12 @@ external interfaces. See `docs/architecture/structure.canvas` → *Backend – M
|
||||
a dead consumer never acknowledged; nodes that reach outside are skipped on a
|
||||
redelivery they already ran. Long-lived worker pools replace the per-wave
|
||||
executors, and a delay now waits in the queue rather than on a worker thread
|
||||
- [x] Engine history in Postgres: a second bus subscriber folds executions, errors,
|
||||
timings and queue lag into per-minute rollups, keeps failures with their
|
||||
traceback and an audit trail of who published what, and records one row per
|
||||
cascade — including the manual runs and previews that never went through the
|
||||
queue. Read back through `/observability/*`, which always answers 200 so a
|
||||
degraded engine still renders, and pruned on a retention window
|
||||
- [ ] Test nodes: a small node dragged onto an existing one, smoke or unit, blocking
|
||||
deployment on failure
|
||||
- [ ] User management scoped per flow and per data set
|
||||
@@ -169,6 +175,10 @@ React + Vite, primarily desktop but usable on mobile. See `docs/architecture/str
|
||||
channels/rules each get a sidebar page, and the OAuth clients an agent
|
||||
registers are listed and revocable under Admin — which needed its
|
||||
management endpoints written first
|
||||
- [x] Health screen: how the engine is doing now (nodes, flows, queue, loop lag)
|
||||
over what it has been doing all day — throughput and failure charts, a
|
||||
per-flow table, the recent cascades, failures that expand to their
|
||||
traceback, dead-lettered work and the audit trail
|
||||
- [x] Mobile-friendly canvas: touch connect, full-screen node panel
|
||||
- [ ] Installable as a PWA (`vite-plugin-pwa`)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user