Files
gps-denied-onboard/_docs/02_document/ripple_log_cycle3.md
T
Oleksandr Bezdieniezhnykh 940066bee2 chore: WIP pre-implement
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-26 17:09:13 +03:00

6.9 KiB
Raw Blame History

Ripple Log — Cycle 3 (End-of-Cycle Documentation Sync)

Produced as part of existing-code flow Step 13 (Update Docs, document skill Task mode). Source: _docs/_autodev_state.md (cycle: 3). Date: 2026-05-26.

Input set

The 8 task specs in _docs/02_tasks/done/ whose mtime falls inside cycle 3 (2026-05-22 .. 2026-05-23):

Task Title Surface
AZ-836 TlogRouteExtractor (Epic AZ-835 C1) NEW replay_input/tlog_route.py, NEW _types/route.py (RouteSpec)
AZ-838 SatelliteProviderRouteClient + seed_route.py CLI (Epic AZ-835 C2) NEW components/c11_tile_manager/route_client.py, NEW tests/fixtures/derkachi_c6/seed_route.py
AZ-839 operator_pre_flight_setup real fixture (Epic AZ-835 C3) REWRITE tests/e2e/replay/conftest.py::operator_pre_flight_setup, NEW PopulatedC6Cache
AZ-840 E2E orchestrator test (Epic AZ-835 C4) NEW tests/e2e/replay/test_az835_e2e_real_flight.py
AZ-777 Derkachi C6 reference fixture (Phases 1+2; Phases 35 superseded by AZ-839/AZ-841/AZ-842) MODIFY c11_tile_manager/tile_downloader.py (inventory + slippy-map paths), docker-compose.test.jetson.yml, .env.test.example; NEW tests/fixtures/derkachi_c6/{seed_region.py,bbox.yaml,README.md}, NEW tests/e2e/satellite_provider/test_smoke.py
AZ-845 Relocate RouteSpec → _types/route.py (refactor 02 anchor) NEW _types/route.py; MODIFY replay_input/tlog_route.py, replay_input/__init__.py, components/c11_tile_manager/route_client.py import
AZ-846 Refresh module-layout.md cycle-3 entries (refactor 02) MODIFY _docs/02_document/module-layout.md ONLY
AZ-847 Widen AZ-270 lint to enforce full rule-9 allow-list (refactor 02) MODIFY tests/unit/test_az270_compose_root.py ONLY

Task Step 0.5 — Import-graph ripple

Reverse-dependency scan for the 4 production source changes:

Changed file Importers (production source) Affected components
_types/route.py (NEW) replay_input/tlog_route.py, replay_input/__init__.py (re-export), components/c11_tile_manager/route_client.py, components/c11_tile_manager/__init__.py (re-export) c11_tile_manager, shared/replay_input, shared/_types
replay_input/tlog_route.py (NEW) replay_input/__init__.py (re-export) shared/replay_input
components/c11_tile_manager/route_client.py (NEW) components/c11_tile_manager/__init__.py (re-export) c11_tile_manager
components/c11_tile_manager/tile_downloader.py (MODIFIED — _INVENTORY_PATH, _TILES_PATH, default per-tile byte estimate) runtime_root/c11_factory.py::build_tile_downloader (constructor unchanged; endpoint constants are module-internal) c11_tile_manager

No surprise ripple to other components. All edges land inside c11_tile_manager + shared (_types/, replay_input/), which is consistent with the AZ-507 cross-component allow-list (AZ-845 fixes the previous violation; AZ-846 registers the new files; AZ-847 widens the lint to keep it that way).

Refresh set for Task Steps 14

Update level This cycle's refresh set Status
Task Step 1 — Module docs This project's Plan uses component-level granularity; no _docs/02_document/modules/ folder. Authoritative module-ownership lives in _docs/02_document/module-layout.md. Already refreshed by AZ-846 — sections c11_tile_manager Internal, shared/replay_input, _types/ updated to register route_client.py, tlog_route.py, route.py. No further action.
Task Step 2 — Component docs components/12_c11_tilemanager/description.md (3rd interface + endpoint adaptation), contracts/c11_tilemanager/tile_downloader.md (endpoint paths), contracts/c11_tilemanager/route_client.md (NEW). Updated this session.
Task Step 3 — System-level docs architecture.md § 5 satellite-provider sub-section (inventory contract + route-driven seeding); data_model.md register RouteSpec / RouteSeedResult / PopulatedC6Cache DTOs; system-flows.md F1 pre-flight cache build (route-driven variant); contracts/replay/replay_protocol.md Invariant 12 sub-section for AZ-839 / AZ-840. Updated this session.
Task Step 4 — Problem-level docs _docs/00_problem/input_data/flight_derkachi/README.md (point at tests/fixtures/derkachi_c6/ + license attribution). No AC / restriction / data_parameters drift this cycle. Updated this session.

Files actually changed this session

  • _docs/02_document/components/12_c11_tilemanager/description.md — add SatelliteProviderRouteClient as a third C11 interface; update TileDownloader external API rows to the inventory + slippy-map contract; add a Cycle-3 callout to § 1 Overview.
  • _docs/02_document/contracts/c11_tilemanager/tile_downloader.md — replace the GET /api/satellite/tiles?bbox=…&zoom=… row with the inventory-POST + slippy-map-GET row pair; bump version.
  • _docs/02_document/contracts/c11_tilemanager/route_client.md — NEW contract for SatelliteProviderRouteClient.seed_route.
  • _docs/02_document/contracts/replay/replay_protocol.md — append AZ-839 / AZ-840 sub-section to Invariant 12 covering the route-driven operator_pre_flight_setup fixture + PopulatedC6Cache.
  • _docs/02_document/architecture.md — append a Cycle-3 sub-section to § 5 satellite-provider integration noting the actual inventory-based read path + the route-driven seeding flow (no new ADR).
  • _docs/02_document/data_model.md — register RouteSpec, RouteSeedResult, PopulatedC6Cache as cross-component DTOs.
  • _docs/02_document/system-flows.md — extend F1 (pre-flight cache build) with the route-driven variant (tlog → RouteSpec → satellite-provider Route API → populated C6 via inventory + slippy-map).
  • _docs/00_problem/input_data/flight_derkachi/README.md — append "Derkachi C6 reference seeding" section pointing at tests/fixtures/derkachi_c6/{seed_region.py,seed_route.py,bbox.yaml,README.md} + the license-attribution caveat for Google Maps imagery.
  • _docs/02_document/ripple_log_cycle3.md — this file (NEW).
  • _docs/_autodev_state.md — sub_step progression through Step 13 task phases.

Out of scope (carried)

  • tests/ doc updates beyond what Step 12 already produced (_docs/02_document/tests/blackbox-tests.md, traceability-matrix.md — modified by Step 12 in this cycle). Test-spec sync owns those.
  • Cycle-2 doc carry-overs OUTSIDE the three module-layout.md sections AZ-846 touched (replay_api/ Per-Component Mapping entry, cli/render_map.py, cli/replay_api_entrypoint.py, helpers/gps_compare.py, helpers/accuracy_report.py). Tracked in cycle-3 retrospective; require a separate follow-up doc task with its own AZ ID.
  • Untracked _docs/02_document/system-overview.md (created 2026-05-24 outside the cycle-3 task surface). Reviewed; content is accurate at the abstraction level it presents; no edit required.