Commitc27bc3f6Recorded2 Sep 2026Repositorycourier

Relock onto sigil 0.20 and drop the caret sigil: field

Message

courier's CI failure was NOT a stale worker cache, which is what t-4182b8 and then t-e71594 claimed. It was this repo's own lock being behind the runner.

Measured after the golden image was rebaked onto sigil 0.21.0:

  • courier, declaring sigil: "^0.19" and never relocked, failed run 237 with 6 LOAD ERROR / invalid native function index -- byte-identical counts to run 204 on the OLD image.
  • sigil-wise, declaring sigil: "0.20" and relocked today, PASSED on the same new image in the same window.

So the runtime moved forward and this repo's pinned artifacts did not. invalid native function index is a native-function-table mismatch, and it points at whichever side is behind -- which was never the worker.

The mechanism findings in t-e71594 still hold: runners are 196 KiB overlays over a read-only golden image, discarded per lease, so the baked deps genuinely cannot be purged. What was wrong was the CONCLUSION drawn from them, that a re-bake was the only possible fix. The re-bake moved the runtime further from this repo's pins and the failure reproduced exactly.

The sigil: field also carried the caret spelling deprecated since 2026-08-25; it declares a MINIMUM, not a range. Suite: 120 passed from a clean tree.

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

Changed
 package.sgl |  2 +-
 sigil.lock  | 70 +++++++++++++++++++++++++++++++++++-----------------------------------
 2 files changed, 36 insertions(+), 36 deletions(-)
Diff
package.sglmodified
@@ -10,7 +10,7 @@
10
url: "https://codeberg.org/sigil/courier"
11
license: "BSD-3-Clause"
12
authors: (list "David Wilson <david@daviwil.com>")
−13
sigil: "^0.19"
+13
sigil: "0.20"
14
15
entry: '(courier main)
16
bundle-name: "courier"
sigil.lockmodified
@@ -2,16 +2,28 @@
2
(lock
3
(package name: "sigil-stdlib"
4
url: "codeberg:sigil/sigil"
−5
ref: "^0.19"
−6
sha: "b99b8f2dd82e7ff7465c3d49a1f81250f2d00007"
+5
ref: ">=0.20, <1.0"
+6
sha: "8643e9abf19038c5f4961d41748427dbd623cb15"
7
package-selector: "sigil-stdlib"
−8
version: "0.19.0")
+8
version: "0.21.0")
+9
(package name: "sigil-test"
+10
url: "codeberg:sigil/sigil"
+11
ref: "^0.19"
+12
sha: "8643e9abf19038c5f4961d41748427dbd623cb15"
+13
package-selector: "sigil-test"
+14
version: "0.21.0")
+15
(package name: "sigil-test-runner"
+16
url: "codeberg:sigil/sigil"
+17
ref: "^0.19"
+18
sha: "8643e9abf19038c5f4961d41748427dbd623cb15"
+19
package-selector: "sigil-test-runner"
+20
version: "0.21.0")
21
(package name: "sigil-lib"
22
url: "codeberg:sigil/sigil"
23
ref: "^0.19"
−12
sha: "b99b8f2dd82e7ff7465c3d49a1f81250f2d00007"
+24
sha: "8643e9abf19038c5f4961d41748427dbd623cb15"
25
package-selector: "sigil-lib"
−14
version: "0.19.0")
+26
version: "0.21.0")
27
(package name: "sigil-json"
28
url: "codeberg:sigil/sigil-json"
29
ref: "^0.16"
@@ -25,8 +37,8 @@
37
(package name: "sigil-mcp"
38
url: "codeberg:sigil/sigil-mcp"
39
ref: "^0.17"
−28
sha: "9a315236f4914afb01252323babcbbfd7d49a42d"
−29
version: "0.17.1")
+40
sha: "fc799460b2d0f431976cf4514c6cf2d459e6bcc0"
+41
version: "0.17.5")
42
(package name: "sigil-yaml"
43
url: "codeberg:sigil/sigil-yaml"
44
ref: "^0.9.1"
@@ -37,18 +49,16 @@
49
ref: "^0.10.0"
50
sha: "ad6aa63876f2bc53eac5f7db4c124a9ec95e0bec"
51
version: "0.10.6")
−40
(package name: "sigil-test"
−41
url: "codeberg:sigil/sigil"
−42
ref: "^0.19"
−43
sha: "b99b8f2dd82e7ff7465c3d49a1f81250f2d00007"
−44
package-selector: "sigil-test"
−45
version: "0.19.0")
−46
(package name: "sigil-test-runner"
−47
url: "codeberg:sigil/sigil"
−48
ref: "^0.19"
−49
sha: "b99b8f2dd82e7ff7465c3d49a1f81250f2d00007"
−50
package-selector: "sigil-test-runner"
−51
version: "0.19.0")
+52
(package name: "sigil-crypto"
+53
url: "codeberg:sigil/sigil-crypto"
+54
ref: "^0.16.0"
+55
sha: "debba4462b7ff4de143db9e0792b8606fdc455bc"
+56
version: "0.16.5")
+57
(package name: "sigil-sqlite"
+58
url: "codeberg:sigil/sigil-sqlite"
+59
ref: "^0.16.0"
+60
sha: "569ef1063dda8f5989968644af31fc09c64b4bfe"
+61
version: "0.16.3")
62
(package name: "sigil-nrepl"
63
url: "codeberg:sigil/sigil-nrepl"
64
ref: "^0.17.1"
@@ -57,27 +67,17 @@
67
(package name: "sigil-http"
68
url: "codeberg:sigil/sigil-http"
69
ref: "^0.18.3"
−60
sha: "23d647f1c782e7f617ac1e8c537744f260b10bb6"
−61
version: "0.18.4")
−62
(package name: "sigil-crypto"
−63
url: "codeberg:sigil/sigil-crypto"
−64
ref: "^0.16.0"
−65
sha: "964eec2fad375834e2b49da454209fabc059ca30"
−66
version: "0.16.4")
−67
(package name: "sigil-sqlite"
−68
url: "codeberg:sigil/sigil-sqlite"
−69
ref: "^0.16.0"
−70
sha: "3d441fb32a216aaf99d0e2732bef5877e91d5d48"
−71
version: "0.16.2")
+70
sha: "0b4617ac000d6f3ed9f3d0906e6b746ad995ea03"
+71
version: "0.18.5")
72
(package name: "sigil-repl"
73
url: "codeberg:sigil/sigil"
74
ref: "^0.19"
−75
sha: "b99b8f2dd82e7ff7465c3d49a1f81250f2d00007"
+75
sha: "c9719987aa3c866291db10b29044bc21a4790c31"
76
package-selector: "sigil-repl"
−77
version: "0.19.0")
+77
version: "0.19.4")
78
(package name: "sigil-tls"
79
url: "codeberg:sigil/sigil-tls"
80
ref: "^0.16.5"
−81
sha: "fe4b756f2f46eacf5e3a4eb5d17f2681d88c5ee8"
−82
version: "0.16.5")
+81
sha: "4cde885f8bbb15b1457b0293a5b9fa7d292cfc46"
+82
version: "0.16.6")
83
)