Skill Tracer
Skills › Scientific Agent Skills › geomaster › review.md

review.md

53 lines · skills/geomaster/references/review.md at 5f2bc03

Open on GitHub
1# Review scope and sources
2
3Reviewed 2026-10-01. This skill contains broad geospatial references, not one package.
4Every preexisting reference was read. Invalid scientific shortcuts were corrected
5or replaced with bounded workflows; useful API fragments were retained where verified.
6

Review scope and sources

Reviewed 2026-10-01. This skill contains broad geospatial references, not one package. Every preexisting reference was read. Invalid scientific shortcuts were corrected or replaced with bounded workflows; useful API fragments were retained where verified.

Raw lines 1 to 6
7## Evidence boundaries
8
9- The isolated Python 3.13 suite passed 43 tests. Synthetic checks cover masked
10 indices/calibration, terrain with known planes, raster output metadata, classification
11 masks/labels/CRS, refusal to overwrite existing files, and corrected local recipes.
12- Public STAC GET searches at Planetary Computer, Earth Search and CDSE each returned
13 two Sentinel-2 L2A items plus next-page links. Separate PySTAC Client searches followed
14 pagination and bounded results to three items per catalog, checking collection/cloud
15 filters. These are metadata tests, not imagery or authenticated download tests.
16- A local ODC-STAC 0.5.3 load preserved raw DN values despite asset scale/offset metadata;
17 callers must calibrate explicitly once. Real local COG, GeoParquet and Zarr 2 round trips,
18 Dask raster/vector, Fiona, PyKrige, ESDA, MovingPandas, OSMnx and watershed checks passed.
19- Desktop QGIS/ArcPy/GRASS/SAGA, native GDAL, R/Julia/Java/Go/Rust, GPUs and real-scene
20 ML/physical calibration were not executed. Their examples are illustrative and
21 use referenced current interfaces; source review is not runtime validation.
22- No authenticated Earth Engine/CDS/Google/Mapbox/OpenWeather calls, service mutations,
23 cloud exports, training jobs, commercial image orders or pretrained weights were used.

Evidence boundaries

  • The isolated Python 3.13 suite passed 43 tests. Synthetic checks cover masked indices/calibration, terrain with known planes, raster output metadata, classification masks/labels/CRS, refusal to overwrite existing files, and corrected local recipes.
  • Public STAC GET searches at Planetary Computer, Earth Search and CDSE each returned two Sentinel-2 L2A items plus next-page links. Separate PySTAC Client searches followed pagination and bounded results to three items per catalog, checking collection/cloud filters. These are metadata tests, not imagery or authenticated download tests.
  • A local ODC-STAC 0.5.3 load preserved raw DN values despite asset scale/offset metadata; callers must calibrate explicitly once. Real local COG, GeoParquet and Zarr 2 round trips, Dask raster/vector, Fiona, PyKrige, ESDA, MovingPandas, OSMnx and watershed checks passed.
  • Desktop QGIS/ArcPy/GRASS/SAGA, native GDAL, R/Julia/Java/Go/Rust, GPUs and real-scene ML/physical calibration were not executed. Their examples are illustrative and use referenced current interfaces; source review is not runtime validation.
  • No authenticated Earth Engine/CDS/Google/Mapbox/OpenWeather calls, service mutations, cloud exports, training jobs, commercial image orders or pretrained weights were used.
Raw lines 7 to 24
25## Upstream contracts checked
27| Surface | Source and result |
28|---|---|
29| Core GIS | [GeoPandas](https://geopandas.org/en/stable/docs/reference.html), [PyProj](https://pyproj4.github.io/pyproj/stable/api/transformer.html), [Rasterio masks](https://rasterio.readthedocs.io/en/stable/topics/masks.html): axis order, CRS transforms, nodata and array dimensions |
30| Raster/COG | [GDAL COG](https://gdal.org/en/stable/drivers/raster/cog.html), [viewshed](https://gdal.org/en/stable/programs/gdal_viewshed.html): actual driver layout, projected coordinates and nodata limitation |
31| STAC | [PySTAC Client](https://pystac-client.readthedocs.io/en/latest/api.html), [CDSE](https://documentation.dataspace.copernicus.eu/APIs/STAC.html), [Earth Search](https://element84.com/earth-search/): bounded iterator, pages, collection and asset names |
32| Planetary Computer | [SDK signing source](https://github.com/microsoft/planetary-computer-sdk-for-python/blob/main/planetary_computer/sas.py): account/container SAS endpoint, expiry and item modifier |
33| Sentinel/Landsat | [S2 SR](https://developers.google.com/earth-engine/datasets/catalog/COPERNICUS_S2_SR_HARMONIZED), [Landsat L2](https://developers.google.com/earth-engine/datasets/catalog/LANDSAT_LC08_C02_T1_L2), [normalizedDifference](https://developers.google.com/earth-engine/apidocs/ee-image-normalizeddifference), [SAR](https://developers.google.com/earth-engine/guides/sentinel1): QA, reflectance scales, thermal products, negative values and power/dB |
34| Climate APIs | [CDS](https://cds.climate.copernicus.eu/how-to-api): PAT configuration, current API URL and data_format request |
35| Other HTTP APIs | [Google](https://developers.google.com/maps/documentation/geocoding/guides-v3/requests-geocoding), [Mapbox](https://docs.mapbox.com/api/search/geocoding/), [OpenWeather](https://openweathermap.org/api/current), [Overpass](https://wiki.openstreetmap.org/wiki/Overpass_API): current routes, query keys, response status/shape and traversal limits |
36| OSM services | [OSMnx](https://osmnx.readthedocs.io/en/stable/user-reference.html), [Nominatim policy](https://operations.osmfoundation.org/policies/nominatim/), [tile policy](https://operations.osmfoundation.org/policies/tiles/): 2.x names, free-flow times and service use boundaries |
37| Cloud arrays | [ODC](https://odc-stac.readthedocs.io/en/latest/_api/odc.stac.load.html), [Rioxarray](https://corteva.github.io/rioxarray/stable/rioxarray.html), [Xarray Zarr](https://docs.xarray.dev/en/stable/generated/xarray.Dataset.to_zarr.html), [Dask-GeoPandas](https://dask-geopandas.readthedocs.io/en/stable/docs/reference/api/dask_geopandas.GeoDataFrame.spatial_shuffle.html): chunks, spatial shuffle, explicit store format |
38| Specialist local APIs | [MovingPandas](https://movingpandas.readthedocs.io/en/main/api/trajectorysplitter.html), [PyKrige](https://geostat-framework.readthedocs.io/projects/pykrige/en/stable/generated/pykrige.ok.OrdinaryKriging.html), [SciPy MILP](https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.milp.html): current constructors, variance and integer constraints |
39| ML/GPU | [group splits](https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.GroupShuffleSplit.html), [SHAP](https://shap.readthedocs.io/en/latest/generated/shap.plots.beeswarm.html), [cuSpatial](https://docs.rapids.ai/api/cuspatial/stable/api_docs/spatial/), [PyTorch AMP](https://docs.pytorch.org/docs/stable/amp.html): output types, holdouts and current namespaces |
40| Native GIS | [QGIS](https://docs.qgis.org/4.2/en/docs/pyqgis_developer_cookbook/plugins/plugins.html), [ArcGIS viewshed](https://doc.esri.com/en/arcgis-pro/latest/tool-reference/spatial-analyst/viewshed.html), [GRASS](https://grass.osgeo.org/grass-stable/manuals/r.watershed.html), [SAGA](https://saga-gis.sourceforge.io/saga_tool_doc/9.12.1/ta_morphometry_0.html): actual processing contracts |
41| Languages | [sf](https://r-spatial.github.io/sf/reference/geos_unary.html), [terra](https://rspatial.github.io/terra/reference/extract.html), [ArchGDAL](https://yeesian.com/ArchGDAL.jl/latest/geometries/), [GeoStats](https://juliaearth.github.io/GeoStatsDocs/stable/interpolation/), [orb](https://pkg.go.dev/github.com/paulmach/orb/geo), [GeoRust](https://docs.rs/geo/latest/geo/), [Turf](https://turfjs.org/docs/api/interpolate): corrected method names, units and ownership boundaries |
43The executed core stack included GeoPandas 1.2.0, Shapely 2.1.2, PyProj 3.8.0,
44Rasterio 1.5.2, Rioxarray 0.23.0, Xarray 2026.9.0, Dask 2026.8.0,
45Dask-GeoPandas 0.5.0, scikit-learn 1.9.1, OSMnx 2.1.1, PySTAC Client 0.9.0,
46Planetary Computer 1.0.0, ODC-STAC 0.5.3, PyArrow 25.0.1, Zarr 3.4.0,
47MovingPandas 0.23.0, PyKrige 1.7.3, ESDA 2.10.0 and rio-cogeo 7.0.3.
48Upstream warnings concerned Rioxarray affine multiplication deprecation and the
49absent optional Stone Soup smoother; the tested MovingPandas operations do not use it.
51The core environment intentionally excludes heavy GPU/desktop/specialist stacks.
52A package being importable or a synthetic check passing does not validate real-world
53scientific accuracy, field transfer, calibration or service availability.

Upstream contracts checked

SurfaceSource and result
Core GISGeoPandas, PyProj, Rasterio masks: axis order, CRS transforms, nodata and array dimensions
Raster/COGGDAL COG, viewshed: actual driver layout, projected coordinates and nodata limitation
STACPySTAC Client, CDSE, Earth Search: bounded iterator, pages, collection and asset names
Planetary ComputerSDK signing source: account/container SAS endpoint, expiry and item modifier
Sentinel/LandsatS2 SR, Landsat L2, normalizedDifference, SAR: QA, reflectance scales, thermal products, negative values and power/dB
Climate APIsCDS: PAT configuration, current API URL and data_format request
Other HTTP APIsGoogle, Mapbox, OpenWeather, Overpass: current routes, query keys, response status/shape and traversal limits
OSM servicesOSMnx, Nominatim policy, tile policy: 2.x names, free-flow times and service use boundaries
Cloud arraysODC, Rioxarray, Xarray Zarr, Dask-GeoPandas: chunks, spatial shuffle, explicit store format
Specialist local APIsMovingPandas, PyKrige, SciPy MILP: current constructors, variance and integer constraints
ML/GPUgroup splits, SHAP, cuSpatial, PyTorch AMP: output types, holdouts and current namespaces
Native GISQGIS, ArcGIS viewshed, GRASS, SAGA: actual processing contracts
Languagessf, terra, ArchGDAL, GeoStats, orb, GeoRust, Turf: corrected method names, units and ownership boundaries

The executed core stack included GeoPandas 1.2.0, Shapely 2.1.2, PyProj 3.8.0, Rasterio 1.5.2, Rioxarray 0.23.0, Xarray 2026.9.0, Dask 2026.8.0, Dask-GeoPandas 0.5.0, scikit-learn 1.9.1, OSMnx 2.1.1, PySTAC Client 0.9.0, Planetary Computer 1.0.0, ODC-STAC 0.5.3, PyArrow 25.0.1, Zarr 3.4.0, MovingPandas 0.23.0, PyKrige 1.7.3, ESDA 2.10.0 and rio-cogeo 7.0.3. Upstream warnings concerned Rioxarray affine multiplication deprecation and the absent optional Stone Soup smoother; the tested MovingPandas operations do not use it.

The core environment intentionally excludes heavy GPU/desktop/specialist stacks. A package being importable or a synthetic check passing does not validate real-world scientific accuracy, field transfer, calibration or service availability.

Raw lines 25 to 53