mirror of
https://github.com/LorenEteval/Furious.git
synced 2026-10-02 03:48:03 +03:00
18 lines
1.1 KiB
Markdown
18 lines
1.1 KiB
Markdown
# 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.
|
|
- `ConnectionController` owns connection state, interaction gating, active profile, failure/exit transitions, and signal
|
|
ordering. `RoutingController` distinguishes repository selection from routing applied to a live connection.
|
|
- `SettingsController` validates, 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.
|