backlog — Brabo API

Brabo API

Devolve o module_map vigente, os ADRs e as pendências

Request

O mapa vigente é o de maior version (o histórico é imutável). As pendências são a validação cruzada história↔mapa: história sem módulo, ou apontando para módulo que não existe.

Security
bearer
Path
projectIdstringrequired
GET
/projects/{projectId}/architecture
Payload
// No request payload

Responses

Bodyapplication/json
moduleMapobject or null(ModuleMapResponseDto)required

null enquanto o Arquiteto não escreveu o primeiro mapa.

adrsArray of objects(AdrRefResponseDto)required
pendenciesArray of objects(ArchitecturePendencyResponseDto)required

Validação cruzada história↔mapa. Lista vazia é o estado saudável.

c4Diagramobject(EstadoDoC4DiagramaResponseDto)required
Response
{ "moduleMap": { "id": "01JC4Z0000MODULEMAP00000001", "projectId": "01JC4Z0000PROJETO0000000001", "sessionId": "01JC4Z8QK3M7YV2N5T9B0PXHRA", "modules": [ { "name": "api", "stack": "NestJS + Drizzle", "responsibility": "Business rules and HTTP surface.", "dependsOn": [ "db" ], "resources": { "cpus": 2, "memoryMb": 4096, "pidsLimit": 512 } } ], "version": 3, "createdAt": "2026-07-24T16:00:00.000Z" }, "adrs": [ { "actionId": "01JC4Z8QK3M7YV2N5T9B0PXHRC", "title": "0007 — Postgres queue instead of Redis", "status": "executed", "pullRequestUrl": "https://github.com/daneiel/brabo/pull/42" } ], "pendencies": [ { "storyId": "01JC4Z0000HISTORIA000000001", "title": "Add item to cart", "status": "ready", "reason": "missing_module", "missing": [ "pagamentos" ] } ], "c4Diagram": { "status": "sem_diagrama", "diagrama": { "systemName": "Brabo", "systemDescription": "Agent-orchestrated engineering platform.", "actors": [ { "name": "User", "type": "person", "description": "Whoever operates the product through the web." } ], "contextDiagram": "C4Context\n title Context Diagram -- Brabo\n ...", "containerDiagram": "C4Container\n title Container Diagram -- Brabo\n ..." }, "version": 0, "eventId": "01JC4Z0000EVENTO000000002", "createdAt": {} } }