Hackathon demo ticket. This is intentionally small and self-contained, but it changes a native input.
Problem
Two iOS privacy strings in ios/Trailhead/Info.plist use generic generated wording rather than explaining why Trailhead needs the capability.
Scope
Update NSLocationAlwaysUsageDescription and NSMotionUsageDescription only. Explain background hike recording and motion-assisted tracking in plain language. Do not run Expo prebuild.
Acceptance criteria
- Both strings name Trailhead and state the user benefit.
- The plist remains valid.
- No unrelated native configuration changes.
- The app is rebuilt and launched with Stim after the native change.
Validation
Follow docs/mobile-agent-loop.md.
Before: on a fresh Stim-owned simulator, capture the relevant system permission prompt and its current text with agent-device.
After: rebuild with stim ios, reset permission state as needed, and capture the same prompt showing the new copy. Run stim logs --errors.
The PR description must include clearly labeled Before and After evidence and the Stim launch summary.
Hackathon demo ticket. This is intentionally small and self-contained, but it changes a native input.
Problem
Two iOS privacy strings in ios/Trailhead/Info.plist use generic generated wording rather than explaining why Trailhead needs the capability.
Scope
Update NSLocationAlwaysUsageDescription and NSMotionUsageDescription only. Explain background hike recording and motion-assisted tracking in plain language. Do not run Expo prebuild.
Acceptance criteria
Validation
Follow docs/mobile-agent-loop.md.
Before: on a fresh Stim-owned simulator, capture the relevant system permission prompt and its current text with agent-device.
After: rebuild with stim ios, reset permission state as needed, and capture the same prompt showing the new copy. Run stim logs --errors.
The PR description must include clearly labeled Before and After evidence and the Stim launch summary.