Files
Oleksandr Bezdieniezhnykh fcd494f67e [AZ-812] Region API: rename Latitude/Longitude → Lat/Lon (OSM convention)
Mirror of AZ-794 (inventory z/x/y rename). RequestRegionRequest.cs renames C#
props Latitude→Lat / Longitude→Lon and adds [JsonPropertyName("lat"/"lon")] so
the wire format is unambiguous under the AZ-795 strict-parsing stack
(UnmappedMemberHandling.Disallow → legacy {"latitude":..,"longitude":..} now
returns HTTP 400 instead of silently coercing).

Updates all in-repo consumers: API handler (Program.cs), integration tests
(Models.cs, RegionTests.cs, IdempotentPostTests.cs, SecurityTests.cs), the
performance harness (run-performance-tests.sh PT-03/04/05/07), and module
docs (common_dtos.md, api_program.md; system-flows.md F2 already used
lat/lon). New RegionFieldRenameTests.cs covers AC-4 both directions (new
format → 200, legacy format → 400). Smoke green; no regressions.

region-request.md contract doc not bumped here — AZ-808 publishes v1.0.0
directly with the post-rename names per AZ-812 coordination clause.

Batch 01 of cycle 8. PASS_WITH_WARNINGS (one Low DRY finding for follow-up
test-helper consolidation; details in
_docs/03_implementation/reviews/batch_01_cycle8_review.md).

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-22 15:54:53 +03:00

3.5 KiB

Batch Report

Batch: 01 (cycle 8) Tasks: AZ-812 (Region API field rename Latitude/Longitude → Lat/Lon, OSM convention) Date: 2026-05-22

Task Results

Task Status Files Modified Tests AC Coverage Issues
AZ-812_region_field_rename_to_osm Done 11 files (1 new) smoke pass (mode=smoke, exit 0) 6/6 ACs covered 1 Low (DRY in test helper)

AC Test Coverage: All covered (6/6)

AC Coverage
AC-1 DTO RequestRegionRequest uses Lat/Lon + [JsonPropertyName("lat"/"lon")] — verified by reading SatelliteProvider.Common/DTO/RequestRegionRequest.cs.
AC-2 Wire format {"lat":..,"lon":..} end-to-end — exercised by RegionFieldRenameTests.NewLatLonFormat_Returns200, RegionTests.RunRegionProcessingTest_* (200m/400m/500m), IdempotentPostTests, SecurityTests, scripts/run-performance-tests.sh PT-03..PT-07.
AC-3 RegionTests.cs happy-path tests pass against the new wire format — confirmed by smoke (RegionTests.RunRegionProcessingTest_200m_Zoom18 green).
AC-4 Old {"latitude":..,"longitude":..} returns HTTP 400 with UnmappedMemberHandling.DisallowRegionFieldRenameTests.OldLatitudeLongitudeFormat_Returns400 exercises this; smoke green. New {"lat":..,"lon":..} returns HTTP 200 — RegionFieldRenameTests.NewLatLonFormat_Returns200; smoke green.
AC-5 Docs updated: _docs/02_document/modules/common_dtos.md (added RequestRegionRequest section, disambiguated RegionRequest as internal queue type), _docs/02_document/modules/api_program.md (relocated RequestRegionRequest from Local Records to Common/DTO), _docs/02_document/system-flows.md::F2 (verified — already used lat, lon).
AC-6 _docs/02_document/contracts/api/region-request.md does NOT yet exist — AZ-808 (region validator, queued for Batch 2) will publish v1.0.0 directly with the post-rename lat/lon names per the spec's coordination clause. No version bump needed here.

Code Review Verdict: PASS_WITH_WARNINGS

See _docs/03_implementation/reviews/batch_01_cycle8_review.md for the single Low finding (test-helper DRY).

Auto-Fix Attempts: 0

Stuck Agents: None

Files Modified

Path Kind
SatelliteProvider.Common/DTO/RequestRegionRequest.cs DTO rename + JsonPropertyName
SatelliteProvider.Api/Program.cs Handler property access
SatelliteProvider.IntegrationTests/Models.cs Test-side DTO mirror
SatelliteProvider.IntegrationTests/RegionTests.cs Happy-path uses Lat/Lon
SatelliteProvider.IntegrationTests/IdempotentPostTests.cs JSON payload lat/lon
SatelliteProvider.IntegrationTests/SecurityTests.cs JSON payload lat/lon
SatelliteProvider.IntegrationTests/RegionFieldRenameTests.cs NEW — AC-4 positive + negative
SatelliteProvider.IntegrationTests/Program.cs Wire RegionFieldRenameTests into smoke + full suites
scripts/run-performance-tests.sh PT-03/04/05/07 JSON bodies → lat/lon
_docs/02_document/modules/common_dtos.md Documentation
_docs/02_document/modules/api_program.md Documentation

Tracker

  • AZ-812: To Do → In Progress (set at Batch 1 start) → In Testing (set at Batch 1 commit, post-smoke).

Next Batch

Batch 2: AZ-811 + AZ-808 — lat/lon GET endpoint validator (AZ-811) + region-request validator (AZ-808). AZ-808's contract doc region-request.md will be published at v1.0.0 with lat/lon per AZ-812's coordination clause.