Commit28cdaee3Recorded2 Sep 2026Repositorysigil-crypto

Relock monorepo pins to ^0.21

Message

A caret pin is a RANGE WITH AN UPPER BOUND: ^0.20 means >=0.20.0 <0.21.0, which the 0.21.0 runtime does NOT satisfy. The sigil: field is a different thing -- a MINIMUM, no upper bound -- so bare "0.20" there stays correct and only the dependency pins move.

Monorepo packages are not independently versioned; they advance in lockstep with the toolchain. Standalone libraries are NOT touched: sigil-http, sigil-json, sigil-tls, sigil-crypto and the rest version on their own cadence, and requesting ^0.21 of them asks for something that has never existed.

Found via kiln, the only repo in the estate whose pipeline greps deps.log and promotes an unmet-constraint warning to a failure. Every other repo emits the same warning under sigil test and passes, so the skew was estate-wide and visible in exactly one place.

Verified per repo: deps install reports ZERO unmet constraints.

Known limitation, recorded rather than hidden: ^0.21 excludes 0.22 in turn, so this recurs on the next toolchain bump. A minimum form (>=0.20) was measured working -- zero warnings, build ok, suite green -- and deferred by David 2026-09-02 in favour of matching the estate's existing spelling.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01P6mPymR1ZBRV1nuyDpBxDF

Changed
 package.sgl |  6 +++---
 sigil.lock  | 28 ++++++++++++++--------------
 2 files changed, 17 insertions(+), 17 deletions(-)
Diff
package.sglmodified
@@ -34,7 +34,7 @@
34
;; ^0.19). The reason had expired. See
35
;; topics/sigil-crypto-017-pin-does-not-protect-native-codegen.
36
(from-git url: "codeberg:sigil/sigil"
−37
package: "sigil-lib" version: "^0.19"))
+37
package: "sigil-lib" version: "^0.21"))
38
39
;; sigil-test + sigil-test-runner are required as dev-deps so
40
;; `sigil test` can build a test-harness binary that statically
@@ -49,8 +49,8 @@
49
;; host emits v11: `sigil test` died with "unsupported bytecode version 11
50
;; (expected 10)" before running anything. At ^0.19: 100/100 pass.
51
dev-dependencies: (list
−52
(from-git url: "codeberg:sigil/sigil" package: "sigil-test" version: "^0.20")
−53
(from-git url: "codeberg:sigil/sigil" package: "sigil-test-runner" version: "^0.20"))
+52
(from-git url: "codeberg:sigil/sigil" package: "sigil-test" version: "^0.21")
+53
(from-git url: "codeberg:sigil/sigil" package: "sigil-test-runner" version: "^0.21"))
54
55
;; Native library definition
56
libraries: (list
sigil.lockmodified
@@ -3,27 +3,27 @@
3
(package name: "sigil-stdlib"
4
url: "codeberg:sigil/sigil"
5
ref: ">=0.20, <1.0"
−6
sha: "2e452e2f641fcf63be4e88a2748b34791543be8f"
+6
sha: "8643e9abf19038c5f4961d41748427dbd623cb15"
7
package-selector: "sigil-stdlib"
−8
version: "0.20.3")
−9
(package name: "sigil-lib"
−10
url: "codeberg:sigil/sigil"
−11
ref: "^0.19"
−12
sha: "2e452e2f641fcf63be4e88a2748b34791543be8f"
−13
package-selector: "sigil-lib"
−14
version: "0.20.3")
+8
version: "0.21.0")
9
(package name: "sigil-test"
10
url: "codeberg:sigil/sigil"
−17
ref: "^0.20"
−18
sha: "2e452e2f641fcf63be4e88a2748b34791543be8f"
+11
ref: "^0.21"
+12
sha: "8643e9abf19038c5f4961d41748427dbd623cb15"
13
package-selector: "sigil-test"
−20
version: "0.20.3")
+14
version: "0.21.0")
15
(package name: "sigil-test-runner"
16
url: "codeberg:sigil/sigil"
−23
ref: "^0.20"
−24
sha: "2e452e2f641fcf63be4e88a2748b34791543be8f"
+17
ref: "^0.21"
+18
sha: "8643e9abf19038c5f4961d41748427dbd623cb15"
19
package-selector: "sigil-test-runner"
−26
version: "0.20.3")
+20
version: "0.21.0")
+21
(package name: "sigil-lib"
+22
url: "codeberg:sigil/sigil"
+23
ref: "^0.21"
+24
sha: "8643e9abf19038c5f4961d41748427dbd623cb15"
+25
package-selector: "sigil-lib"
+26
version: "0.21.0")
27
(package name: "sigil-json"
28
url: "codeberg:sigil/sigil-json"
29
ref: "^0.16.0"