35 lines
1.7 KiB
Markdown
35 lines
1.7 KiB
Markdown
# DAGI / microdao Architecture Inventory — Executive Summary
|
|
|
|
Generated: 2026-02-16
|
|
Scope basis: `docs/SESSION_STARTER.md` + repository scan + operator clarifications (current thread decisions).
|
|
|
|
## Executive Findings (Updated)
|
|
- Canonical deployment authority is **per-node compose manifests**, not a single universal file.
|
|
- NODE1: `docker-compose.node1.yml`
|
|
- NODE3: `docker-compose.node3.yml`
|
|
- Staging: `docker-compose.staging.yml` (+ overrides)
|
|
- Drift-check policy should run per node against its local compose stack (services/images/ports/volumes/networks/env-nonsecret/healthcheck).
|
|
- `ingest-service`, `parser-pipeline`, `control-plane` are currently treated as **not active on NODE1**; catalog now uses lifecycle statuses (`DEPLOYED`, `DEFINED`, `PLANNED/EXTERNAL`).
|
|
- NATS canonical run subject policy is set to:
|
|
- publish: `agent.run.requested.{agent_id}`
|
|
- subscribe: `agent.run.requested.*`
|
|
with dual-subscribe/publish migration window.
|
|
- Proxy policy is fixed at architectural level: single owner for 80/443 in production (nginx **or** Caddy), second proxy internal-only or disabled.
|
|
|
|
## Priority Contradictions To Resolve
|
|
1. Memory API contract mismatch (`/store` in docs vs `/memories`/`/events`/`/retrieve` in code).
|
|
2. NATS run subject shape mismatch (legacy flat subject still in worker/producer paths).
|
|
3. Proxy ownership conflict (nginx vs Caddy) in runtime runbooks.
|
|
4. Architecture diagrams include services not currently deployed on NODE1.
|
|
|
|
## Source pointers
|
|
- `docs/SESSION_STARTER.md`
|
|
- `docker-compose.node1.yml`
|
|
- `docker-compose.node3.yml`
|
|
- `docker-compose.staging.yml`
|
|
- `services/crewai-worker/main.py`
|
|
- `services/router/main.py`
|
|
- `ops/nginx/node1-api.conf`
|
|
- `docs/OPENAPI_CONTRACTS.md`
|
|
- `docs/ARCHITECTURE_DIAGRAM.md`
|