[01]
Architecture
Passive, event-driven, multi-agent — the app is the easy 20%.
Hale isn’t a chatbot you open. It’s a passive system: the web app enqueues events, a worker drains them off a Postgres-backed queue, and a pipeline of specialised agents classify, infer, draft, and review — each testable on its own, none trusted on prose alone.
The LLM is maybe a fifth of the system. The rest is orchestration, guarded tool interfaces, audit logging, and evals — the parts that decide whether an agentic product is trustworthy or a demo.
- web ↔ worker split across one typed event contract
- the reviewer agent must invoke verification tools before it can approve
- every action writes an immutable audit row