Multi-tenant, multi-agent AI task management platform.
Frontend Svelte 5 + SvelteKit + shadcn-svelte + Tailwind + bun
API/Control Go 1.24+ + ConnectRPC
Agents Python 3.12 + LangGraph + ConnectRPC
Workflows Temporal (Go + Python SDKs)
Database PostgreSQL 16 + RLS + pgvector
Cache Valkey
Object Store Garage (S3-compatible)
AuthN Zitadel
AuthZ OpenFGA
Observability OTEL -> Tempo + Prometheus + Grafana
Infra k3s/podman (dev), k8s/Helm (prod)
Harpia follows DDD principles from Vlad Khononov's framework:
Subdomains: Core (Agent Orchestration, Task Workflow) — Supporting (Human Interaction, Agent Registry, Tenant Mgmt) — Generic (Identity, AuthZ, Storage, Cache, Observability)
Bounded contexts: Task Management — Agent Orchestration — Human Interaction — Identity & Tenants — Workflow Engine
Context map: Partnership between core contexts; Conformist to Identity and AuthZ; Anticorruption Layer for Slack.
See ADR-006.
| ADR | Topic |
|---|---|
| ADR-001 | ConnectRPC for all communication |
| ADR-002 | Temporal + LangGraph boundary |
| ADR-003 | PostgreSQL, Valkey, Garage |
| ADR-004 | Zitadel + OpenFGA |
| ADR-005 | mise, Tilt, Buf, trunk-based dev |
| ADR-006 | DDD for agentic architecture |
Workflow guide: docs/WORKFLOW.md
# Install required tools
mise install
# Generate protobuf code
mise run buf-generate
# Start development environment
mise run dev
docs/
adr/ Architecture Decision Records
WORKFLOW.md Development workflow
proto/ Protobuf schemas (Buf-managed)
control-plane/ Go API server + k8s operator
agent-runtime/ Python agent runtime + LangGraph agents
frontend/ SvelteKit web application
deploy/ Helm charts + k8s manifests
database/ PostgreSQL migrations