# Memory Bank: System Patterns

## Слои

- **Control plane:** `httpapi`, `store`, `repository`, `jobs`, `bundle`, `signing`, `pipeline`, `birdfmt`
- **Data plane:** BIRD2, `evobgp-agent`, `evobgp-node`
- **Web:** SvelteKit, shadcn-svelte (`ui/core`, `ui/patterns`, `ui/app`)

## Паттерны

| Паттерн | Реализация |
|---------|------------|
| Store abstraction | `store.Backend` + `repository` / `store.Memory` |
| Async jobs | `jobs.Registry`, in-process (кроме cross-process HTTP) |
| HTTP errors | `writeProblem` / RFC 9457 problem+json |
| UI forms | sveltekit-superforms + Formsnap |
| UI tables | TanStack Table + `AppDataTable` |

## Процессы (`cmd/`)

- `evobgp-api` — только API
- `evobgp-all` — API + scheduler + ingest + render + deploy
- Отдельные воркеры в reference Compose

## Источник правды

OpenAPI (`docs/openapi.yaml`) → код → `docs/`
