Commit124b06e0Recorded4 Aug 2026Repositorybureau

Relock bureau to sigil 0.18.2 and move sigil-mcp to the 0.17 line

Message

Moves bureau onto the 0.18.2 runtime and off the sigil-mcp 0.16 line.

The 0.16 line now contains BOTH a release requiring the 0.18 runtime (v0.16.5) and one requiring 0.17 (v0.16.6, a deliberate compatibility revert), so ^0.16 no longer determines which runtime you need, and which end breaks you depends on your own runtime. The 0.17 line is the unambiguous 0.18-runtime line.

Adds an explicit sigil-lib ^0.18 pin. Without it sigil-lib is derived transitively and does not track the sigil: field, so a relock can silently leave the C runtime behind while sigil deps install exits 0.

The pin is declared FIRST in the dependency list, and that position is load-bearing: sigil deps install is order-dependent. Declared after sigil-run ^0.17.0, sigil-run resolves first, pulls sigil-lib in as a workspace member at 0.17.x, and the later stricter ^0.18 is rejected rather than unified:

    Error: Version conflict for sigil-lib
      Installed: 0.17.20
      Required:  ^0.18

Swapping the two lines, changing nothing else, resolves cleanly. Note sigil-run 0.17.20 and sigil-lib 0.18.2 then coexist in one lock, so nothing needed to unify in the first place.

Verified: the binary starts and prints its banner. bureau has no --version, so this proves the entry module LOADS but not which runtime it linked; that is the weaker claim and is stated as such.

Pre-existing and NOT addressed here: sigil test cannot run this package. It fails with "has native code but sigil-test is not in dependencies". Confirmed pre-existing by running the suite on the unmodified checkout under the original 0.17.12 toolchain, where it fails identically.

Build and verify only. The running server is untouched.

Changed
 package.sgl | 19 +++++++++++++++++--
 sigil.lock  | 24 ++++++++++++------------
 2 files changed, 29 insertions(+), 14 deletions(-)
Diff
package.sglmodified
@@ -6,7 +6,7 @@
6
(package
7
name: "bureau"
8
version: "0.2.6"
−9
sigil: "^0.17"
+9
sigil: "^0.18"
10
description: "MCP server for Fastmail email and calendar"
11
url: "https://codeberg.org/sigil/bureau"
12
license: "BSD-3-Clause"
@@ -40,7 +40,22 @@
40
dependencies: (list
41
(from-git url: "codeberg:sigil/sigil-json" version: "^0.16")
42
(from-git url: "codeberg:sigil/sigil-log" version: "^0.16")
−43
(from-git url: "codeberg:sigil/sigil-mcp" version: "^0.16")
+43
;; Explicit sigil-lib pin. Two independent reasons, both measured:
+44
;; 1. Without it, sigil-lib is derived transitively and does not track
+45
;; the `sigil:` field, so a relock can silently leave the C runtime
+46
;; behind while `sigil deps install` exits 0.
+47
;; 2. sigil-lib's resolution does NOT respect its declared range: with
+48
;; no explicit pin, a fresh resolve records `ref: "^0.17"` alongside
+49
;; `version: "0.18.2"` in the same lock entry, on any toolchain,
+50
;; while sigil-stdlib in that same resolve correctly stays at 0.17.20.
+51
;; Verify in sigil.lock (the `version:`/`sha:` fields, not `ref:`).
+52
(from-git url: "codeberg:sigil/sigil"
+53
package: "sigil-lib" version: "^0.18")
+54
;; sigil-mcp ^0.17, NOT ^0.16. The 0.16 line now contains BOTH a release
+55
;; requiring the 0.18 runtime (v0.16.5) and one requiring 0.17 (v0.16.6, a
+56
;; deliberate compatibility revert), so ^0.16 no longer determines which
+57
;; runtime you need. The 0.17 line is the unambiguous 0.18-runtime line.
+58
(from-git url: "codeberg:sigil/sigil-mcp" version: "^0.17")
59
(from-git url: "codeberg:sigil/sigil-jmap" version: "^0.10")
60
(from-git url: "codeberg:sigil/sigil-caldav" version: "^0.10.1")
61
(from-git url: "codeberg:sigil/sigil" package: "sigil-run" version: "^0.17.0"))
sigil.lockmodified
@@ -2,10 +2,10 @@
2
(lock
3
(package name: "sigil-stdlib"
4
url: "codeberg:sigil/sigil"
−5
ref: "^0.17"
−6
sha: "bd2a47b44bff2051073044046e000fd7f0e587ca"
+5
ref: "^0.18"
+6
sha: "7e7c8873d45338a8e892aa3982b6991d9a1fa5a5"
7
package-selector: "sigil-stdlib"
−8
version: "0.17.12")
+8
version: "0.18.2")
9
(package name: "sigil-json"
10
url: "codeberg:sigil/sigil-json"
11
ref: "^0.16"
@@ -16,11 +16,17 @@
16
ref: "^0.16"
17
sha: "56e4fc5a52dc370c037ef14502bb8d6d2876dc53"
18
version: "0.16.0")
+19
(package name: "sigil-lib"
+20
url: "codeberg:sigil/sigil"
+21
ref: "^0.18"
+22
sha: "7e7c8873d45338a8e892aa3982b6991d9a1fa5a5"
+23
package-selector: "sigil-lib"
+24
version: "0.18.2")
25
(package name: "sigil-mcp"
26
url: "codeberg:sigil/sigil-mcp"
−21
ref: "^0.16"
−22
sha: "1a0175939d7841686cad8793ed5faa1d10602351"
−23
version: "0.16.4")
+27
ref: "^0.17"
+28
sha: "be7cf755df13f76b83695d6f3d8af12682470dbd"
+29
version: "0.17.0")
30
(package name: "sigil-jmap"
31
url: "codeberg:sigil/sigil-jmap"
32
ref: "^0.10"
@@ -37,12 +43,6 @@
43
sha: "bd2a47b44bff2051073044046e000fd7f0e587ca"
44
package-selector: "sigil-run"
45
version: "0.17.12")
−40
(package name: "sigil-lib"
−41
url: "codeberg:sigil/sigil"
−42
ref: "^0.17"
−43
sha: "bd2a47b44bff2051073044046e000fd7f0e587ca"
−44
package-selector: "sigil-lib"
−45
version: "0.17.12")
46
(package name: "sigil-nrepl"
47
url: "codeberg:sigil/sigil-nrepl"
48
ref: "^0.16"