# Service Catalog

## Lifecycle Model (Canonical)
- `DEPLOYED`: in node compose and intended running runtime.
- `DEFINED`: code/manifest exists but not active for the target runtime.
- `PLANNED/EXTERNAL`: documented contract exists but deployed elsewhere or not yet introduced.

## NODE1 Service Status

| Service | Status | Purpose | Runtime | Ports | Source |
|---|---|---|---|---|---|
| gateway | DEPLOYED | BFF/webhooks ingress | Python/FastAPI | 9300 | `docker-compose.node1.yml`, `gateway-bot/app.py` |
| router | DEPLOYED | Routing/tool orchestration | Python/FastAPI | 9102->8000 | `docker-compose.node1.yml`, `services/router/main.py` |
| swapper-service | DEPLOYED | Multimodal model runtime | Python/FastAPI+CUDA | 8890,8891 | `docker-compose.node1.yml` |
| memory-service | DEPLOYED | Memory API | Python/FastAPI | 8000 | `docker-compose.node1.yml`, `services/memory-service/app/main.py` |
| artifact-registry | DEPLOYED | Artifact jobs/metadata | Python/FastAPI | 9220 | `docker-compose.node1.yml` |
| rag-service | DEPLOYED | RAG ingest/query | Python/FastAPI | 9500 | `docker-compose.node1.yml` |
| render-pptx-worker | DEPLOYED | NATS pptx worker | Node.js | internal | `docker-compose.node1.yml` |
| render-pdf-worker | DEPLOYED | NATS pdf worker | Python | internal | `docker-compose.node1.yml` |
| index-doc-worker | DEPLOYED | NATS doc index worker | Python | internal | `docker-compose.node1.yml` |
| market-data-service | DEPLOYED | Market feed producer | Python | 8893->8891 | `docker-compose.node1.yml` |
| senpai-md-consumer | DEPLOYED | Market data consumer/features | Python | 8892 | `docker-compose.node1.yml` |
| nats | DEPLOYED | Event bus | NATS | 4222 | `docker-compose.node1.yml` |
| dagi-postgres | DEPLOYED | Relational DB | Postgres | 5432 | `docker-compose.node1.yml` |
| qdrant | DEPLOYED | Vector DB | Qdrant | 6333,6334 | `docker-compose.node1.yml` |
| neo4j | DEPLOYED | Graph DB | Neo4j | 7474,7687 | `docker-compose.node1.yml` |
| redis | DEPLOYED | Cache | Redis | 6379 | `docker-compose.node1.yml` |
| minio | DEPLOYED | Object storage | MinIO | 9000,9001 | `docker-compose.node1.yml` |
| ingest-service | DEFINED | Attachment ingest API | Python/FastAPI | 8100 (code) | `services/ingest-service/*` |
| parser-pipeline | DEFINED | Attachment parser worker/API | Python/FastAPI | 8101 (code) | `services/parser-pipeline/*` |
| control-plane | DEFINED | Policy/config service | Python/FastAPI | 9200 (code) | `services/control-plane/*` |

## NODE3 Service Status
- DEPLOYED: `dagi-router-node3`, `swapper-service-node3`, `comfy-agent` (`docker-compose.node3.yml`).

## Staging Status
- DEPLOYED in staging manifests: router, gateway, swapper, memory, qdrant, neo4j, redis, nats, control-plane, crewai-service, crewai-worker, vision-encoder.

## Source pointers
- `docker-compose.node1.yml`
- `docker-compose.node3.yml`
- `docker-compose.staging.yml`
- `services/ingest-service/main.py`
- `services/parser-pipeline/main.py`
- `services/control-plane/main.py`
