Skip to content

2. Constraints

Last reviewed: 2026-11-03

What the team cannot decide: technical, organisational and legal limits.

Constraint Where
GDPR: no watch request before the user said Yes on the watch; every user can delete the account with all data; every new kind of data or outside service goes on the privacy page specs/shared/privacy, ADR 006
OpenStreetMap data (ODbL) for places, depth and tiles ADR 013, ADR 004

Technical

Constraint Where
Garmin Connect IQ 3+, Monkey C. The upload queue lives in Application.Storage and is limited to 64 KB (Wear OS: 16 MiB) apps/garmin-watchapp, track-sync § Local queue
Wear OS: Kotlin, Compose for Wear OS apps/android
Server: Ruby, Rails, PostgreSQL with PostGIS, Hotwire, no front-end build step specs/server
Hosting: Oracle Cloud VMs and object storage, Cloudflare (DNS, tunnels, Access, R2) section 7
Deploys only from the GitHub deploy job on main DEPLOYMENT.md

Organisational

Constraint Where
One repository, one owner; specs are the single source of truth for behaviour specs/README
Definition of Done for every agent and subagent AGENTS.md
Secrets stay in the password manager credentials
Store releases only from tags the owner creates AGENTS.md §4