mapsmith 0.6.0__tar.gz → 0.6.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {mapsmith-0.6.0 → mapsmith-0.6.1}/.zenodo.json +1 -1
- {mapsmith-0.6.0 → mapsmith-0.6.1}/CHANGELOG.md +39 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/CITATION.cff +1 -1
- {mapsmith-0.6.0 → mapsmith-0.6.1}/PKG-INFO +13 -12
- {mapsmith-0.6.0 → mapsmith-0.6.1}/README.md +12 -11
- {mapsmith-0.6.0 → mapsmith-0.6.1}/docs/manifest-vocabulary.md +5 -4
- {mapsmith-0.6.0 → mapsmith-0.6.1}/examples/01_verified_geoprocessing.ipynb +25 -25
- {mapsmith-0.6.0 → mapsmith-0.6.1}/examples/02_terrain_hydrology.ipynb +36 -36
- {mapsmith-0.6.0 → mapsmith-0.6.1}/examples/03_validated_plans.ipynb +23 -23
- {mapsmith-0.6.0 → mapsmith-0.6.1}/pyproject.toml +1 -1
- {mapsmith-0.6.0 → mapsmith-0.6.1}/server.json +3 -3
- {mapsmith-0.6.0 → mapsmith-0.6.1}/site/build.py +54 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/site/index.template.html +1 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/src/mapsmith/__init__.py +1 -1
- {mapsmith-0.6.0 → mapsmith-0.6.1}/src/mapsmith/antimeridian.py +109 -19
- {mapsmith-0.6.0 → mapsmith-0.6.1}/src/mapsmith/engines/vector.py +13 -2
- {mapsmith-0.6.0 → mapsmith-0.6.1}/src/mapsmith/grid.py +8 -5
- {mapsmith-0.6.0 → mapsmith-0.6.1}/src/mapsmith/provenance.py +5 -5
- {mapsmith-0.6.0 → mapsmith-0.6.1}/tests/data/manifest-v1.schema.json +29 -4
- {mapsmith-0.6.0 → mapsmith-0.6.1}/tests/data/manifest_spec_validator.py +39 -1
- {mapsmith-0.6.0 → mapsmith-0.6.1}/tests/test_failure_manifest.py +4 -2
- {mapsmith-0.6.0 → mapsmith-0.6.1}/tests/test_redaction.py +56 -54
- {mapsmith-0.6.0 → mapsmith-0.6.1}/tests/test_showcase.py +36 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/tests/test_summarize_points_in_polygons.py +71 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/tests/test_verify.py +18 -4
- {mapsmith-0.6.0 → mapsmith-0.6.1}/.dockerignore +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/.gitignore +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/CLAUDE.md +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/CONTRIBUTING.md +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/Dockerfile +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/LICENSE +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/MANIFESTO.md +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/SECURITY.md +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/TRADEMARKS.md +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/docker-compose.yml +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/docs/argleton-run.json +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/docs/benchmarks.md +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/docs/catalog-entry-spec.md +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/examples/README.md +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/examples/fixtures/mount_st_helens_dem.tif +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/funding.json +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/glama.json +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/schema/operation.schema.json +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/src/mapsmith/catalog.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/src/mapsmith/datum.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/src/mapsmith/discovery_log.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/src/mapsmith/engines/__init__.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/src/mapsmith/engines/dispatch.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/src/mapsmith/engines/duckdb_engine.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/src/mapsmith/engines/esri.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/src/mapsmith/engines/geodesy.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/src/mapsmith/engines/linework.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/src/mapsmith/engines/network.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/src/mapsmith/engines/raster.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/src/mapsmith/engines/sampling.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/src/mapsmith/engines/sedona_engine.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/src/mapsmith/engines/spatial_stats.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/src/mapsmith/engines/summaries.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/src/mapsmith/engines/whitebox_engine.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/src/mapsmith/gdal_policy.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/src/mapsmith/jobs.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/src/mapsmith/lineage.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/src/mapsmith/plans/__init__.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/src/mapsmith/plans/executor.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/src/mapsmith/plans/models.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/src/mapsmith/plans/registry.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/src/mapsmith/plans/validator.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/src/mapsmith/preview.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/src/mapsmith/readers.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/src/mapsmith/retrieval.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/src/mapsmith/server.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/src/mapsmith/sql_policy.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/src/mapsmith/stacks.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/src/mapsmith/ui.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/src/mapsmith/verify.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/src/mapsmith/workspace.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/tests/conftest.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/tests/data/discovery_queries.json +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/tests/test_ambiguous_layer.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/tests/test_antimeridian.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/tests/test_band_math.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/tests/test_catalog.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/tests/test_catalog_applicability.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/tests/test_catalog_entry_spec.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/tests/test_catalog_retrieval.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/tests/test_centroid_convert.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/tests/test_clip_reclassify_raster.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/tests/test_contours_and_cost.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/tests/test_dashboard.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/tests/test_datum.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/tests/test_describe_raster.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/tests/test_discovery_contract.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/tests/test_discovery_log.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/tests/test_discovery_report.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/tests/test_duckdb_sandbox.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/tests/test_engines.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/tests/test_environment.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/tests/test_gdal_policy.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/tests/test_geodesy.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/tests/test_geoparquet2.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/tests/test_grid_registration.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/tests/test_lineage.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/tests/test_linework.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/tests/test_measure_area.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/tests/test_merge_simplify.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/tests/test_nearest_explode.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/tests/test_network.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/tests/test_overlay_dissolve.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/tests/test_path_containment.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/tests/test_plans.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/tests/test_preview.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/tests/test_published_figures.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/tests/test_raster.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/tests/test_raster_reproject_bands.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/tests/test_resample_raster.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/tests/test_retrieval.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/tests/test_retrieval_at_scale.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/tests/test_retrieval_degradation.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/tests/test_sampling.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/tests/test_select_and_extract.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/tests/test_smoke.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/tests/test_south_up_and_mixed.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/tests/test_spatial_stats.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/tests/test_sql_axis_order.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/tests/test_sql_credentials.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/tests/test_stacks.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/tests/test_summaries.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/tests/test_terrain_derivatives.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/tests/test_tier_a_operations.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/tests/test_ui.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/tests/test_verification_status.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/tests/test_verify_repair.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/tests/test_voronoi.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/tests/test_whitebox.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/tests/test_whitebox_derivatives.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/tests/test_whitebox_encoding.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/tests/test_whitebox_geographic_refusal.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/tests/test_worked_example.py +0 -0
- {mapsmith-0.6.0 → mapsmith-0.6.1}/tests/test_workspace.py +0 -0
|
@@ -8,6 +8,45 @@ All notable changes to MapSmith are documented here, in the format of
|
|
|
8
8
|
|
|
9
9
|
Nothing yet.
|
|
10
10
|
|
|
11
|
+
## [0.6.1] - 2026-09-25
|
|
12
|
+
|
|
13
|
+
A small release on the day of 0.6.0. It moves no manifest key and changes no
|
|
14
|
+
answer that 0.6.0 got right: it stops a refusal 0.6.0 introduced from firing on
|
|
15
|
+
a layer written in 0..360 longitudes, gives two refusals the right way out, and
|
|
16
|
+
declares the specification's current draft.
|
|
17
|
+
|
|
18
|
+
### Changed
|
|
19
|
+
|
|
20
|
+
- **Records declare `spec_version` `1.0.0-draft.8`.** Two drafts in one day,
|
|
21
|
+
both narrowings of where a producer may add a key: draft.7 requires every
|
|
22
|
+
key of `crs_decisions` the specification does not define to be named
|
|
23
|
+
`x-<producer>:<name>`, which it had left to one reading of an ambiguous
|
|
24
|
+
sentence, and draft.8 carries the rule inside `transformation`,
|
|
25
|
+
`round_trip` and `repairs[]`. MapSmith already named every one of them that
|
|
26
|
+
way, so no key moves: a reader keying on the label sees draft.8, a reader
|
|
27
|
+
keying on fields sees nothing change. The vendored schema and validator are
|
|
28
|
+
draft.8's, and the conformance sweep validates every writer's record
|
|
29
|
+
against them.
|
|
30
|
+
|
|
31
|
+
### Fixed
|
|
32
|
+
|
|
33
|
+
- **A layer written in 0..360 longitudes had its seam in the wrong place.**
|
|
34
|
+
The antimeridian refusal of 0.6.0 took the edge of the plane to be -180/180,
|
|
35
|
+
so the world written as `box(0, -90, 360, 90)` was refused, the way 0.6.0's
|
|
36
|
+
own review had found Antarctica refused in -180..180. For such a layer the
|
|
37
|
+
edge is 0/360, and the ring that really is drawn naively crosses the prime
|
|
38
|
+
meridian: the refusal now says so and tells its author to split there, where
|
|
39
|
+
it used to send them to 180. A layer is read as 0..360 when it has no
|
|
40
|
+
negative longitude and some beyond 180 -- not whenever one vertex passes
|
|
41
|
+
180, which the first version of this fix did, and which refused the world
|
|
42
|
+
beside a polygon overshooting 180 by 1e-7. Edges along either pair of seams
|
|
43
|
+
are exempt in every layer.
|
|
44
|
+
- **"No UTM zone" said the data was centred on the antimeridian, whatever the
|
|
45
|
+
data, and offered no way out.** The realistic cause is latitude — UTM stops
|
|
46
|
+
at 84N and 80S — and the message now says that and names a polar CRS to use
|
|
47
|
+
(UPS, or a polar stereographic), for data that crosses 180 and for data that
|
|
48
|
+
does not.
|
|
49
|
+
|
|
11
50
|
## [0.6.0] - 2026-09-25
|
|
12
51
|
|
|
13
52
|
The reason to upgrade is in **Fixed**: five operations stop reading a zone drawn
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: mapsmith
|
|
3
|
-
Version: 0.6.
|
|
3
|
+
Version: 0.6.1
|
|
4
4
|
Summary: Professional-grade GIS geoprocessing over MCP, with verifiable provenance
|
|
5
5
|
Project-URL: Homepage, https://github.com/mapsmith-ai/MapSmith
|
|
6
6
|
Project-URL: Repository, https://github.com/mapsmith-ai/MapSmith
|
|
@@ -87,7 +87,7 @@ MapSmith's private output: JSON Schema, a toolchain-free validator, a conformanc
|
|
|
87
87
|
hundred-line emitter that never imports MapSmith. Records carry `spec_version`, and CI validates
|
|
88
88
|
real MapSmith output against the spec's own validator. The specification is archived and citable
|
|
89
89
|
as [10.5281/zenodo.22205213](https://doi.org/10.5281/zenodo.22205213), a concept DOI that
|
|
90
|
-
resolves to the latest *archived* draft. These records declare `1.0.0-draft.
|
|
90
|
+
resolves to the latest *archived* draft. These records declare `1.0.0-draft.8`; if the DOI shows
|
|
91
91
|
an earlier one, the archive has not caught up, and the
|
|
92
92
|
[repository](https://github.com/mapsmith-ai/manifest-spec) holds the text they are written against. The names MapSmith puts
|
|
93
93
|
in a record beyond the ones the specification defines — every extension check name, and every
|
|
@@ -263,17 +263,18 @@ or from a terminal: `code --add-mcp '{"name":"mapsmith","command":"uvx","args":[
|
|
|
263
263
|
To check it runs before wiring a client, `uvx mapsmith` starts the server on stdio
|
|
264
264
|
(Ctrl-C to quit) — it speaks MCP, not a CLI, so a silent prompt means it is working.
|
|
265
265
|
|
|
266
|
-
This page describes **0.6.
|
|
266
|
+
This page describes **0.6.1**, which is what that command installs. When `main` runs ahead of
|
|
267
267
|
the published artifact this paragraph says so and names the difference — a reader should never
|
|
268
|
-
have to find out by calling a tool that is not there. `main` is at 0.6.
|
|
268
|
+
have to find out by calling a tool that is not there. `main` is at 0.6.1 today, with nothing
|
|
269
269
|
unreleased beyond it.
|
|
270
270
|
|
|
271
|
-
**If you read manifests, 0.6.
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
top-level `mapsmith_version` (read `producer.version`), two fields of
|
|
276
|
-
`repairs[]` and `engine.geometry_library
|
|
271
|
+
**If you read manifests, 0.6.1 moves no key**: records declare `spec_version`
|
|
272
|
+
`1.0.0-draft.8`, two drafts past 0.6.0's `draft.6`, and both drafts only narrowed where a
|
|
273
|
+
producer may add a key of its own — which MapSmith already did the narrower way. From 0.5.x,
|
|
274
|
+
0.6.0 renamed `x-mapsmith:round_trip` to `round_trip`; from 0.4.0, 0.5.0 had renamed eight
|
|
275
|
+
`crs_decisions` keys, the top-level `mapsmith_version` (read `producer.version`), two fields of
|
|
276
|
+
the round trip, two of `repairs[]` and `engine.geometry_library`. The changelog lists each with
|
|
277
|
+
what to read instead.
|
|
277
278
|
|
|
278
279
|
Then ask your agent things like:
|
|
279
280
|
|
|
@@ -299,8 +300,8 @@ for it:
|
|
|
299
300
|
|
|
300
301
|
```json
|
|
301
302
|
{
|
|
302
|
-
"spec_version": "1.0.0-draft.
|
|
303
|
-
"producer": {"name": "mapsmith", "version": "0.6.
|
|
303
|
+
"spec_version": "1.0.0-draft.8",
|
|
304
|
+
"producer": {"name": "mapsmith", "version": "0.6.1"},
|
|
304
305
|
"operation": "buffer_layer",
|
|
305
306
|
"parameters": {"distance_meters": 300.0},
|
|
306
307
|
"inputs": [{
|
|
@@ -45,7 +45,7 @@ MapSmith's private output: JSON Schema, a toolchain-free validator, a conformanc
|
|
|
45
45
|
hundred-line emitter that never imports MapSmith. Records carry `spec_version`, and CI validates
|
|
46
46
|
real MapSmith output against the spec's own validator. The specification is archived and citable
|
|
47
47
|
as [10.5281/zenodo.22205213](https://doi.org/10.5281/zenodo.22205213), a concept DOI that
|
|
48
|
-
resolves to the latest *archived* draft. These records declare `1.0.0-draft.
|
|
48
|
+
resolves to the latest *archived* draft. These records declare `1.0.0-draft.8`; if the DOI shows
|
|
49
49
|
an earlier one, the archive has not caught up, and the
|
|
50
50
|
[repository](https://github.com/mapsmith-ai/manifest-spec) holds the text they are written against. The names MapSmith puts
|
|
51
51
|
in a record beyond the ones the specification defines — every extension check name, and every
|
|
@@ -221,17 +221,18 @@ or from a terminal: `code --add-mcp '{"name":"mapsmith","command":"uvx","args":[
|
|
|
221
221
|
To check it runs before wiring a client, `uvx mapsmith` starts the server on stdio
|
|
222
222
|
(Ctrl-C to quit) — it speaks MCP, not a CLI, so a silent prompt means it is working.
|
|
223
223
|
|
|
224
|
-
This page describes **0.6.
|
|
224
|
+
This page describes **0.6.1**, which is what that command installs. When `main` runs ahead of
|
|
225
225
|
the published artifact this paragraph says so and names the difference — a reader should never
|
|
226
|
-
have to find out by calling a tool that is not there. `main` is at 0.6.
|
|
226
|
+
have to find out by calling a tool that is not there. `main` is at 0.6.1 today, with nothing
|
|
227
227
|
unreleased beyond it.
|
|
228
228
|
|
|
229
|
-
**If you read manifests, 0.6.
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
top-level `mapsmith_version` (read `producer.version`), two fields of
|
|
234
|
-
`repairs[]` and `engine.geometry_library
|
|
229
|
+
**If you read manifests, 0.6.1 moves no key**: records declare `spec_version`
|
|
230
|
+
`1.0.0-draft.8`, two drafts past 0.6.0's `draft.6`, and both drafts only narrowed where a
|
|
231
|
+
producer may add a key of its own — which MapSmith already did the narrower way. From 0.5.x,
|
|
232
|
+
0.6.0 renamed `x-mapsmith:round_trip` to `round_trip`; from 0.4.0, 0.5.0 had renamed eight
|
|
233
|
+
`crs_decisions` keys, the top-level `mapsmith_version` (read `producer.version`), two fields of
|
|
234
|
+
the round trip, two of `repairs[]` and `engine.geometry_library`. The changelog lists each with
|
|
235
|
+
what to read instead.
|
|
235
236
|
|
|
236
237
|
Then ask your agent things like:
|
|
237
238
|
|
|
@@ -257,8 +258,8 @@ for it:
|
|
|
257
258
|
|
|
258
259
|
```json
|
|
259
260
|
{
|
|
260
|
-
"spec_version": "1.0.0-draft.
|
|
261
|
-
"producer": {"name": "mapsmith", "version": "0.6.
|
|
261
|
+
"spec_version": "1.0.0-draft.8",
|
|
262
|
+
"producer": {"name": "mapsmith", "version": "0.6.1"},
|
|
262
263
|
"operation": "buffer_layer",
|
|
263
264
|
"parameters": {"distance_meters": 300.0},
|
|
264
265
|
"inputs": [{
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# The names MapSmith writes into a manifest
|
|
4
4
|
|
|
5
|
-
Against `1.0.0-draft.
|
|
5
|
+
Against `1.0.0-draft.8` of the [manifest specification](https://github.com/mapsmith-ai/manifest-spec).
|
|
6
6
|
|
|
7
7
|
Section 3.6 of that specification makes `verification[].name` a closed core
|
|
8
8
|
plus extensions spelled `x-<producer>:<name>`, so a consumer can branch on it
|
|
@@ -107,7 +107,7 @@ reads them as check results.
|
|
|
107
107
|
## Extension fields in `environment` (4)
|
|
108
108
|
|
|
109
109
|
Section 3.8 asks for the configuration **as the engine reports it**, and its
|
|
110
|
-
examples are `PROJ_NETWORK
|
|
110
|
+
examples are `PROJ_NETWORK` and the `GDAL_*` variables. So a
|
|
111
111
|
real setting keeps the engine's own spelling and anything MapSmith worked out
|
|
112
112
|
carries the prefix. Inside one object the difference is visible without a
|
|
113
113
|
lookup: an UPPER_SNAKE key is a setting, a prefixed one is our reading of it.
|
|
@@ -128,7 +128,8 @@ words and not ours: `GDAL_GEOREF_SOURCES` · `GDAL_PAM_ENABLED`.
|
|
|
128
128
|
|
|
129
129
|
## Extension fields in `crs_decisions` (5)
|
|
130
130
|
|
|
131
|
-
Section 3.7 recommends the keys of that object and
|
|
131
|
+
Section 3.7 recommends the keys of that object, and since draft.7 every other
|
|
132
|
+
key MUST be named `x-<producer>:<name>`. These are
|
|
132
133
|
MapSmith's, and each one carries the reason it is **not** a synonym of a key
|
|
133
134
|
the specification already has — because a prefix cannot answer that question,
|
|
134
135
|
and two keys that started as synonyms are why this list exists.
|
|
@@ -138,7 +139,7 @@ and two keys that started as synonyms are why this list exists.
|
|
|
138
139
|
| `x-mapsmith:computed_in` | Not `analysis_crs`, and its absence is the point. The Esri stack buffers geodesically in the input's own geographic CRS, so no analysis CRS was chosen; naming one would let a consumer read EPSG:4326 as the CRS a metric computation happened in. |
|
|
139
140
|
| `x-mapsmith:input_crs_discarded` | Not `source_crs`, which the specification defines as the system the coordinates WERE IN. This operation exists because that declaration is wrong: a traverse on an assumed grid was never in the CRS its file claimed, so the spec key would state what the run denies. |
|
|
140
141
|
| `x-mapsmith:inputs_reprojected` | Not `source_crs`: that says where the OPERATION's coordinates were, and these are other inputs brought to meet them. The output never was in the CRS named here. |
|
|
141
|
-
| `x-mapsmith:raster_registration` | Cell registration is not a coordinate system
|
|
142
|
+
| `x-mapsmith:raster_registration` | Cell registration is not a coordinate system, and section 3.7 has no key for it. Not `environment` either: AREA_OR_POINT is a tag INSIDE the file, so it is data, and section 3.8 says a producer's reading of it goes in `crs_decisions` under the producer's own prefixed key. |
|
|
142
143
|
| `x-mapsmith:raster_registration_reason` | Not `reason`, which belongs to the CRS decision and is already taken. Two different reasons under one key silently replaced each other once, and a test caught it. |
|
|
143
144
|
|
|
144
145
|
## Extension fields inside `crs_decisions.transformation` (2)
|
|
@@ -18,10 +18,10 @@
|
|
|
18
18
|
"id": "070d8f72",
|
|
19
19
|
"metadata": {
|
|
20
20
|
"execution": {
|
|
21
|
-
"iopub.execute_input": "2026-09-
|
|
22
|
-
"iopub.status.busy": "2026-09-
|
|
23
|
-
"iopub.status.idle": "2026-09-
|
|
24
|
-
"shell.execute_reply": "2026-09-
|
|
21
|
+
"iopub.execute_input": "2026-09-25T12:12:31.143101Z",
|
|
22
|
+
"iopub.status.busy": "2026-09-25T12:12:31.143101Z",
|
|
23
|
+
"iopub.status.idle": "2026-09-25T12:12:32.005473Z",
|
|
24
|
+
"shell.execute_reply": "2026-09-25T12:12:32.005473Z"
|
|
25
25
|
}
|
|
26
26
|
},
|
|
27
27
|
"outputs": [
|
|
@@ -127,10 +127,10 @@
|
|
|
127
127
|
"id": "9816266e",
|
|
128
128
|
"metadata": {
|
|
129
129
|
"execution": {
|
|
130
|
-
"iopub.execute_input": "2026-09-
|
|
131
|
-
"iopub.status.busy": "2026-09-
|
|
132
|
-
"iopub.status.idle": "2026-09-
|
|
133
|
-
"shell.execute_reply": "2026-09-
|
|
130
|
+
"iopub.execute_input": "2026-09-25T12:12:32.008883Z",
|
|
131
|
+
"iopub.status.busy": "2026-09-25T12:12:32.008883Z",
|
|
132
|
+
"iopub.status.idle": "2026-09-25T12:12:32.198871Z",
|
|
133
|
+
"shell.execute_reply": "2026-09-25T12:12:32.197531Z"
|
|
134
134
|
}
|
|
135
135
|
},
|
|
136
136
|
"outputs": [
|
|
@@ -170,10 +170,10 @@
|
|
|
170
170
|
"id": "7bb53f16",
|
|
171
171
|
"metadata": {
|
|
172
172
|
"execution": {
|
|
173
|
-
"iopub.execute_input": "2026-09-
|
|
174
|
-
"iopub.status.busy": "2026-09-
|
|
175
|
-
"iopub.status.idle": "2026-09-
|
|
176
|
-
"shell.execute_reply": "2026-09-
|
|
173
|
+
"iopub.execute_input": "2026-09-25T12:12:32.201391Z",
|
|
174
|
+
"iopub.status.busy": "2026-09-25T12:12:32.201391Z",
|
|
175
|
+
"iopub.status.idle": "2026-09-25T12:12:32.304538Z",
|
|
176
|
+
"shell.execute_reply": "2026-09-25T12:12:32.304030Z"
|
|
177
177
|
}
|
|
178
178
|
},
|
|
179
179
|
"outputs": [
|
|
@@ -214,10 +214,10 @@
|
|
|
214
214
|
"id": "458ce3c5",
|
|
215
215
|
"metadata": {
|
|
216
216
|
"execution": {
|
|
217
|
-
"iopub.execute_input": "2026-09-
|
|
218
|
-
"iopub.status.busy": "2026-09-
|
|
219
|
-
"iopub.status.idle": "2026-09-
|
|
220
|
-
"shell.execute_reply": "2026-09-
|
|
217
|
+
"iopub.execute_input": "2026-09-25T12:12:32.308745Z",
|
|
218
|
+
"iopub.status.busy": "2026-09-25T12:12:32.307550Z",
|
|
219
|
+
"iopub.status.idle": "2026-09-25T12:12:32.324791Z",
|
|
220
|
+
"shell.execute_reply": "2026-09-25T12:12:32.323274Z"
|
|
221
221
|
}
|
|
222
222
|
},
|
|
223
223
|
"outputs": [
|
|
@@ -233,7 +233,7 @@
|
|
|
233
233
|
" \"inputs\": [\n",
|
|
234
234
|
" {\n",
|
|
235
235
|
" \"path\": \"data/wells.gpkg\",\n",
|
|
236
|
-
" \"sha256\": \"
|
|
236
|
+
" \"sha256\": \"17b53131dacbf6af0c1a7fdf8c3a2030ea23b08df909ce5f7e4ab866dad5f77f\",\n",
|
|
237
237
|
" \"crs\": \"EPSG:4326\",\n",
|
|
238
238
|
" \"layer\": null\n",
|
|
239
239
|
" }\n",
|
|
@@ -243,7 +243,7 @@
|
|
|
243
243
|
" \"sha256\": \"5d95222ecc599c7393367f488914d316cf57323bb47e0771ca8238dd5cb98096\",\n",
|
|
244
244
|
" \"crs\": \"EPSG:4326\"\n",
|
|
245
245
|
" },\n",
|
|
246
|
-
" \"spec_version\": \"1.0.0-draft.
|
|
246
|
+
" \"spec_version\": \"1.0.0-draft.8\",\n",
|
|
247
247
|
" \"crs_decisions\": {\n",
|
|
248
248
|
" \"analysis_crs\": \"EPSG:32632\",\n",
|
|
249
249
|
" \"reason\": \"estimated UTM zone for metric buffering on a geographic CRS\",\n",
|
|
@@ -343,10 +343,10 @@
|
|
|
343
343
|
" \"environment\": {},\n",
|
|
344
344
|
" \"producer\": {\n",
|
|
345
345
|
" \"name\": \"mapsmith\",\n",
|
|
346
|
-
" \"version\": \"0.6.
|
|
346
|
+
" \"version\": \"0.6.1\"\n",
|
|
347
347
|
" },\n",
|
|
348
|
-
" \"started_at\": \"2026-09-
|
|
349
|
-
" \"finished_at\": \"2026-09-
|
|
348
|
+
" \"started_at\": \"2026-09-25T12:12:32Z\",\n",
|
|
349
|
+
" \"finished_at\": \"2026-09-25T12:12:32Z\",\n",
|
|
350
350
|
" \"parameters_redacted\": false\n",
|
|
351
351
|
"}\n"
|
|
352
352
|
]
|
|
@@ -366,10 +366,10 @@
|
|
|
366
366
|
"id": "29e98d8f",
|
|
367
367
|
"metadata": {
|
|
368
368
|
"execution": {
|
|
369
|
-
"iopub.execute_input": "2026-09-
|
|
370
|
-
"iopub.status.busy": "2026-09-
|
|
371
|
-
"iopub.status.idle": "2026-09-
|
|
372
|
-
"shell.execute_reply": "2026-09-
|
|
369
|
+
"iopub.execute_input": "2026-09-25T12:12:32.326798Z",
|
|
370
|
+
"iopub.status.busy": "2026-09-25T12:12:32.326798Z",
|
|
371
|
+
"iopub.status.idle": "2026-09-25T12:12:32.420323Z",
|
|
372
|
+
"shell.execute_reply": "2026-09-25T12:12:32.419311Z"
|
|
373
373
|
}
|
|
374
374
|
},
|
|
375
375
|
"outputs": [
|
|
@@ -24,10 +24,10 @@
|
|
|
24
24
|
"id": "284a0692",
|
|
25
25
|
"metadata": {
|
|
26
26
|
"execution": {
|
|
27
|
-
"iopub.execute_input": "2026-09-
|
|
28
|
-
"iopub.status.busy": "2026-09-
|
|
29
|
-
"iopub.status.idle": "2026-09-
|
|
30
|
-
"shell.execute_reply": "2026-09-
|
|
27
|
+
"iopub.execute_input": "2026-09-25T12:12:36.608361Z",
|
|
28
|
+
"iopub.status.busy": "2026-09-25T12:12:36.607296Z",
|
|
29
|
+
"iopub.status.idle": "2026-09-25T12:12:37.457311Z",
|
|
30
|
+
"shell.execute_reply": "2026-09-25T12:12:37.456234Z"
|
|
31
31
|
}
|
|
32
32
|
},
|
|
33
33
|
"outputs": [
|
|
@@ -90,10 +90,10 @@
|
|
|
90
90
|
"id": "1c4b13f7",
|
|
91
91
|
"metadata": {
|
|
92
92
|
"execution": {
|
|
93
|
-
"iopub.execute_input": "2026-09-
|
|
94
|
-
"iopub.status.busy": "2026-09-
|
|
95
|
-
"iopub.status.idle": "2026-09-
|
|
96
|
-
"shell.execute_reply": "2026-09-
|
|
93
|
+
"iopub.execute_input": "2026-09-25T12:12:37.461520Z",
|
|
94
|
+
"iopub.status.busy": "2026-09-25T12:12:37.461520Z",
|
|
95
|
+
"iopub.status.idle": "2026-09-25T12:12:38.076793Z",
|
|
96
|
+
"shell.execute_reply": "2026-09-25T12:12:38.075573Z"
|
|
97
97
|
}
|
|
98
98
|
},
|
|
99
99
|
"outputs": [
|
|
@@ -126,10 +126,10 @@
|
|
|
126
126
|
"id": "21279817",
|
|
127
127
|
"metadata": {
|
|
128
128
|
"execution": {
|
|
129
|
-
"iopub.execute_input": "2026-09-
|
|
130
|
-
"iopub.status.busy": "2026-09-
|
|
131
|
-
"iopub.status.idle": "2026-09-
|
|
132
|
-
"shell.execute_reply": "2026-09-
|
|
129
|
+
"iopub.execute_input": "2026-09-25T12:12:38.081202Z",
|
|
130
|
+
"iopub.status.busy": "2026-09-25T12:12:38.081202Z",
|
|
131
|
+
"iopub.status.idle": "2026-09-25T12:12:38.271787Z",
|
|
132
|
+
"shell.execute_reply": "2026-09-25T12:12:38.269643Z"
|
|
133
133
|
}
|
|
134
134
|
},
|
|
135
135
|
"outputs": [
|
|
@@ -174,10 +174,10 @@
|
|
|
174
174
|
"id": "394efab0",
|
|
175
175
|
"metadata": {
|
|
176
176
|
"execution": {
|
|
177
|
-
"iopub.execute_input": "2026-09-
|
|
178
|
-
"iopub.status.busy": "2026-09-
|
|
179
|
-
"iopub.status.idle": "2026-09-
|
|
180
|
-
"shell.execute_reply": "2026-09-
|
|
177
|
+
"iopub.execute_input": "2026-09-25T12:12:38.276844Z",
|
|
178
|
+
"iopub.status.busy": "2026-09-25T12:12:38.275832Z",
|
|
179
|
+
"iopub.status.idle": "2026-09-25T12:12:39.580320Z",
|
|
180
|
+
"shell.execute_reply": "2026-09-25T12:12:39.579790Z"
|
|
181
181
|
}
|
|
182
182
|
},
|
|
183
183
|
"outputs": [
|
|
@@ -208,10 +208,10 @@
|
|
|
208
208
|
"id": "e6864435",
|
|
209
209
|
"metadata": {
|
|
210
210
|
"execution": {
|
|
211
|
-
"iopub.execute_input": "2026-09-
|
|
212
|
-
"iopub.status.busy": "2026-09-
|
|
213
|
-
"iopub.status.idle": "2026-09-
|
|
214
|
-
"shell.execute_reply": "2026-09-
|
|
211
|
+
"iopub.execute_input": "2026-09-25T12:12:39.584604Z",
|
|
212
|
+
"iopub.status.busy": "2026-09-25T12:12:39.583592Z",
|
|
213
|
+
"iopub.status.idle": "2026-09-25T12:12:40.359542Z",
|
|
214
|
+
"shell.execute_reply": "2026-09-25T12:12:40.358021Z"
|
|
215
215
|
}
|
|
216
216
|
},
|
|
217
217
|
"outputs": [
|
|
@@ -254,10 +254,10 @@
|
|
|
254
254
|
"id": "a9963145",
|
|
255
255
|
"metadata": {
|
|
256
256
|
"execution": {
|
|
257
|
-
"iopub.execute_input": "2026-09-
|
|
258
|
-
"iopub.status.busy": "2026-09-
|
|
259
|
-
"iopub.status.idle": "2026-09-
|
|
260
|
-
"shell.execute_reply": "2026-09-
|
|
257
|
+
"iopub.execute_input": "2026-09-25T12:12:40.363552Z",
|
|
258
|
+
"iopub.status.busy": "2026-09-25T12:12:40.363552Z",
|
|
259
|
+
"iopub.status.idle": "2026-09-25T12:12:41.712934Z",
|
|
260
|
+
"shell.execute_reply": "2026-09-25T12:12:41.711565Z"
|
|
261
261
|
}
|
|
262
262
|
},
|
|
263
263
|
"outputs": [
|
|
@@ -308,10 +308,10 @@
|
|
|
308
308
|
"id": "29e44f7f",
|
|
309
309
|
"metadata": {
|
|
310
310
|
"execution": {
|
|
311
|
-
"iopub.execute_input": "2026-09-
|
|
312
|
-
"iopub.status.busy": "2026-09-
|
|
313
|
-
"iopub.status.idle": "2026-09-
|
|
314
|
-
"shell.execute_reply": "2026-09-
|
|
311
|
+
"iopub.execute_input": "2026-09-25T12:12:41.716970Z",
|
|
312
|
+
"iopub.status.busy": "2026-09-25T12:12:41.715951Z",
|
|
313
|
+
"iopub.status.idle": "2026-09-25T12:12:41.780646Z",
|
|
314
|
+
"shell.execute_reply": "2026-09-25T12:12:41.778771Z"
|
|
315
315
|
}
|
|
316
316
|
},
|
|
317
317
|
"outputs": [
|
|
@@ -353,10 +353,10 @@
|
|
|
353
353
|
"id": "4d1c073f",
|
|
354
354
|
"metadata": {
|
|
355
355
|
"execution": {
|
|
356
|
-
"iopub.execute_input": "2026-09-
|
|
357
|
-
"iopub.status.busy": "2026-09-
|
|
358
|
-
"iopub.status.idle": "2026-09-
|
|
359
|
-
"shell.execute_reply": "2026-09-
|
|
356
|
+
"iopub.execute_input": "2026-09-25T12:12:41.785206Z",
|
|
357
|
+
"iopub.status.busy": "2026-09-25T12:12:41.784206Z",
|
|
358
|
+
"iopub.status.idle": "2026-09-25T12:12:42.042732Z",
|
|
359
|
+
"shell.execute_reply": "2026-09-25T12:12:42.041212Z"
|
|
360
360
|
}
|
|
361
361
|
},
|
|
362
362
|
"outputs": [
|
|
@@ -455,10 +455,10 @@
|
|
|
455
455
|
"id": "fb3ccb2d",
|
|
456
456
|
"metadata": {
|
|
457
457
|
"execution": {
|
|
458
|
-
"iopub.execute_input": "2026-09-
|
|
459
|
-
"iopub.status.busy": "2026-09-
|
|
460
|
-
"iopub.status.idle": "2026-09-
|
|
461
|
-
"shell.execute_reply": "2026-09-
|
|
458
|
+
"iopub.execute_input": "2026-09-25T12:12:42.046747Z",
|
|
459
|
+
"iopub.status.busy": "2026-09-25T12:12:42.046747Z",
|
|
460
|
+
"iopub.status.idle": "2026-09-25T12:12:42.054526Z",
|
|
461
|
+
"shell.execute_reply": "2026-09-25T12:12:42.054012Z"
|
|
462
462
|
}
|
|
463
463
|
},
|
|
464
464
|
"outputs": [
|
|
@@ -18,10 +18,10 @@
|
|
|
18
18
|
"id": "25542ca4",
|
|
19
19
|
"metadata": {
|
|
20
20
|
"execution": {
|
|
21
|
-
"iopub.execute_input": "2026-09-
|
|
22
|
-
"iopub.status.busy": "2026-09-
|
|
23
|
-
"iopub.status.idle": "2026-09-
|
|
24
|
-
"shell.execute_reply": "2026-09-
|
|
21
|
+
"iopub.execute_input": "2026-09-25T12:12:46.219955Z",
|
|
22
|
+
"iopub.status.busy": "2026-09-25T12:12:46.218737Z",
|
|
23
|
+
"iopub.status.idle": "2026-09-25T12:12:46.997453Z",
|
|
24
|
+
"shell.execute_reply": "2026-09-25T12:12:46.996441Z"
|
|
25
25
|
}
|
|
26
26
|
},
|
|
27
27
|
"outputs": [
|
|
@@ -68,10 +68,10 @@
|
|
|
68
68
|
"id": "a7c1b3ee",
|
|
69
69
|
"metadata": {
|
|
70
70
|
"execution": {
|
|
71
|
-
"iopub.execute_input": "2026-09-
|
|
72
|
-
"iopub.status.busy": "2026-09-
|
|
73
|
-
"iopub.status.idle": "2026-09-
|
|
74
|
-
"shell.execute_reply": "2026-09-
|
|
71
|
+
"iopub.execute_input": "2026-09-25T12:12:47.000636Z",
|
|
72
|
+
"iopub.status.busy": "2026-09-25T12:12:47.000636Z",
|
|
73
|
+
"iopub.status.idle": "2026-09-25T12:12:47.144307Z",
|
|
74
|
+
"shell.execute_reply": "2026-09-25T12:12:47.143272Z"
|
|
75
75
|
}
|
|
76
76
|
},
|
|
77
77
|
"outputs": [
|
|
@@ -126,10 +126,10 @@
|
|
|
126
126
|
"id": "91a05af3",
|
|
127
127
|
"metadata": {
|
|
128
128
|
"execution": {
|
|
129
|
-
"iopub.execute_input": "2026-09-
|
|
130
|
-
"iopub.status.busy": "2026-09-
|
|
131
|
-
"iopub.status.idle": "2026-09-
|
|
132
|
-
"shell.execute_reply": "2026-09-
|
|
129
|
+
"iopub.execute_input": "2026-09-25T12:12:47.147760Z",
|
|
130
|
+
"iopub.status.busy": "2026-09-25T12:12:47.147760Z",
|
|
131
|
+
"iopub.status.idle": "2026-09-25T12:12:47.178986Z",
|
|
132
|
+
"shell.execute_reply": "2026-09-25T12:12:47.177594Z"
|
|
133
133
|
}
|
|
134
134
|
},
|
|
135
135
|
"outputs": [
|
|
@@ -169,10 +169,10 @@
|
|
|
169
169
|
"id": "0314a8a8",
|
|
170
170
|
"metadata": {
|
|
171
171
|
"execution": {
|
|
172
|
-
"iopub.execute_input": "2026-09-
|
|
173
|
-
"iopub.status.busy": "2026-09-
|
|
174
|
-
"iopub.status.idle": "2026-09-
|
|
175
|
-
"shell.execute_reply": "2026-09-
|
|
172
|
+
"iopub.execute_input": "2026-09-25T12:12:47.181517Z",
|
|
173
|
+
"iopub.status.busy": "2026-09-25T12:12:47.181517Z",
|
|
174
|
+
"iopub.status.idle": "2026-09-25T12:12:47.461874Z",
|
|
175
|
+
"shell.execute_reply": "2026-09-25T12:12:47.460349Z"
|
|
176
176
|
}
|
|
177
177
|
},
|
|
178
178
|
"outputs": [
|
|
@@ -181,8 +181,8 @@
|
|
|
181
181
|
"output_type": "stream",
|
|
182
182
|
"text": [
|
|
183
183
|
"executed: True\n",
|
|
184
|
-
" buf: ok (4 features,
|
|
185
|
-
" cut: ok (3 features,
|
|
184
|
+
" buf: ok (4 features, 153.8 ms, verified=True)\n",
|
|
185
|
+
" cut: ok (3 features, 92.1 ms, verified=True)\n",
|
|
186
186
|
"plan sha256: a5d2cadb11b7baf8 …\n",
|
|
187
187
|
"plan manifest: data\\at_risk.parquet.plan.json\n"
|
|
188
188
|
]
|
|
@@ -207,10 +207,10 @@
|
|
|
207
207
|
"id": "6f3d69a8",
|
|
208
208
|
"metadata": {
|
|
209
209
|
"execution": {
|
|
210
|
-
"iopub.execute_input": "2026-09-
|
|
211
|
-
"iopub.status.busy": "2026-09-
|
|
212
|
-
"iopub.status.idle": "2026-09-
|
|
213
|
-
"shell.execute_reply": "2026-09-
|
|
210
|
+
"iopub.execute_input": "2026-09-25T12:12:47.464704Z",
|
|
211
|
+
"iopub.status.busy": "2026-09-25T12:12:47.463329Z",
|
|
212
|
+
"iopub.status.idle": "2026-09-25T12:12:47.479279Z",
|
|
213
|
+
"shell.execute_reply": "2026-09-25T12:12:47.477440Z"
|
|
214
214
|
}
|
|
215
215
|
},
|
|
216
216
|
"outputs": [
|
|
@@ -219,7 +219,7 @@
|
|
|
219
219
|
"output_type": "stream",
|
|
220
220
|
"text": [
|
|
221
221
|
"{\n",
|
|
222
|
-
" \"mapsmith_version\": \"0.6.
|
|
222
|
+
" \"mapsmith_version\": \"0.6.1\",\n",
|
|
223
223
|
" \"plan_sha256\": \"a5d2cadb11b7baf8722806fb7aca608c4ab9e22ac64f019e438c680f6b5ac852\",\n",
|
|
224
224
|
" \"goal\": \"wells at risk\"\n",
|
|
225
225
|
"}\n",
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
|
|
3
3
|
"name": "io.github.mapsmith-ai/mapsmith",
|
|
4
4
|
"description": "Deterministic GIS geoprocessing with verifiable provenance on every output",
|
|
5
|
-
"version": "0.6.
|
|
5
|
+
"version": "0.6.1",
|
|
6
6
|
"repository": {
|
|
7
7
|
"url": "https://github.com/mapsmith-ai/MapSmith",
|
|
8
8
|
"source": "github"
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"registryType": "pypi",
|
|
14
14
|
"registryBaseUrl": "https://pypi.org",
|
|
15
15
|
"identifier": "mapsmith",
|
|
16
|
-
"version": "0.6.
|
|
16
|
+
"version": "0.6.1",
|
|
17
17
|
"runtimeHint": "uvx",
|
|
18
18
|
"transport": {
|
|
19
19
|
"type": "stdio"
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
},
|
|
31
31
|
{
|
|
32
32
|
"registryType": "oci",
|
|
33
|
-
"identifier": "ghcr.io/mapsmith-ai/mapsmith:0.6.
|
|
33
|
+
"identifier": "ghcr.io/mapsmith-ai/mapsmith:0.6.1",
|
|
34
34
|
"runtimeHint": "docker",
|
|
35
35
|
"transport": {
|
|
36
36
|
"type": "stdio"
|