Files
LorenEteval_Furious/Furious/Controllers/AGENTS.md
T
2026-08-25 13:52:25 +08:00

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.