Joseph Doherty
34694adba2
Apply Codex review findings across all 17 components
...
Template Engine: add composed member addressing (path-qualified canonical names),
override granularity per entity type, semantic validation (call targets, arg types),
graph acyclicity enforcement, revision hashes for flattened configs.
Deployment Manager: add deployment ID + idempotency, per-instance operation lock
covering all mutating commands, state transition matrix, site-side apply atomicity
(all-or-nothing), artifact version compatibility policy.
Site Runtime: add script trust model (forbidden APIs, execution timeout, constrained
compilation), concurrency/serialization rules (Instance Actor serializes mutations),
site-wide stream backpressure (per-subscriber buffering, fire-and-forget publish).
Communication: add application-level correlation IDs for protocol safety beyond
Akka.NET transport guarantees.
External System Gateway: add 408/429 as transient errors, CachedCall idempotency
note, dedicated dispatcher for blocking I/O isolation.
Health Monitoring: add monotonic sequence numbers to prevent stale report overwrites.
Security: require LDAPS/StartTLS for LDAP connections.
Central UI: add failover behavior (SignalR reconnect, JWT survives, shared Data
Protection keys, load balancer readiness).
Cluster Infrastructure: add down-if-alone=on for safe singleton ownership.
Site Event Logging: clarify active-node-only logging (no replication), add 1GB
storage cap with oldest-first purge.
Host: add readiness gating (health check endpoint, no traffic until operational).
Commons: add message contract versioning policy (additive-only evolution).
Configuration Database: add optimistic concurrency on deployment status records.
2026-03-16 09:06:12 -04:00
Joseph Doherty
3dd62adf42
Refine Cluster Infrastructure: split-brain, seed nodes, failure detection, dual recovery
...
Add keep-oldest split-brain resolver with 15s stable-after duration. Configure both
nodes as seed nodes for symmetric startup. Set moderate failure detection defaults
(2s heartbeat, 10s threshold, ~25s total failover). Document automatic dual-node
recovery from persistent storage with no manual intervention.
2026-03-16 08:07:28 -04:00