SASKATCHEWAN FORMATION LIMITS AND EROSIONAL SURFACES

New geometry acquired from the official Saskatchewan GIS services. Original
regional models and their cut-mesh support boundaries have not been modified.

DELIVERABLES
sw_published_edges_projected.geojson: FeatureCollection in EPSG:26913, matching
the current southwest model. 353 features: 159 published zero-edge features
for 36 named units; 194 elevation contours on five named unconformities.

se_published_edges_projected.geojson: FeatureCollection in EPSG:2957, matching
the current southeast model. 535 features: 292 published zero-edge features
for 45 named units; 243 elevation contours on five named unconformities.

*_published_edges.geojson: equivalent geographic-coordinate GeoJSON, EPSG:4326.
*_published_edges.json: projected polyline segments plus full layer catalogue.
geological_evidence.json: interpretation rules, geological source register,
and erosional-surface catalogue.
acquisition_manifest.json: every source layer, URL, cached file and SHA-256.
validation_summary.json: geometry and elevation checks and feature counts.
se_edge_example.png/.svg and sw_edge_example.png/.svg: original maps drawn
from the official GIS data. These are illustrative selections, not all edges.

GEOMETRY CONTRACT
Projected GeoJSON properties include unit_slug, model_unit_slugs,
related_model_unit_slugs, source_unit, edge_type, genetic_interpretation,
confidence, source_id, source_feature_id, source_url, source_attributes,
elevation_m, elevation_basis, source_crs and project_clip.

Published zero-edge coordinates are XY only. Source ZLEVEL values are retained
in raw attributes but deliberately not used as z or thickness: some zero-edge
layers have arbitrary values such as 0.4 or 1.6 and Unknown Line Type labels.

Published unconformity-contour coordinates are XYZ, with the published contour
elevation. No modern geodetic vertical datum realization is claimed. A contour
traces one elevation on an erosional surface; it is not the perimeter of erosion.

Only exact formation-name matches enter model_unit_slugs. Related matches
serve contextual filtering, not automatic equivalence. Total-formation edges
must not silently become member edges. An absent regional line intersection
does not establish absence of the formation.

For 3D display, drape a zero edge onto a genuinely supported model top only
where valid interpolation is available. Otherwise keep an explicit reference
display or omit the unsupported z part. Never place edges at zero elevation
because the source layer is called Zero Edge. The 2D geological edge remains
valuable even where the existing model does not support a structural elevation.

GENETIC CLASSIFICATION
All newly acquired zero edges remain published_zero_edge with unspecified
genesis. Depositional pinchout, erosional truncation, salt dissolution and
reservoir-quality change are separate interpretations. None is inferred merely
from an irregular line or a thinning grid. Geological evidence may constrain a
local segment, but that interpretation must retain its own supporting record.

The five newly acquired contour surfaces are Sub-Mesozoic, Sub-Cantuar,
Sub-Success, Sub-Lea Park and Top Lower Paleozoic unconformities. Existing SW
GSC surfaces also include Sub-Mississippian and Sub-Quaternary unconformities;
those have not been replaced by these contour data.

PROVENANCE AND SCALE
Official GIS services: Economy/Mesozoic, Economy/Mississippian,
Economy/Devonian and Economy/Lower_Paleozoic at gis.saskatchewan.ca.
Source map credit: Marsh, A. and Love, M. (2014), SGS Open File 2014-1,
Regional Stratigraphic Framework of the Phanerozoic in Saskatchewan, 156 maps.
The layer metadata describes modified 2 km kriged grids. Vector vertex spacing
does not establish equivalent subsurface positional accuracy. Attribution must
retain layer and retrieval date. The GeoAtlas describes its data as licensed
under the Saskatchewan Standard Unrestricted Use Data License v2.0.

REPRODUCTION
The acquisition script downloads missing metadata and complete feature sets
using ID-chunked queries, checks returned counts, and caches the original
projected responses. Cached reruns are offline. --refresh requests fresh data.
Environment invocation:
PYTHONPATH=/tmp/regional-pool-gis "$CODEX_PRIMARY_RUNTIME_PYTHON" acquire_sk_edges.py
Dependencies: pyproj, shapely. Example-map script also needs numpy/matplotlib.
Run build_evidence.py to rebuild the evidence register and example maps.

This directory is a data/research handoff. Viewer integration, PDF updates,
download repackaging and public deployment are handled separately by the parent.
