mirror of
https://github.com/LorenEteval/Furious.git
synced 2026-09-28 01:48:02 +03:00
1.1 KiB
1.1 KiB
Controller guidance
Scope and ownership
- Controllers are process-lifetime authorities for shared state and transitions. They orchestrate repositories/services and publish results; they do not own transient widgets or duplicate service resources.
ConnectionControllerowns connection state, interaction gating, active profile, failure/exit transitions, and signal ordering.RoutingControllerdistinguishes repository selection from routing applied to a live connection.SettingsControllervalidates, persists, and applies preferences. A setting whose host side effect fails must not be persisted as successful; UI pages do not reimplement that policy.- Protocol-specific behavior goes through capabilities. Long work belongs in an owned service/worker, not an unbounded GUI-thread controller call. Global dependencies may be absent during partial startup and shutdown.
Verification
- Test transitions and signal counts for success, validation/start failure, cancellation, unexpected exit, restoration, failed settings effects, and repeatable shutdown.