Oleksandr Bezdieniezhnykh
5d84d2839e
[AZ-505] Test-spec sync + task-mode doc updates for cycle 6
...
ci/woodpecker/push/01-test Pipeline was successful
ci/woodpecker/push/02-build-push Pipeline was successful
Step 12 (Test-Spec Sync, cycle-update mode):
- blackbox-tests.md: append BT-23..BT-26 for AZ-505's new
observable behaviors (inventory order/shape; leaflet
most-recent via location_hash; HTTP/2 multiplex over TLS+ALPN;
request validation).
- performance-tests.md: append PT-09 (inventory p95 ≤ 1000ms /
2500 tiles); records cycle-6 measured p95=66ms; documents
promotion path to scripts/run-performance-tests.sh if budget
ever tightens.
- traceability-matrix.md: resolve the 5 AZ-503 deferrals
(AC-5/6/9/10/12) by pointing at AZ-505 test names + add 7
AZ-505 AC rows (AC-1..AC-7) + bump totals (90 -> 94 tests,
56/56 -> 63/63 in-scope) + add cycle-6 coverage shape notes
(budget relaxation rationale, voting-filter deferral note,
TLS+ALPN pivot, NFR propagation).
Step 13 (Update Docs, task mode):
- common_dtos.md: add 5 new TileInventory DTOs.
- common_interfaces.md: add ITileService.GetInventoryAsync.
- services_tile_service.md: document TileService.GetInventoryAsync
steps + the XOR-validation-in-handler note.
- dataaccess_migrator.md: bump migration count 14 -> 15;
describe migration 015 (AZ-505 leaflet covering index, lock
window, INCLUDE-list trade-off).
- system-flows.md: add F7 (Leaflet Tile Serving, AZ-310 +
AZ-505 location_hash rewire + TLS+ALPN) and F8 (Tile
Inventory Bulk Lookup) with sequence diagrams, validation
surface, and AC-4 perf evidence. Update Flow Inventory +
Dependencies tables accordingly.
- glossary.md: add "Tile Inventory" entry pointing at the
v1.0.0 contract.
- ripple_log_cycle6.md: new file — exhaustive reverse-dependency
analysis confirms zero stale downstream module docs.
Advance autodev state from step 11 -> 14 (skipping 12+13 as
completed in this commit; auto-chain through Step 14 = Security
Audit optional gate).
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-12 22:29:22 +03:00
Oleksandr Bezdieniezhnykh
61612044fb
[AZ-503] [AZ-504] Cycle 5 Steps 11-15 sync
...
Wrap up cycle 5 verification + documentation:
- Steps 10/11 wrap-up reports (implementation_completeness +
implementation_report) for the AZ-503-foundation + AZ-504 batch.
- Step 12 test-spec sync: AZ-503-foundation/AZ-504 ACs appended;
AZ-505 deferred ACs recorded.
- Step 13 update-docs: architecture, data-model, glossary, module-
layout, uav-tile-upload contract (v1.1.0), DataAccess + Services
+ Tests module docs synced; new common_uuidv5.md module doc.
- Step 14 security audit: PASS_WITH_WARNINGS; 0 new Critical/High;
2 new Low informational (F1 flightId provenance, F2 pgcrypto
deploy gap).
- Step 15 performance test: PASS_WITH_INFRA_WARNINGS; PT-08
passed twice (AZ-504 fix verified); PT-01/02 failed due to
recurring local Docker/colima DNS cold-start (not an app
regression). Cycle-3 perf-harness leftover stays OPEN with
replay #5 documented.
- Autodev state moved to Step 16 (Deploy).
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-12 18:01:27 +03:00
Oleksandr Bezdieniezhnykh
e3cd388577
[AZ-487] [AZ-488] docs: cycle 2 doc sync (task mode)
...
ci/woodpecker/push/01-test Pipeline was successful
ci/woodpecker/push/02-build-push Pipeline was successful
Step 13 (Update Docs) for cycle 2. Most cross-cutting docs were
already updated during Step 10 (architecture.md, glossary.md,
components/03_tile_downloader, modules/api_program.md, data_model.md,
contracts/api/uav-tile-upload.md). This commit completes the remaining
module-level + module-layout updates and writes the cycle-2 ripple log.
* modules/common_configs.md: + UavQualityConfig section and
appsettings-section row (UavQuality).
* modules/common_dtos.md: + UavTileMetadata, UavTileBatchMetadataPayload,
UavTileBatchUploadResponse, UavTileUploadResultItem, UavTileUploadStatus,
UavTileRejectReasons (closed enumeration v1.0.0).
* module-layout.md: refresh Common (+ UavQualityConfig + UAV DTOs),
TileDownloader (+ UavTileQualityGate, UavTileUploadHandler, +
SixLabors.ImageSharp 3.1.11 PackageReference), and WebApi (+
Authentication/*, DTOs/UavTileBatchUploadRequest, + JwtBearer 8.0.21
PackageReference). Updates the "Last Updated" stamp to cycle 2.
* modules/tests_unit.md: replace the obsolete "only a dummy test"
description; add cycle-2 AZ-487 / AZ-488 test classes
(AuthenticationServiceCollectionExtensionsTests, JwtTokenFactoryTests,
UavTileQualityGateTests, UavTileUploadHandlerTests, UavTileFilePathTests,
PermissionsRequirementTests) + new ProjectReference / package
references.
* modules/tests_integration.md: + JwtIntegrationTests, UavUploadTests
(incl. wall-clock-seeded coordinate counter rationale from the Step 11
fix), and the StubAndErrorContractTests update for the removed 501
stub.
* ripple_log_cycle2.md (new): cycle-2 reverse-dependency scan results
showing every importer of the new symbols resolves inside the three
already-updated components (WebApi, TileDownloader, Common). No
unexpected ripple, no heuristic fallback needed.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-12 00:04:05 +03:00
Oleksandr Bezdieniezhnykh
7c37636fdf
[AZ-373] Refactor C20: drop MapsVersion from new writes (option a)
...
- Stop writing "downloaded_YYYY-MM-DD" into tiles.maps_version: new rows
bind @MapsVersion to NULL via TileService.BuildTileEntity.
- Retain the tiles.maps_version column (coderule.mdc forbids unprompted
column drops); pre-existing rows keep their values for forensics.
- Remove MapsVersion property from DownloadTileResponse (API wire shape)
and TileMetadata (internal DTO); OpenAPI schema regenerates from the
DTO via Swashbuckle.
- Add 3 AC tests in TileServiceTests covering the captured-entity write
(AC-1) and the DTO/wire-shape removal (AC-2).
- Update integration-test local DTO + console output; refresh docs in
common_dtos.md, services_tile_service.md, data_model.md.
- Archive AZ-373 task file: todo/ -> done/.
174 unit + 5 smoke pass.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-11 04:05:40 +03:00
Oleksandr Bezdieniezhnykh
b0fffa6d42
[AZ-284] Autodev baseline + testability refactor
...
Phase A baseline outputs from /autodev (Steps 1-5):
- Problem & solution docs (_docs/00_problem, _docs/01_solution)
- Codebase documentation (_docs/02_document) incl. architecture,
module-layout, glossary, system-flows, baseline compliance scan
- Test specs (blackbox, performance, resilience, security, resource,
traceability matrix)
- Test task decomposition (_docs/02_tasks/todo): AZ-285..AZ-290
- Testability refactor (_docs/04_refactoring/01-testability-refactoring):
- TC-01 Move DownloadedTileInfoV2 + new ExistingTileInfo to Common.DTO
- TC-02 Replace dead ISatelliteDownloader API with real signatures
- TC-03 GoogleMapsDownloaderV2 implements ISatelliteDownloader
- TC-04 TileService depends on ISatelliteDownloader (mockable)
- TC-05 DI + endpoints use ISatelliteDownloader
- Test runner scripts (scripts/run-tests.sh, run-performance-tests.sh)
- Autodev state pointer (_docs/_autodev_state.md)
Prepares the codebase for AZ-285..AZ-290 unit/integration test work.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-10 04:44:08 +03:00