awslabs / awslabs/agent-plugins
amazon-location-service: follow-ups from #250 review
- Dominant language
- Python
- Stars
- 893
- Forks
- 155
- Avg merge
- 5d 20h
- Merged PRs (30d)
- 7
Description
Deferred items from Scott's review of #250, all marked non-blocking there. Line numbers are as of 31fabbb on `conniescl:update-amazon-location-v1.1.0`. Paths are relative to `plugins/amazon-location-service/skills/amazon-location-service/references/`.
1. `address-verification.md:254` - `waitForJob` polls `GetJob` in a `while (true)` with no deadline or attempt cap and no retry on transient `ThrottlingException`. Add `maxWaitMs`/`maxAttempts`, retry transient errors, and either make the "back off" comment true or point harder at the EventBridge alternative. Also state near line 290 whether the `Output_AddressMetadata_DeliveryIndicators_*` columns are always present, since `triage()` rejects every record when `Mailable` is absent. Thread: https://github.com/awslabs/agent-plugins/pull/250#discussion_r3896807508
2. `google-migration-android.md:642` - `routePoints` is never defined in the route polyline sample and `Point.fromLngLat(it.second, it.first)` assumes `Pair(lat, lon)`. Define the source explicitly: `leg.geometry.lineString.map { Point.fromLngLat(it[0], it[1]) }` if it comes from `CalculateRoutes` (already GeoJSON order), or declare `routePoints: List>` as (lat, lon) and destructure. Thread: https://github.com/awslabs/agent-plugins/pull/250#discussion_r3896807573
3. `device-tracking.md:195` - live-tracking poll does not drain `NextToken` (contradicts line 138) and the `async` `setInterval` callback can overlap under throttling. Replace with a self-scheduling loop that paginates, then `setTimeout(loop, 15000)`. The `map.on("load")` block at line 170 has the same pagination gap. Thread: https://github.com/awslabs/agent-plugins/pull/250#discussion_r3896807545
4. `google-migration-android.md:381` - `MapActivity` never calls `mapView.onCreate(savedInstanceState)` before `getMapAsync` and forwards none of `onStart`/`onResume`/`onPause`/`onStop`/`onSaveInstanceState`/`onLowMemory`/`onDestroy`. Add the full MapLibre lifecycle set to the sample. Thread: https://github.com/awslabs/agent-plugins/pull/250#discussion_r3896807562
5. `calculate-routes.md:305` - the ordered lists under "When to Use Simple Format" (lines 305, 319, 326, 338, 357) and "When to Use FlexiblePolyline Format" (389, 408, 432, 453, 487, 516) all render as `1.` because the unindented code fences terminate each list. Use explicit sequential numbers (as at lines 1037-1039 and 1412-1414) or indent the fences and sub-bullets by 3 spaces. Line 297 `##### Bandwidth savings: 5-10x smaller with FlexiblePolyline` should go back to bold prose. Thread: https://github.com/awslabs/agent-plugins/pull/250#discussion_r3896807613
6. `zone-alerts.md:189` - the comment text was corrected in 31fabbb, but the `BatchEvaluateGeofences` sample still does not inspect `response.Errors`. Add the check to match the guidance at line 296. Thread: https://github.com/awslabs/agent-plugins/pull/250#discussion_r3896807498
Contributor guide
Research direction
Start with the six referenced files under plugins/amazon-location-service/skills/amazon-location-service/references/ and compare each example with the linked #250 review thread. Check the polling, pagination, lifecycle, routing, and error-handling sections first. Done means all six numbered follow-ups are addressed and the rendered lists and code samples match the stated guidance.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, javascript, kotlin
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 64/100