Commit33b1ea7eRecorded2 Sep 2026Repositorysigil-system

Relock onto sigil 0.20 and add the standard pipeline

Message

The sigil: field carried a caret range, deprecated across the estate since 2026-08-25. Monorepo package pins brought to 0.20; standalone libraries left alone, since they version independently.

Suite: 37 passed, 1 failed. THE FAILURE IS KNOWN AND EXPECTED.

session-open accepts stderr: 'merge, validates it ("stderr must be merge when present"), and then dispatches to process-spawn-pipe-merged. That symbol does not exist anywhere in the estate except the line that calls it: not in this repo, not in sigil-stdlib -- which exports process-spawn, -error, -opts, -pipe and -pty -- and not in the native process.c, which gives the child a separate stderr_pipe. Every caller of the documented option hits an unbound variable.

The fix belongs in stdlib and its C: a spawn variant that dup2s stderr onto the stdout pipe, which is what the missing name describes. Merging in Scheme instead would need a second reader pump sharing one credit window, and that code carries explicit warnings about parking at zero window -- not a change to make in passing. Tracked as t-9a0346.

The repo goes onto CI with the step visibly red rather than with the test deleted, because the test is right and the feature is missing.

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

Changed
 .kiln/ci.sgv |  9 +++++++++
 package.sgl  |  6 +++---
 sigil.lock   | 45 +++++++++++++++++++++++----------------------
 3 files changed, 35 insertions(+), 25 deletions(-)
Diff
.kiln/ci.sgvadded
@@ -0,0 +1,9 @@
+1
(pipeline ci
+2
on: #[ (push) (manual) ]
+3
+4
(job ci
+5
steps: #[
+6
(shell name: deps "sigil deps install")
+7
(shell name: build "sigil build")
+8
(shell name: test "sigil test")
+9
]))
package.sglmodified
@@ -8,7 +8,7 @@
8
(package
9
name: "sigil-system"
10
version: "0.1.2"
−11
sigil: "^0.17"
+11
sigil: "0.20"
12
description: "System capability library: filesystem, processes, and PTY sessions behind a grant-checked surface"
13
url: "https://codeberg.org/sigil/sigil-system"
14
license: "BSD-3-Clause"
@@ -31,5 +31,5 @@
31
bundle?: #t))
32
33
dev-dependencies: (list
−34
(from-git url: "codeberg:sigil/sigil" package: "sigil-test" version: "^0.17")
−35
(from-git url: "codeberg:sigil/sigil" package: "sigil-test-runner" version: "^0.17")))
+34
(from-git url: "codeberg:sigil/sigil" package: "sigil-test" version: "^0.20")
+35
(from-git url: "codeberg:sigil/sigil" package: "sigil-test-runner" version: "^0.20")))
sigil.lockmodified
@@ -2,40 +2,41 @@
2
(lock
3
(package name: "sigil-stdlib"
4
url: "codeberg:sigil/sigil"
−5
ref: "^0.17"
−6
sha: "b76109c62d04486ecf5c4809faf89102634e97be"
+5
ref: ">=0.20, <1.0"
+6
sha: "2e452e2f641fcf63be4e88a2748b34791543be8f"
7
package-selector: "sigil-stdlib"
−8
version: "0.17.19")
+8
version: "0.20.3")
9
(package name: "sigil-test"
10
url: "codeberg:sigil/sigil"
−11
ref: "^0.17"
−12
sha: "b76109c62d04486ecf5c4809faf89102634e97be"
+11
ref: "^0.20"
+12
sha: "2e452e2f641fcf63be4e88a2748b34791543be8f"
13
package-selector: "sigil-test"
−14
version: "0.17.19")
+14
version: "0.20.3")
15
(package name: "sigil-test-runner"
16
url: "codeberg:sigil/sigil"
−17
ref: "^0.17"
−18
sha: "b76109c62d04486ecf5c4809faf89102634e97be"
+17
ref: "^0.20"
+18
sha: "2e452e2f641fcf63be4e88a2748b34791543be8f"
19
package-selector: "sigil-test-runner"
−20
version: "0.17.19")
−21
(package name: "sigil-ansi"
−22
url: "codeberg:sigil/sigil-ansi"
−23
ref: "^0.16.0"
−24
sha: "1e14b6f9d034ca8ef9f404e2ded316d0780ad7cf"
−25
version: "0.16.0")
+20
version: "0.20.3")
21
(package name: "sigil-json"
22
url: "codeberg:sigil/sigil-json"
23
ref: "^0.16.0"
24
sha: "55c9e74712b5f79b45d41c65cfe0aef2c8f7e155"
25
version: "0.16.0")
−31
(package name: "sigil-version"
−32
url: "codeberg:sigil/sigil-version"
+26
(package name: "sigil-crypto"
+27
url: "codeberg:sigil/sigil-crypto"
28
ref: "^0.16.0"
−34
sha: "2d2c9ef9c2694466f65abc14cddf9bfb9cada4a4"
−35
version: "0.16.0")
−36
(package name: "sigil-git"
−37
url: "codeberg:sigil/sigil-git"
+29
sha: "debba4462b7ff4de143db9e0792b8606fdc455bc"
+30
version: "0.16.5")
+31
(package name: "sigil-sqlite"
+32
url: "codeberg:sigil/sigil-sqlite"
33
ref: "^0.16.0"
−39
sha: "2d54eb99d3ca0597b3ccd9d4829d312c54721086"
−40
version: "0.16.1")
+34
sha: "569ef1063dda8f5989968644af31fc09c64b4bfe"
+35
version: "0.16.3")
+36
(package name: "sigil-lib"
+37
url: "codeberg:sigil/sigil"
+38
ref: "^0.19"
+39
sha: "2e452e2f641fcf63be4e88a2748b34791543be8f"
+40
package-selector: "sigil-lib"
+41
version: "0.20.3")
42
)