Architecture and services
Local architecture available
Katra is a family of applications centered on Katra Server. The browser-first Katra Client consumes the Server API. Future Agent Harness, Git, workspace, desktop, and mobile boundaries remain separate so they can evolve without collapsing authority into one process.
Application boundaries
Section titled “Application boundaries”- Katra Server: Laravel API, coordination, authorization, persistence, queues, search integration, realtime hints, and meeting credentials.
- Katra Client: Vue, TypeScript, Vite, and Tailwind interface. It displays and changes Server-owned state.
- Katra Agent Harness: planned configurable runtime that performs assigned work in a prepared Workspace.
- Katra Git Service: planned platform-owned canonical repository service.
- Workspaces: planned prepared environments for workflow or agent assignments.
Local service map
Section titled “Local service map”| Capability | Address | Responsibility |
|---|---|---|
| Katra Client | http://localhost:5173 |
Browser interface |
| Katra Server | http://localhost:8000 |
Laravel API and health endpoint |
| Horizon | http://localhost:8000/horizon |
Local queue dashboard |
| Mailpit | http://localhost:8025 |
Private local development mail inbox |
| Pulse | http://localhost:8000/pulse |
Local application dashboard |
| Telescope | http://localhost:8000/telescope |
Local diagnostics |
| Reverb | ws://localhost:8081 |
Browser-facing realtime endpoint |
| LiveKit signaling | ws://localhost:7880 |
Meeting media signaling |
| LiveKit RTC/TCP | localhost:7881 |
Local WebRTC TCP fallback |
| LiveKit RTC/UDP | localhost:7882/udp |
Preferred local media transport |
| PostgreSQL | localhost:5432 |
Authoritative relational data |
| Redis | localhost:6379 |
Cache, sessions, and queues |
| Meilisearch | http://localhost:7700 |
Derived search index |
Data authority
Section titled “Data authority”PostgreSQL is authoritative. Redis holds replaceable cache, session, and queue state under the current development assumptions. Meilisearch is rebuilt from PostgreSQL and must not be treated as a source of truth.
Realtime and media
Section titled “Realtime and media”Reverb delivers content-minimal refresh hints. Clients recover from missed or out-of-order events through authenticated API reads.
LiveKit transports ephemeral media. Katra Server authorizes the participant and issues a short-lived exact-room credential. LiveKit does not own meeting membership, lifecycle, notes, chat, or outcomes.