unaltraweb 0.7.2 → 0.7.3
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.
- checksums.yaml +4 -4
- data/Makefile +3 -3
- data/docs/agents/qgis-0.6.1-adoption-109.md +110 -0
- data/scripts/test_wheel_install.py +5 -0
- data/src/unaltraweb_mcp/component-contract.json +17 -17
- metadata +3 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: c5280a9154aff314292e2929ee157d6a2ebc7b2ab2b292cf9f7d995f3f147922
|
|
4
|
+
data.tar.gz: ad96a399ed437469d747634a7b5d69aa2958794e5f38395511b811ca99befd40
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: bfe3e85558161e19ae69988d40d78179a18ea418d6d932597dfeadb82bbfbfaab5d9d3c8847b0b6245f05ef26bd732dd548dc459e46f674556f10ffa1d977bd1
|
|
7
|
+
data.tar.gz: 6d1fc3cb0ba53b7c6e780bc43f7a93c2c1ca55b3ffa9bab9da773d20f9c56410dedd12f49cb9cfd6e2c529088b76c79a74bf94dbd30abb1dd2982a45ee4866a1
|
data/Makefile
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
PYTHON ?= python3
|
|
2
2
|
override PROJECT := $${MCP_CONSUMER_WORKSPACE:?MCP_CONSUMER_WORKSPACE is required}
|
|
3
3
|
override PROJECT_ROOT := $(PROJECT)
|
|
4
|
-
MCP_RUNTIME_IMAGE ?= ghcr.io/dosquartsdedocs/unaltraweb:0.7.
|
|
5
|
-
MCP_IMAGE ?= ghcr.io/dosquartsdedocs/unaltraweb-mcp:0.7.
|
|
4
|
+
MCP_RUNTIME_IMAGE ?= ghcr.io/dosquartsdedocs/unaltraweb:0.7.3
|
|
5
|
+
MCP_IMAGE ?= ghcr.io/dosquartsdedocs/unaltraweb-mcp:0.7.3
|
|
6
6
|
MCP_RELEASE_IMAGE ?= ghcr.io/dosquartsdedocs/unaltraweb-mcp@sha256:6aa20cff86c3891a876e37ba0548fa36f3c5633c9f22ba672e9f50123d677cf6
|
|
7
7
|
MCP_DOCKER_BUILD_NETWORK ?= default
|
|
8
8
|
INIT_SITE_PROFILE ?= unaltreselfie
|
|
@@ -40,7 +40,7 @@ WEB_CAPTURE_IMAGE ?= ghcr.io/dosquartsdedocs/unaltraweb-web-capture@sha256:0bf1b
|
|
|
40
40
|
WEB_CAPTURE_DEV_IMAGE ?= unaltraweb-web-capture:dev
|
|
41
41
|
WEB_CAPTURE_DOCKER_BUILD_NETWORK ?= default
|
|
42
42
|
VEGAVISUALS_CLI ?=
|
|
43
|
-
DOCKER_IMAGE ?= ghcr.io/dosquartsdedocs/unaltraweb:0.7.
|
|
43
|
+
DOCKER_IMAGE ?= ghcr.io/dosquartsdedocs/unaltraweb:0.7.3
|
|
44
44
|
MANUAL_PDF_IMAGE ?= ghcr.io/dosquartsdedocs/unaltraweb-manual-pdf@sha256:1bb3f2dafd741e96c28639ec1cc8ccaeb81cbaa73e649f787c0b4ef59997bd4b
|
|
45
45
|
MANUAL_PDF_DEV_IMAGE ?= unaltraweb-manual-pdf:dev
|
|
46
46
|
MCP_SMOKE_MANUAL_PDF_IMAGE ?= $(MANUAL_PDF_IMAGE)
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
# Web #109 — QGIS 0.6.1 compatibility point
|
|
2
|
+
|
|
3
|
+
Web **0.7.3 is prepared locally**, not yet published or selected by a real
|
|
4
|
+
consumer. This maintenance point changes the exact external private-QGIS
|
|
5
|
+
dependency from 0.6.0 to 0.6.1. Published Web 0.7.2 remains immutable.
|
|
6
|
+
|
|
7
|
+
Provider handoff: [Web #109](https://github.com/dosquartsdedocs/unaltraweb/issues/109#issuecomment-6283746978).
|
|
8
|
+
Hub preparation: [gaContExt #38](https://github.com/dosquartsdedocs/gacontext/issues/38#issuecomment-6301327451).
|
|
9
|
+
The latter has prepared/enrolled QGIS independently; it has not selected this new
|
|
10
|
+
Web point or changed a real consumer cohort.
|
|
11
|
+
|
|
12
|
+
## Exact private dependency
|
|
13
|
+
|
|
14
|
+
All inputs below were downloaded through authenticated GitHub acquisition into
|
|
15
|
+
ignored `tmp/qgis-061-adoption-109/assets/`, then checked by bytes and SHA-256.
|
|
16
|
+
Only the public metadata descriptor travels in Web; no private source, wheel,
|
|
17
|
+
archive or credentials are included in the public wheel or image.
|
|
18
|
+
|
|
19
|
+
| Identity | Value |
|
|
20
|
+
| --- | --- |
|
|
21
|
+
| QGIS source/tag | `1ca6ed95195d44097057d7165dc5dc0730cdf1c0`, `v0.6.1` |
|
|
22
|
+
| External `release.json` | 1251 bytes, `c09148927767855e6694e246ae38a9bdda4181086d18f78c204999648ec1089c` |
|
|
23
|
+
| Private wheel | 334648 bytes, `89998d9e41dcc90b8768ac036bf480e3501138d715824e12f928ab15f75dfbb7` |
|
|
24
|
+
| Private two-image archive | 1372056314 bytes, `fa870962e40bf416aeea262047b32a148bb3a73f8ae2dff6cbd4b20426453d1d` |
|
|
25
|
+
| Controller configuration ID | `sha256:d06b742c3e7d2e9383cf8a1d22bce928dd806f316a0bcbb1f676f50e22e94b05` |
|
|
26
|
+
| Auxiliary QGIS engine | `sha256:1003721d96abe9607d8337b36851f9b29f84c2f8f92b377d1a73ff03c9d15cd2` |
|
|
27
|
+
| Release producer revision | `sha256:35443a3343f403892b387c1622656ff3a242044b890fe4ea0cd1e66dd52653e1` |
|
|
28
|
+
| Native `practice-schema` revision | `sha256:4604801be887a19747aa74c84a2d99141308fadde44f5cddacb4d821b6861398` |
|
|
29
|
+
| Separately scoped published D0 code revision | `sha256:8e5f451cd0669c80e17c6b1b72f3e22dce53dbd405098ef67f6980cf759553bc` |
|
|
30
|
+
| Web descriptor SHA-256 | `8f2ff3531ad2a65fab9992ac5ef01d3cec65b88625ee26d5b2149be8ad065b99` |
|
|
31
|
+
|
|
32
|
+
The canonical private receipt URL is
|
|
33
|
+
`https://github.com/dosquartsdedocs/unaltracaptura-qgis/releases/download/v0.6.1/release.json`.
|
|
34
|
+
Its source, version, producer, wheel and two images match the Web declaration.
|
|
35
|
+
The archive checksum, both configuration hashes, platform and declared layer
|
|
36
|
+
presence were checked without extracting/loading/retagging the archive.
|
|
37
|
+
The controller OCI source label remains actually absent (`null`), not the Git SHA.
|
|
38
|
+
|
|
39
|
+
The native practice fingerprint is **4604801b…**, observed both through the
|
|
40
|
+
installed provider CLI and inside its pinned controller. The D0 fingerprint
|
|
41
|
+
**8e5f451c…** cannot replace it: an initial schema probe using that other scope
|
|
42
|
+
was refused. Both v1/v2 probes pass with the native practice revision. Regression
|
|
43
|
+
tests reject the old 0.6.0 revision, the D0 revision and the release producer as
|
|
44
|
+
substitutes. The schema hashes remain respectively
|
|
45
|
+
`9bc7f15ede9d67b3e1209c329da13d9fcb08004090d05b27662a43de6edf3445` and
|
|
46
|
+
`528c8be229c72c346f134ffaa60094f94224094a25b6fb11bcc87802ddc7fffb`.
|
|
47
|
+
|
|
48
|
+
`practice_verifier` remains the Web startup worker role. `engine.image_id` is the
|
|
49
|
+
separate QGIS auxiliary, checked before native reopen, not a `qgis` entry in Web
|
|
50
|
+
`--worker-images`. The bridge and lifecycle implementation are unchanged.
|
|
51
|
+
PDF 0.7.1, its producer `b7ec1d7a139c65b3b0b88699cdbeb19080f13be1`, core/workflow
|
|
52
|
+
`3332e0b93933f12317e05f1ce8d38ce80046feab`, Dia 0.5.0 and Vega 0.5.1 retain their
|
|
53
|
+
independent selections. Public CI reports private execution as `not_run`.
|
|
54
|
+
|
|
55
|
+
## Local synthetic acceptance
|
|
56
|
+
|
|
57
|
+
`test/qgis_compatibility_smoke.py` accepts explicit already-acquired inputs and
|
|
58
|
+
immutable image IDs. Its only GIS input is the provider's pinned
|
|
59
|
+
`examples/portable-practice/`: two invented projected points, an 80 m buffer and
|
|
60
|
+
a 32×24 synthetic raster. No manual, real dataset or existing screenshot is used.
|
|
61
|
+
The provider example stays outside Git/public packages and its source blobs and
|
|
62
|
+
hashes are retained alongside the downloaded inputs.
|
|
63
|
+
|
|
64
|
+
The complete passing run is
|
|
65
|
+
`tmp/qgis-061-adoption-109/local-acceptance-03/evidence.json`, SHA-256
|
|
66
|
+
`3122e0751813ad24f0f2456adae84c792f7d3b0693bc504f3d9d73a30201a6fc`.
|
|
67
|
+
|
|
68
|
+
- Local Web-only image: `sha256:765b10855cc70f5cdaf18d998bac8cdbe60621c3a8fcbc90f66bca8a02c0dfc7`.
|
|
69
|
+
- Local wheel: `14fca099e7b725a0041f42bc32dfdb80bc34c454d5983bfda9ffbc090fe17827`.
|
|
70
|
+
- Descriptor bytes match the source, built wheel and installed Web image.
|
|
71
|
+
- Real MCP initialization, both practice `resources/read`, worker identity and
|
|
72
|
+
dry-run/actual composition pass with the fresh installed host launcher.
|
|
73
|
+
- The native QGIS run retains eight successful controls, two GeoPackages, one
|
|
74
|
+
raster, two portable projects and its synthetic capture/bundle.
|
|
75
|
+
- Each recipient receives a PDF and ZIP. Exact declared ZIP membership, member
|
|
76
|
+
hashes, PDF bytes/receipts, readable pages, recipient-specific text and retained
|
|
77
|
+
original inputs are checked. Repeated composition refuses overwrite.
|
|
78
|
+
- Selected packet bytes extracted from each ZIP are rechecked and reopened in
|
|
79
|
+
QGIS. The observed engine uses only the selected readonly packet, network none,
|
|
80
|
+
and its exact CID is absent afterward. Private verifier teardown and Web
|
|
81
|
+
drain/EOF/session-status confirm resource release.
|
|
82
|
+
|
|
83
|
+
Attempts 01/02 are retained: the acceptance driver initially inherited the host
|
|
84
|
+
test `PYTHONPATH` in its wheel-install/session-status subprocesses. The driver now
|
|
85
|
+
scrubs that environment, as it already did for the MCP launch. These were test
|
|
86
|
+
driver failures, not successful installed acceptance or changes to production
|
|
87
|
+
transport. The complete attempt 03 passes with the same Web package/runtime.
|
|
88
|
+
|
|
89
|
+
Host suite: **731 discovered, 703 passed, 28 explicit optional skips**.
|
|
90
|
+
`distribution-check`, `workflow-check`, `wheel-check`, `gem-check`, `mcp-check`
|
|
91
|
+
and the full `mcp-smoke` pass. `docs-build` also passes. Docker Make checks use issue-owned development
|
|
92
|
+
names (`unaltraweb:issue109-073`, `unaltraweb-mcp:issue109-073` and
|
|
93
|
+
`unaltraweb-manual-pdf:issue109-073`), not published aliases. Gem checks execute
|
|
94
|
+
inside that prepared Web image with network disabled.
|
|
95
|
+
The wheel gate additionally checks descriptor/BOM byte equality and absence of
|
|
96
|
+
private QGIS package roots. Exact-head review/CI precede integration and immutable
|
|
97
|
+
publication.
|
|
98
|
+
|
|
99
|
+
## Publication and adoption gates
|
|
100
|
+
|
|
101
|
+
Use the normal reviewed-source image/package workflows and receipt-only release
|
|
102
|
+
commit. Reverify exact downloaded Web artifacts and the same descriptor against
|
|
103
|
+
the final candidates; retain the public controller/PDF archives separately from
|
|
104
|
+
the private QGIS dependency. Do not publish the private intake directory.
|
|
105
|
+
|
|
106
|
+
Return final immutable Web/package/descriptor/receipt/image references to
|
|
107
|
+
gaContExt #38. The hub then owns new preparation, compatibility curation and any
|
|
108
|
+
explicit consumer CAS selection/reload. Local acceptance, verified publication
|
|
109
|
+
and actual consumer adoption are distinct states. No teaching approval, scientific
|
|
110
|
+
manual recomputation, W1/SDK expansion or automatic consumer migration is claimed.
|
|
@@ -76,6 +76,11 @@ def main() -> int:
|
|
|
76
76
|
for installed_path, source_path in launcher_files.items():
|
|
77
77
|
if archive.read(launcher_prefix + installed_path) != (ROOT / source_path).read_bytes():
|
|
78
78
|
raise RuntimeError(f"Wheel launcher asset differs from source: {installed_path}")
|
|
79
|
+
for name in ("component-contract.json", "practice-verifier-runtime.json"):
|
|
80
|
+
if archive.read("unaltraweb_mcp/" + name) != (ROOT / "src/unaltraweb_mcp" / name).read_bytes():
|
|
81
|
+
raise RuntimeError(f"Wheel dependency declaration differs from source: {name}")
|
|
82
|
+
if any(name.startswith(("veure_qgis_mcp/", "unaltracaptura_annotations/")) for name in names):
|
|
83
|
+
raise RuntimeError("Private QGIS implementation leaked into the public wheel")
|
|
79
84
|
forbidden_roots = {"docs", "scripts", "_layouts", "_includes", "_sass"}
|
|
80
85
|
leaked = []
|
|
81
86
|
for name in names:
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
"$schema": "component-contract.schema.json",
|
|
3
3
|
"schema_version": 1,
|
|
4
4
|
"release": {
|
|
5
|
-
"version": "0.7.
|
|
6
|
-
"tag": "v0.7.
|
|
5
|
+
"version": "0.7.3",
|
|
6
|
+
"tag": "v0.7.3"
|
|
7
7
|
},
|
|
8
8
|
"consumer_integration": {
|
|
9
9
|
"schema_version": 1,
|
|
@@ -62,10 +62,10 @@
|
|
|
62
62
|
"gem": {
|
|
63
63
|
"kind": "gem",
|
|
64
64
|
"name": "unaltraweb",
|
|
65
|
-
"version": "0.7.
|
|
66
|
-
"release": "v0.7.
|
|
65
|
+
"version": "0.7.3",
|
|
66
|
+
"release": "v0.7.3",
|
|
67
67
|
"release_status": "ready",
|
|
68
|
-
"reference": "unaltraweb (= 0.7.
|
|
68
|
+
"reference": "unaltraweb (= 0.7.3)",
|
|
69
69
|
"repository": "https://github.com/dosquartsdedocs/unaltraweb",
|
|
70
70
|
"included_in_wheel": false,
|
|
71
71
|
"features": ["jekyll-core", "site-build"]
|
|
@@ -73,10 +73,10 @@
|
|
|
73
73
|
"wheel": {
|
|
74
74
|
"kind": "python-wheel",
|
|
75
75
|
"name": "unaltraweb-mcp",
|
|
76
|
-
"version": "0.7.
|
|
77
|
-
"release": "v0.7.
|
|
76
|
+
"version": "0.7.3",
|
|
77
|
+
"release": "v0.7.3",
|
|
78
78
|
"release_status": "ready",
|
|
79
|
-
"reference": "unaltraweb-mcp==0.7.
|
|
79
|
+
"reference": "unaltraweb-mcp==0.7.3",
|
|
80
80
|
"repository": "https://github.com/dosquartsdedocs/unaltraweb",
|
|
81
81
|
"included_in_wheel": true,
|
|
82
82
|
"features": ["calibre-import", "doctor", "new-web", "offline-inspection", "mcp-control-plane", "source-ci"]
|
|
@@ -84,10 +84,10 @@
|
|
|
84
84
|
"runtime": {
|
|
85
85
|
"kind": "container",
|
|
86
86
|
"name": "unaltraweb runtime",
|
|
87
|
-
"version": "0.7.
|
|
88
|
-
"release": "v0.7.
|
|
87
|
+
"version": "0.7.3",
|
|
88
|
+
"release": "v0.7.3",
|
|
89
89
|
"release_status": "ready",
|
|
90
|
-
"reference": "ghcr.io/dosquartsdedocs/unaltraweb:0.7.
|
|
90
|
+
"reference": "ghcr.io/dosquartsdedocs/unaltraweb:0.7.3",
|
|
91
91
|
"image_repository": "ghcr.io/dosquartsdedocs/unaltraweb",
|
|
92
92
|
"repository": "https://github.com/dosquartsdedocs/unaltraweb",
|
|
93
93
|
"included_in_wheel": false,
|
|
@@ -96,10 +96,10 @@
|
|
|
96
96
|
"mcp": {
|
|
97
97
|
"kind": "container",
|
|
98
98
|
"name": "unaltraweb MCP runtime",
|
|
99
|
-
"version": "0.7.
|
|
100
|
-
"release": "v0.7.
|
|
99
|
+
"version": "0.7.3",
|
|
100
|
+
"release": "v0.7.3",
|
|
101
101
|
"release_status": "ready",
|
|
102
|
-
"reference": "ghcr.io/dosquartsdedocs/unaltraweb-mcp:0.7.
|
|
102
|
+
"reference": "ghcr.io/dosquartsdedocs/unaltraweb-mcp:0.7.3",
|
|
103
103
|
"image_repository": "ghcr.io/dosquartsdedocs/unaltraweb-mcp",
|
|
104
104
|
"repository": "https://github.com/dosquartsdedocs/unaltraweb",
|
|
105
105
|
"included_in_wheel": false,
|
|
@@ -156,10 +156,10 @@
|
|
|
156
156
|
"qgis_practice_verifier": {
|
|
157
157
|
"kind": "companion",
|
|
158
158
|
"name": "unaltracaptura-qgis",
|
|
159
|
-
"version": "0.6.
|
|
160
|
-
"release": "v0.6.
|
|
159
|
+
"version": "0.6.1",
|
|
160
|
+
"release": "v0.6.1",
|
|
161
161
|
"release_status": "released",
|
|
162
|
-
"reference": "https://github.com/dosquartsdedocs/unaltracaptura-qgis.git@v0.6.
|
|
162
|
+
"reference": "https://github.com/dosquartsdedocs/unaltracaptura-qgis.git@v0.6.1",
|
|
163
163
|
"repository": "https://github.com/dosquartsdedocs/unaltracaptura-qgis",
|
|
164
164
|
"included_in_wheel": false,
|
|
165
165
|
"features": ["qgis-practice-v1", "qgis-practice-v2", "private-prepared-runtime"]
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: unaltraweb
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.7.
|
|
4
|
+
version: 0.7.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- dosquartsdedocs
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-10-
|
|
11
|
+
date: 2026-10-20 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: classifier-reborn
|
|
@@ -817,6 +817,7 @@ files:
|
|
|
817
817
|
- docs/agents/practice-pdf-installable-98.md
|
|
818
818
|
- docs/agents/practice-runtime-archives-98.md
|
|
819
819
|
- docs/agents/private-practice-verifier-98.md
|
|
820
|
+
- docs/agents/qgis-0.6.1-adoption-109.md
|
|
820
821
|
- docs/agents/quarto-computation-adoption.md
|
|
821
822
|
- docs/agents/retained-letter-import.md
|
|
822
823
|
- docs/agents/source-ci-98.md
|