Chat, history, settings.
Native by design. Modular by default.
A native SwiftUI chat client rebuilt around clear modules, actor-owned runtime, and steadier recovery.
- 4.5 to 4.10 Native era
- 16 modules Clear seams
- 1 runtime owner Actor-owned
- Release-grade Hard gates
Production wiring only.
Focused stores and flows.
Actor plus evaluators.
SwiftData and Keychain.
Direct, gateway, files.
One runtime owner. One production root.
A shorter way to describe the release line.
Native rebuild. Clear seams. One runtime owner. Harder release gates.
SwiftUI from the start
The client was rebuilt in Swift, SwiftUI, and SwiftData.
Clear package boundaries
UI, transport, persistence, and runtime stay separate as the app grows.
One owner for reply state
ReplySessionActor owns mutable reply state while evaluators keep decisions pure.
Shipping got stricter
CI, accessibility, docs, localization, and performance checks became part of the release contract.
A few rules do most of the work.
Keep UI on the surface. Wire production once. Mutate reply state in one place.
Chat, history, settings, markdown, and previews stay in the surface layer.
The composition root owns assembly so dependencies do not drift.
ReplySessionActor owns mutation while evaluators keep recovery and terminal decisions explicit.
Direct OpenAI, optional gateway routing, and file flows stay in transport.
Five short milestones.
Curated milestones from the real changelog.
Native rewrite
- Complete native SwiftUI rewrite of the chat client.
- SwiftData and package boundaries land together.
Runtime ownership
- ReplySessionActor becomes the single mutable runtime owner.
- Composition root and coordinators replace broader controller ownership.
Engineering rigor
- Typed throws, observability, and accessibility expand the safety net.
- CI grows into a real engineering gate system.
Boundary tightening
- Settings and history ownership are tightened across application, presentation, and composition.
- Release-readiness, localization, and documentation checks become standard.
Reliability line
- Gateway modes, direct validation, and fallback handling land in transport.
- Runtime, settings, and streaming behavior are repeatedly hardened.
Support, source, and privacy.
Local-first. Bring your own API key. Optional gateway routing.