From 800527542b356dd3dfccdf4c1f0001dda95a1701 Mon Sep 17 00:00:00 2001 From: Oleksandr Bezdieniezhnykh Date: Fri, 26 Jun 2026 16:16:42 +0300 Subject: [PATCH] [AZ-1131] Sync traceability and ripple log for cycle 14 Co-authored-by: Cursor --- _docs/02_document/modules/tests_integration.md | 2 +- _docs/02_document/ripple_log_cycle14.md | 17 +++++++++++++++++ _docs/02_document/tests/traceability-matrix.md | 11 ++++++++++- _docs/_autodev_state.md | 8 ++++---- 4 files changed, 32 insertions(+), 6 deletions(-) create mode 100644 _docs/02_document/ripple_log_cycle14.md diff --git a/_docs/02_document/modules/tests_integration.md b/_docs/02_document/modules/tests_integration.md index 0357414..969efd4 100644 --- a/_docs/02_document/modules/tests_integration.md +++ b/_docs/02_document/modules/tests_integration.md @@ -69,7 +69,7 @@ Console application that runs end-to-end integration tests against a live API in ### Test isolation (AZ-493) -`Program.cs` runs `IntegrationTestDatabaseReset.EnsureCleanStateAsync()` at startup, before any test class executes. The hook truncates `route_regions`, `route_points`, `routes`, `regions`, `tiles` (in that FK-safe order, with `RESTART IDENTITY CASCADE`) so each run starts from a known empty state. The Postgres named volume in `docker-compose.yml` is intentionally persisted across `docker-compose down` cycles for fast iteration; the AZ-493 reset hook is what gives back per-run isolation in spite of that. +`Program.cs` runs `IntegrationTestDatabaseReset.EnsureCleanStateAsync()` at startup, before any test class executes. The hook truncates `route_regions`, `route_points`, `routes`, `regions`, `tiles` (in that FK-safe order, with `RESTART IDENTITY CASCADE`) so each run starts from a known empty state. The Postgres named volume in `docker-compose.tests.yml` is intentionally persisted across `docker compose down` cycles for fast iteration; the AZ-493 reset hook is what gives back per-run isolation in spite of that. Two guards protect against accidental truncate against a non-test database: diff --git a/_docs/02_document/ripple_log_cycle14.md b/_docs/02_document/ripple_log_cycle14.md new file mode 100644 index 0000000..f991df0 --- /dev/null +++ b/_docs/02_document/ripple_log_cycle14.md @@ -0,0 +1,17 @@ +# Ripple Log — Cycle 14 + +Task: AZ-1131 (align integration-test orchestration docs with `run-tests.sh`) + +## Docs updated directly (task scope) + +- `_docs/02_document/tests/environment.md` — § Test Execution: canonical `./scripts/run-tests.sh`, self-contained `docker-compose.tests.yml` Step 2 command +- `README.md` — Run-with-tests + integration-test sections +- `AGENTS.md` — removed stale dual-compose block; expanded `docker-compose.tests.yml` description + +## Import-graph ripple (Step 0.5) + +- `modules/tests_integration.md` — Postgres volume reference corrected from `docker-compose.yml` to `docker-compose.tests.yml` (stale after cycle 9 self-contained test stack split) + +## System-level / component docs + +- None — no API, schema, or runtime behavior change diff --git a/_docs/02_document/tests/traceability-matrix.md b/_docs/02_document/tests/traceability-matrix.md index 14fe198..ecf5fd9 100644 --- a/_docs/02_document/tests/traceability-matrix.md +++ b/_docs/02_document/tests/traceability-matrix.md @@ -225,7 +225,8 @@ | Cycle 11 — AZ-1123 perf compose documentation (deployment + test env docs) | doc-only (`containerization.md` compose overlays, `environment.md` perf cross-link) | 3/3 in-scope (AZ-1123 AC-1..AC-3); doc-verified at Step 13 | — | | Cycle 12 — AZ-1124 PT-10 gRPC stream perf (perf harness + unit) | 1 perf (PT-10) + 3 unit (`PerfBootstrapPt10Tests`) + integration bootstrap (`SatelliteProvider.IntegrationTests --run-pt10`) | 6/6 in-scope (AZ-1124 AC-1..AC-6); 1 AC gated at Step 15 (AC-3); 1 doc-verified at Step 13 (AC-5) | — | | Cycle 13 — AZ-1126 capturedAt DateTimeOffset (integration + unit + blackbox + contract patch) | 1 integration method (`UavUploadValidationTests.ItemCapturedAtOffsetLess_Returns400`) + 4 unit files (`UtcOffsetRequiredDateTimeOffsetConverterTests`, updated UAV validator/gate/handler tests) + 1 blackbox (BT-34 with 2 sub-cases) + `uav-tile-upload.md` v1.2.1 patch | 4/4 in-scope (AZ-1126 AC-1..AC-4); 1 doc-verified at Step 13 (AC-4); closes F-AZ810-2 | — | -| **Total** | **174** | **134/134 in-scope (100%); 3 ACs gated at Step 15 (2 AZ-504 + 1 AZ-1124 AC-3); 11 prior-cycle ACs doc-verified at Step 13 (2 cycle-7 + 8 cycle-8 + 1 AZ-1124 AC-5); 2 advisory non-tested (cycle-8 AZ-809 AC-9/AC-10)** | **8/8 (100%)** | +| Cycle 14 — AZ-1131 environment.md integration command (doc-only) | doc-only (`environment.md`, `README.md`, `AGENTS.md` integration-test orchestration) | 3/3 in-scope (AZ-1131 AC-1..AC-3); doc-verified at Step 13; smoke regression Step 11 | — | +| **Total** | **174** | **137/137 in-scope (100%); 3 ACs gated at Step 15 (2 AZ-504 + 1 AZ-1124 AC-3); 14 prior-cycle ACs doc-verified at Step 13 (2 cycle-7 + 8 cycle-8 + 1 AZ-1124 AC-5 + 3 AZ-1131); 2 advisory non-tested (cycle-8 AZ-809 AC-9/AC-10)** | **8/8 (100%)** | **Coverage shape notes (Cycle 5 — AZ-503 foundation):** - AZ-503 was split mid-cycle (Option C, autodev Step 10 batch 2): 7 of 12 original ACs land here; 5 (AC-5, AC-6, AC-9, AC-10, AC-12) are deferred to AZ-505 with a `Blocks` link in Jira and an entry in `_docs/02_tasks/_dependencies_table.md`. The deferred rows above are marked `◐ deferred → AZ-505` so the matrix surfaces the scope boundary explicitly. @@ -295,6 +296,14 @@ | AZ-1124 AC-4 | PT-10 slow-consumer smoke completes without `DeliveryError` | PT-10 `PT10_SLOW_CONSUMER=PASS` sub-check | ✓ | | AZ-1124 AC-5 | PT-10 documented in `performance-tests.md`; gRPC stream perf no longer Unverified | doc-state AC; verified at Step 13 | ✓ | | AZ-1124 AC-6 | PT-10 reuses `PerfBootstrap` / `JwtTokenFactory` / `GrpcTestHelpers` — no third JWT mint in shell | `PerfBootstrapPt10Tests` (unit — static review) | ✓ | +| AZ-1131 AC-1 | `environment.md` § Test Execution matches `run-tests.sh` Step 2 (`docker-compose.tests.yml` only) | doc-state AC; `rg` zero stale dual-compose matches; verified at Step 13 | ✓ | +| AZ-1131 AC-2 | `README.md` + `AGENTS.md` point to `./scripts/run-tests.sh` (no stale dual-compose) | doc-state AC; `rg` zero stale dual-compose matches; verified at Step 13 | ✓ | +| AZ-1131 AC-3 | No runtime change — smoke regression unchanged | `./scripts/run-tests.sh --smoke` Step 11 (EXIT:0) | ✓ | + +**Coverage shape notes (Cycle 14 — AZ-1131 environment.md integration command):** +- Documentation-only cycle — closes cycle 12/13 retro carry-over (stale `docker-compose.yml` + `docker-compose.tests.yml` dual-file command in operator docs while `run-tests.sh` uses self-contained `docker-compose.tests.yml`). +- No new blackbox, perf, or security scenarios. Step 11 smoke is regression evidence for AC-3. +- Step 14 (Security) and Step 15 (Performance) **skipped** — no code or compose behavior change (per cycle 11 precedent). **Coverage shape notes (Cycle 12 — AZ-1124 PT-10 gRPC stream perf):** - First gRPC **performance** scenario — closes cycle 9–11 retro carry-over where BT-32 / AZ-1074 functional coverage left stream latency `Unverified`. PT-10 reuses `GrpcTestHelpers`, `PerfBootstrap` JWT mint, and the standard 2-waypoint fixture; no new production RPC or proto change. diff --git a/_docs/_autodev_state.md b/_docs/_autodev_state.md index 10edc32..95dece5 100644 --- a/_docs/_autodev_state.md +++ b/_docs/_autodev_state.md @@ -2,12 +2,12 @@ ## Current Step flow: existing-code -step: 10 -name: Implement +step: 12 +name: Test-Spec Sync status: in_progress sub_step: - phase: 1 - name: parse + phase: 0 + name: awaiting-invocation detail: "" retry_count: 0 cycle: 14