Architecture 10 Quality Requirements - lukislp/mowdeck GitHub Wiki

10. Quality requirements

Quality Scenario Measure
Security / isolation A user of a foreign account requests a mower, a schedule or telemetry of another account Rejected in every service; covered by automated tests per service
Security / commands A stale or duplicated start command arrives Dropped because of expiry or duplicate command ID
Safety Emergency stop is sent while other commands are queued Stop is handled with priority
Safety Joystick connection drops Driving command expires after about 1 second
Availability One service fails or restarts Other services keep working; commands are replayed from JetStream where valid
Operability Fresh install at home docker compose up starts the full stack
Portability Same images at home and in the cloud Only configuration differs; images for amd64 and arm64
Efficiency Raspberry Pi 5 with 4 GB Foundation stack fits in memory
Extensibility New permission, plan feature or UI area Added by a self-describing module without changing existing services
Maintainability Any service Same layers and a README; lint, types and tests enforced in CI
Compatibility API or event change Backward compatible only, or a new version
Security baseline Login, tokens, secrets Reviewed against OWASP ASVS; Argon2id; rate limit on login; secrets never in images

Mirrored from docs/architecture/10-quality-requirements.md at commit 94c46ef36cabac4c3a0bacfc0cc0c0af4defdca3. Edit the file in the repository, not this wiki page.