docs(openspec): reconcile mobile specs with what shipped #152
No reviewers
Labels
No labels
dependencies
major
security-pin
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
trails-cool/trails!152
Loading…
Reference in a new issue
No description provided.
Delete branch "spec-sync-mobile-map-and-toolchain"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The mobile PRs merged over the last days (#147–#151) moved ahead of the specs. Docs only — no code changes.
MapLibre vs react-native-maps
The
mobile-appchange never resolved the choice, but the code did.design.mdD3 already picked MapLibre while the risks section still listed it as an open question, andproposal.mdnamedreact-native-mapsas a dependency.tasks.md3.2.1 (done)react-native-maps@maplibre/maplibre-react-nativetasks.md5.2.3 (open)react-native-maps@maplibre/maplibre-react-nativedesign.mdrisksdesign.mdD3react-native-maplibre-gl@maplibre/maplibre-react-nativeproposal.mdreact-native-maps5.2.3 was the one that mattered most — open work pointing at a library the app does not use. It stays unchecked: only the name was wrong, offline tile caching is still unbuilt.
Map tab had no content requirement
mobile-app-shellonly said the Map tab exists and renders by default, so #148 shipped a full-screen map with nothing describing it. Adds a Map tab requirement: full-bleed render, attribution clear of the tab bar and safe areas, default camera, pan, and the placeholder when the native module is not linked.Seed script
The
local-dev-environmentscenario listed users, routes and activities but not thetrails-cool-mobileOAuth client added in #149 — the row that makes mobile sign-in work locally. Also notes whyapps/journal/server.tsdoes not cover dev (it only runs underpnpm start, notreact-router dev).Expo toolchain constraints
New requirement recording what actually cost time on the SDK 57 upgrade, so SDK 58 does not rediscover it:
reactis pinned exactly by the Expo SDK, and must be set in the catalog becausepnpm-workspace.yaml'soverridesforce it workspace-wide — a per-app pin is silently ignoredexpo.install.excludehidesreactfromexpo install --check@expo/config-pluginsas a direct dependency under pnpm's isolated linkerVerification
openspec validate --all --strict— 81 passed, 0 failed.🤖 Generated with Claude Code