summaryrefslogtreecommitdiff
path: root/scripts/.claude/ct-wire-anchor-to-map.yaml
diff options
context:
space:
mode:
authorPeter Stone <thepeterstone@gmail.com>2026-04-03 08:05:24 +0000
committerPeter Stone <thepeterstone@gmail.com>2026-04-03 08:05:24 +0000
commit5d358cd570075d36a61f9a37bb80c64f8a0a7e2a (patch)
treefa03f40d3c6a96da726b591d269c152adbdf7210 /scripts/.claude/ct-wire-anchor-to-map.yaml
parent9417a7c6b08da362ad97e85973b7570e05d4f0b5 (diff)
chore(stories): add claudomator stories for unused results and faked data
6 stories covering findings from codebase audit: - ct-remove-mock-tidal: remove random fake tidal currents near Solent - ct-wire-tidal-to-map: wire tidalCurrentState to MapHandler (never called) - ct-wire-anchor-to-map: wire anchorWatchState to map overlay (text-only) - ct-show-wind-direction: display TWD fetched but not shown in sheet - ct-show-swell-direction: display swell dir fetched but not shown - ct-fix-weather-fallback: remove silent SF fallback in WeatherActivity Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'scripts/.claude/ct-wire-anchor-to-map.yaml')
-rw-r--r--scripts/.claude/ct-wire-anchor-to-map.yaml82
1 files changed, 82 insertions, 0 deletions
diff --git a/scripts/.claude/ct-wire-anchor-to-map.yaml b/scripts/.claude/ct-wire-anchor-to-map.yaml
new file mode 100644
index 0000000..9ef8513
--- /dev/null
+++ b/scripts/.claude/ct-wire-anchor-to-map.yaml
@@ -0,0 +1,82 @@
+name: "Wire anchor watch state to map overlay"
+description: "LocationService.anchorWatchState is collected in MainActivity but only updates SafetyFragment text — MapHandler.updateAnchorWatch() is never called, so the anchor point and radius circle never appear on the map"
+agent:
+ model: "sonnet"
+ working_dir: "/workspace/nav"
+ instructions: |
+ Context
+ -------
+ LocationService.anchorWatchState: StateFlow<AnchorWatchState>
+ (android-app/app/src/main/kotlin/org/terst/nav/LocationService.kt, companion, line ~353)
+
+ MapHandler.updateAnchorWatch(state: AnchorWatchState) is fully implemented — it shows
+ an anchor icon and radius circle on the map, or clears them when inactive:
+ (android-app/app/src/main/kotlin/org/terst/nav/ui/MapHandler.kt, line ~139)
+
+ In MainActivity.observeDataSources(), anchorWatchState IS collected, but only
+ to update a text field in SafetyFragment:
+ LocationService.anchorWatchState.collect { state ->
+ safetyFragment.updateAnchorStatus(...)
+ }
+ There is no call to mapHandler?.updateAnchorWatch(state) anywhere.
+
+ AnchorWatchState:
+ (android-app/app/src/main/kotlin/org/terst/nav/AnchorWatchData.kt)
+ data class AnchorWatchState(
+ val isActive: Boolean,
+ val anchorLocation: Location?,
+ val watchCircleRadiusMeters: Double,
+ val setTimeMillis: Long
+ )
+
+ The map style must be loaded before calling updateAnchorWatch — gate on loadedStyleFlow.
+
+ Goal
+ ----
+ In the existing anchorWatchState collector in observeDataSources(), add a call to
+ mapHandler?.updateAnchorWatch(state) alongside the existing safetyFragment update.
+ Gate the map call on the style being loaded.
+
+ Step 1 — Update the existing collector
+ ---------------------------------------
+ In android-app/app/src/main/kotlin/org/terst/nav/MainActivity.kt,
+ find the anchorWatchState collector in observeDataSources():
+
+ lifecycleScope.launch {
+ LocationService.anchorWatchState.collect { state ->
+ safetyFragment.updateAnchorStatus(if (state.isActive) "Active: ${state.watchCircleRadiusMeters}m" else "Inactive")
+ }
+ }
+
+ Replace with:
+
+ lifecycleScope.launch {
+ LocationService.anchorWatchState.collect { state ->
+ safetyFragment.updateAnchorStatus(if (state.isActive) "Active: ${state.watchCircleRadiusMeters}m" else "Inactive")
+ if (loadedStyleFlow.value != null) {
+ mapHandler?.updateAnchorWatch(state)
+ }
+ }
+ }
+
+ No import changes needed.
+
+ Step 2 — Build
+ --------------
+ cd android-app && ANDROID_HOME=/opt/android-sdk ./gradlew assembleDebug 2>&1 | tail -5
+ Confirm BUILD SUCCESSFUL.
+
+ Step 3 — Commit and push
+ ------------------------
+ git add android-app/app/src/main/kotlin/org/terst/nav/MainActivity.kt
+ git commit -m "fix(map): wire anchor watch state to map overlay
+
+ The anchorWatchState collector in observeDataSources() was only updating
+ SafetyFragment text. Now also calls mapHandler.updateAnchorWatch(state)
+ when the map style is loaded, showing the anchor icon and radius circle."
+ git push github main && git push local main
+timeout: "15m"
+tags:
+ - "map"
+ - "anchor"
+ - "wiring"