Add demo raster workflow smoke
GeoIntel CI / docs-smoke (push) Has been cancelled
GeoIntel CI / contract-smoke (push) Has been cancelled

This commit is contained in:
Codex
2026-06-23 01:47:40 +02:00
parent e64600b4b0
commit 7b093c0838
8 changed files with 290 additions and 2 deletions
+34
View File
@@ -1,3 +1,37 @@
## Sprint 98 demo raster workflow smoke (2026-06-23)
Changed:
- Added `scripts/verify_demo_raster_workflow.sh`, a browser-facing runtime smoke for the seeded `demo_context_raster.tif` fixture.
- Added the new smoke to readiness syntax checks.
- Hardened `RasterOperationsService.tile` so tile manifest bounds accept both Rasterio tuple bounds and object bounds.
- Updated `backend/tests/test_raster_operations_service.py` to cover tuple-based window bounds.
- Added `backend/tests/test_sprint98_raster_workflow_smoke.py`.
- Updated `scripts/README.md` and `CHANGELOG.md`.
Validation:
- RED: `python -m pytest backend\tests\test_sprint98_raster_workflow_smoke.py -q` failed before implementation because `scripts/verify_demo_raster_workflow.sh` did not exist.
- `python -m pytest backend\tests\test_sprint98_raster_workflow_smoke.py backend\tests\test_readiness_gate.py -q` passed: 14 tests.
- `bash -n scripts/verify_demo_raster_workflow.sh` passed.
- Live diagnostic run of `bash scripts/verify_demo_raster_workflow.sh http://192.168.10.150:1202` showed inspect, preview and stats passed, then raster tile failed with HTTP 500.
- Tower backend logs identified the root cause: `rasterio.windows.bounds(...)` returned a tuple, while tile manifest generation expected `.left/.bottom/.right/.top` attributes.
- RED: `python -m pytest backend\tests\test_raster_operations_service.py::test_raster_tile_returns_manifest_payload -q` reproduced the live `AttributeError` after updating the fixture to tuple bounds.
- `python -m pytest backend\tests\test_raster_operations_service.py::test_raster_tile_returns_manifest_payload backend\tests\test_sprint98_raster_workflow_smoke.py -q` passed: 2 tests.
- `python -m compileall backend/app` passed.
- `python -m pytest -q` from `backend/` passed: 321 tests.
- `cd frontend && npm run typecheck` passed.
- `cd frontend && npm run build` passed.
- `bash scripts/run_readiness_check.sh` passed.
- `cd backend && python -m alembic heads` passed: `202606120900 (head)`.
- `cd backend && python -m alembic upgrade head --sql` passed.
- `bash -n scripts/live_migration_smoke.sh` passed.
Limitations:
- The raster smoke creates a small tile set each run. It is appropriate for local/runtime validation, not high-volume benchmarking.
- The smoke intentionally does not run AI inference or external imagery/provider fetching.
Next recommended pass:
- Run full readiness, redeploy, then verify the raster smoke live against `http://192.168.10.150:1202`.
## Sprint 97 demo raster fixture workflow (2026-06-23)
Changed: