Event-Driven Architecture
PHX Terminal is built on event-driven architecture (EDA) — a software design pattern that enables systems to detect, process, manage, and react to real-time events as they occur. An event represents a change in state, and the platform treats every meaningful action as an event that can be routed, buffered, and logged.
Event Flow
Section titled “Event Flow”flowchart LR ACT["Hover-app data entry"] --> EV(["Event emitted"]) EV --> SYNC["Data synchronization"] EV --> AUD["Audit log (immutable)"] EV --> AIA["AI analysis"] EV --> NOTIF["Notifications"]
Core advantages
Section titled “Core advantages”- Loose coupling — components do not call each other synchronously. This promotes agility, responsiveness, and independent development.
- Independent scaling and failure — services can scale on their own and fail without impacting other services, reducing workflow complexity.
- Auditability by design — because events can be routed, buffered, and logged, the system gains inherent transparency and a chronological record of all activity.
- Near-real-time processing — EDA moves the platform away from batch processing, letting it respond to changes immediately.
How an event flows
Section titled “How an event flows”Consider a lawyer entering data through the Hover Opaque Application:
- The data entry generates an event.
- The event is processed and routed to interested services.
- Downstream actions are triggered — for example, data synchronization or updates to other legal systems.
This real-time flow is what allows a single action on the desktop to be reflected consistently across the legal ecosystem.
Auditability and resilience for legal work
Section titled “Auditability and resilience for legal work”The inherent auditing capabilities of EDA are vital for compliance and accountability in a highly regulated sector — every state change leaves a chronological record (see Auditability & Governance). Decoupling ensures that a failure in one part of the system — a specific AI bot, a third-party integration service, or a data-processing module — does not halt the entire legal workflow, maintaining operational continuity and minimizing disruption to critical legal work.