mirror of
https://github.com/azaion/gps-denied-onboard.git
synced 2026-06-21 17:31:14 +00:00
Update autodev state documentation to reflect progress in the Decompose phase, changing the current step from 5 to 6. Revise sub-step details to indicate a shift to phase 2, focusing on module layout for the Satellite Service and Tile Manager, and awaiting confirmation before product task decomposition. Additionally, enhance problem documentation to clarify the original still-image sample limitations and introduce the Derkachi representative fixture for improved data validation. Update references to the Tile Manager and Satellite Service throughout the documentation for consistency.
This commit is contained in:
@@ -1,23 +1,24 @@
|
||||
# Cache And Tile Lifecycle
|
||||
# Tile Manager
|
||||
|
||||
## 1. High-Level Overview
|
||||
|
||||
**Purpose**: Manage offline service-source tiles, manifests, descriptor metadata, freshness/provenance checks, generated tile writes, and post-flight sync packaging.
|
||||
**Purpose**: Manage local tiles: service-source COGs, manifests, descriptor metadata, freshness/provenance checks, nadir-image orthorectification into generated tiles, generated tile writes, and post-flight package preparation.
|
||||
|
||||
**Architectural Pattern**: Repository + policy gate.
|
||||
|
||||
**Upstream dependencies**: Satellite Service cache packages, safety/anchor wrapper, camera ingest/calibration.
|
||||
|
||||
**Downstream consumers**: Satellite retrieval, anchor verification, FDR, post-flight sync.
|
||||
**Downstream consumers**: Satellite Service, anchor verification, FDR, post-flight sync.
|
||||
|
||||
## 2. Internal Interfaces
|
||||
|
||||
### Interface: `CacheRepository`
|
||||
### Interface: `TileManager`
|
||||
|
||||
| Method | Input | Output | Async | Error Types |
|
||||
|--------|-------|--------|-------|-------------|
|
||||
| `validate_cache` | `CacheValidationRequest` | `CacheValidationReport` | No | `ManifestInvalid`, `SignatureInvalid` |
|
||||
| `get_tile_window` | `TileWindowRequest` | `TileWindow` | No | `TileUnavailable`, `TileRejected` |
|
||||
| `orthorectify_frame` | `TileGenerationRequest` | `GeneratedTileCandidate` | Yes | `TileWriteRejected`, `FrameNotUsable` |
|
||||
| `write_generated_tile` | `GeneratedTileRequest` | `GeneratedTileRecord` | Yes | `TileWriteRejected`, `StorageFull` |
|
||||
| `package_sync` | `SyncPackageRequest` | `SyncPackage` | Yes | `PackageFailed` |
|
||||
|
||||
@@ -26,7 +27,7 @@
|
||||
| Query | Frequency | Hot Path | Index Needed |
|
||||
|-------|-----------|----------|--------------|
|
||||
| Tile by footprint/time/freshness | Per retrieval/anchor | Yes during relocalization | Spatial/time indexes |
|
||||
| Descriptor metadata by chunk | Per retrieval | Yes during relocalization | Chunk ID index |
|
||||
| Descriptor metadata by chunk | Per Satellite Service retrieval | Yes during relocalization | Chunk ID index |
|
||||
| Generated tile by mission/sector | Post-flight | No | Mission ID index |
|
||||
|
||||
### Caching Strategy
|
||||
@@ -53,6 +54,7 @@
|
||||
|---------|---------|
|
||||
| PostgreSQL + PostGIS | Manifest, spatial metadata, freshness queries, and generated-tile metadata |
|
||||
| GDAL/rasterio candidate | COG read/write |
|
||||
| OpenCV/GDAL geometry utilities | Nadir-frame orthorectification into generated COG tiles |
|
||||
| Cryptographic hash/signature library | Sidecar validation |
|
||||
|
||||
**Error Handling Strategy**:
|
||||
@@ -75,7 +77,7 @@
|
||||
|
||||
**Can be implemented in parallel with**: camera ingest, MAVLink integration.
|
||||
|
||||
**Blocks**: satellite retrieval, anchor verification, generated tile lifecycle.
|
||||
**Blocks**: Satellite Service retrieval, anchor verification, generated tile lifecycle.
|
||||
|
||||
## 7. Logging Strategy
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Test Specification — Cache And Tile Lifecycle
|
||||
# Test Specification — Tile Manager
|
||||
|
||||
## Acceptance Criteria Traceability
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
|
||||
### IT-03: Generated Tile Write
|
||||
|
||||
**Summary**: Verify generated tiles are written only when pose and frame quality gates pass.
|
||||
**Summary**: Verify nadir frames are orthorectified and written as generated tiles only when pose and frame quality gates pass.
|
||||
|
||||
**Traces to**: AC-8.4
|
||||
|
||||
@@ -111,7 +111,7 @@
|
||||
|
||||
### ST-02: Raw Frame Persistence Check
|
||||
|
||||
**Summary**: Verify cache lifecycle persists tiles, not raw frames.
|
||||
**Summary**: Verify Tile Manager persists tiles, not raw frames.
|
||||
|
||||
**Traces to**: AC-8.5
|
||||
|
||||
@@ -149,7 +149,7 @@
|
||||
|
||||
| Step | Action | Expected Result |
|
||||
|------|--------|-----------------|
|
||||
| 1 | Write generated candidate tile | COG + sidecar + PostGIS manifest row created |
|
||||
| 1 | Orthorectify and write generated candidate tile | COG + sidecar + PostGIS manifest row created |
|
||||
| 2 | Package post-flight sync | Manifest delta includes trust level and parent covariance |
|
||||
| 3 | Inspect package | No tile is marked trusted basemap by onboard runtime |
|
||||
|
||||
|
||||
Reference in New Issue
Block a user