feat: resident runtime, shutdown command, observatory, and IPL logging hardening

- keep BEDS resident after IPL and coordinate clean shutdown
- propagate AMQP shutdown command across dispatcher pool
- add structured IPL milestone/event-chain logging with root GUID context
- add optional trace_on config for verbose method-entry diagnostics
- add dev purge-on-IPL controls for admin/logger collections
- add log level showcase events after IPL node-green
- add Mongo logger store helpers for chain/root lookup and purge
- add/modernize BEDS Observatory log_dumper utility UI and root record view
- refresh source headers and wiki docs for current architecture/runtime
- add architecture visual brief for leadership/image-generation workflows
This commit is contained in:
2026-04-10 13:42:39 -07:00
parent 0af80612bb
commit 14ec58318b
13 changed files with 1618 additions and 13 deletions

View File

@@ -1,5 +1,17 @@
# Queue Topology
## Current Runtime Topology (2026-04)
The active Rust runtime currently uses a unified dispatcher model:
1. Single primary events queue per environment tag (`{queue_tag}events`).
2. Unified dispatcher pool consumes from that queue.
3. Queue binding uses topic wildcard (`#`) on `beds.events`.
4. `shutdown` operation is handled as a broker command that triggers coordinated global shutdown.
5. Legacy `rec.read` and `rec.write` broker files remain in repository history/reference, but runtime path is centered on unified dispatcher workers.
The broader broker matrix below remains useful as historical and planned topology context.
## Overview
BEDS uses a single RabbitMQ topic exchange for all data events. Topic exchanges route messages based on a dotted routing key — this gives BEDS fine-grained control over which brokers receive which events without the overhead of managing multiple exchanges.