Skip to content

Architecture Decision Records

All significant architecture decisions are recorded as ADRs. See the detailed documents below for rationale, alternatives, and trade-offs.

Current ADRs

IDTitleStatusDecidedImpact
0001Rust core with three native GUIs (SwiftUI, WinUI 3, Qt 6)Accepted2026-04-18FFI approach, platform coverage
0002oMlx fat fork for SSD-paged KV cache on macOSAccepted2026-04-18Inference backend, performance baseline
0003Axum + mTLS for fleet wire (not gRPC)Accepted2026-04-18Fleet transport, scalability ceiling
0004Math core dispatch per AttentionKindAccepted2026-04-18Accuracy, architecture support
0005Shared crate reuse across Phenotype orgAccepted2026-04-18Code organization, dependency strategy
0007Raw C FFI over UniFFI (WinUI/Qt fallback)Accepted2026-04-18Windows/Linux FFI approach

Decision Process

Each ADR includes:

  • Context: Problem statement and constraints
  • Decision: What was chosen and why
  • Rationale: Trade-offs and alternatives considered
  • Consequences: Impacts on the system and team

ADR Index by Category

Runtime & Inference

Architecture Patterns

Transport & Communication

FFI & Language Bindings

Future ADRs

Planned decisions for upcoming phases:

  • ADR-0006: Query language for fleet dispatch (planned)
  • ADR-0008: Cost model and spot pricing integration (planned)
  • ADR-0009: Offline-first sync strategy for fleet nodes (planned)

Released under the Apache 2.0 License.