- add imagePullPolicy: IfNotPresent to all k8s Deployments, DaemonSet
(grafana, jaeger, loki, rabbitmq, redis, promtail)
- migrate wg.Add(1)/go/defer wg.Done() pattern to wg.Go() (Go 1.25+)
in logger/loki_syncer.go and task/worker.go
- simplify redundant map existence check before delete in diagram/graph.go
- update deploy.md to reflect pg PVC size (6Gi) and resource limits
- replace interface{} with any across ~30 files for Go 1.18+ style
- adopt for-range-over-int loops in place of explicit index loops
- use maps.Copy from stdlib to replace manual map copy loops
- use min() builtin for exponential backoff delay cap in retry_manager
- add MongoDB 7.0 K8s manifests (StatefulSet, Service, PVC, Secret)
- document PostgreSQL and MongoDB deploy steps in deploy.md with SSH tunnel port mappings
- add LokiConfig and batching lokiSyncer for dev-mode direct log push
- refactor zap logger to support mode-aware encoding and K8s pod fields
- fix RabbitMQ shutdown race: move CloseRabbitProxy to defer so channel
closes before connection (prevents 504 error on Ctrl+C)
- wrap MsgChan with EventMessage to carry per-cycle trace carrier
- create new root OTel span per computation cycle linked to startup span,
giving each cycle an independent traceID with startup as reference