rad:zhmiwr8g1YjAnGCgk5xVazNXsQr4 geas55acd15d909c660a7212c6f1aa57536de7aedd49Request message.radicle/native.yamlgit clone /var/lib/radicle/storage/zhmiwr8g1YjAnGCgk5xVazNXsQr4 /var/lib/radicle-ci/reports/logs/geas/trusted/0b8e5551-4fb2-454b-b109-670bf1f34428/srcgit config advice.detachedHead falsegit checkout 55acd15d909c660a7212c6f1aa57536de7aedd49git show 55acd15d909c660a7212c6f1aa57536de7aedd49bash -c set -xeuo pipefail
set -e
nix flake check -L
nix build -L
./result/bin/geas --help
Request message{
"request": "trigger",
"version": 1,
"event_type": "push",
"repository": {
"id": "rad:zhmiwr8g1YjAnGCgk5xVazNXsQr4",
"name": "geas",
"description": "Launch AI agents with short-lived GitHub and GitLab credentials",
"private": false,
"default_branch": "main",
"delegates": [
"did:key:z6Mkp67KWsEULs8E1ufmwP3JwgU7uvZueB3E16tHnBNK742d",
"did:key:z6MktbPPfEZKBgZHMcEh2DPM5p2wkkTJSKLQnTwsQX5L9zjb"
]
},
"pusher": {
"id": "did:key:z6Mkp67KWsEULs8E1ufmwP3JwgU7uvZueB3E16tHnBNK742d",
"alias": "nolith"
},
"before": "55acd15d909c660a7212c6f1aa57536de7aedd49",
"after": "55acd15d909c660a7212c6f1aa57536de7aedd49",
"branch": "main",
"commits": [
"55acd15d909c660a7212c6f1aa57536de7aedd49"
]
}.radicle/native.yamlshell: | set -e nix flake check -L nix build -L ./result/bin/geas --help
git clone /var/lib/radicle/storage/zhmiwr8g1YjAnGCgk5xVazNXsQr4 /var/lib/radicle-ci/reports/logs/geas/trusted/0b8e5551-4fb2-454b-b109-670bf1f34428/srcCommand arguments:
"git""clone""/var/lib/radicle/storage/zhmiwr8g1YjAnGCgk5xVazNXsQr4""/var/lib/radicle-ci/reports/logs/geas/trusted/0b8e5551-4fb2-454b-b109-670bf1f34428/src"In directory: /
Exit code: 0
Output (stdout and stderr):
Cloning into '/var/lib/radicle-ci/reports/logs/geas/trusted/0b8e5551-4fb2-454b-b109-670bf1f34428/src'... done.
git config advice.detachedHead falseCommand arguments:
"git""config""advice.detachedHead""false"In directory: /var/lib/radicle-ci/reports/logs/geas/trusted/0b8e5551-4fb2-454b-b109-670bf1f34428/src
Exit code: 0
git checkout 55acd15d909c660a7212c6f1aa57536de7aedd49Command arguments:
"git""checkout""55acd15d909c660a7212c6f1aa57536de7aedd49"In directory: /var/lib/radicle-ci/reports/logs/geas/trusted/0b8e5551-4fb2-454b-b109-670bf1f34428/src
Exit code: 0
Output (stdout and stderr):
HEAD is now at 55acd15 Point the homepage at Radicle
git show 55acd15d909c660a7212c6f1aa57536de7aedd49Command arguments:
"git""show""55acd15d909c660a7212c6f1aa57536de7aedd49"In directory: /var/lib/radicle-ci/reports/logs/geas/trusted/0b8e5551-4fb2-454b-b109-670bf1f34428/src
Exit code: 0
Output (stdout and stderr):
commit 55acd15d909c660a7212c6f1aa57536de7aedd49
Author: Alessio Caiazza <code.git@caiazza.info>
Date: Mon Nov 2 15:46:55 2026 +0100
Point the homepage at Radicle
geas now lives on Radicle; GitHub is a mirror.
AI-assisted: Claude Code (claude-opus-5-5)
diff --git a/flake.nix b/flake.nix
index bd05704..6b875b3 100644
--- a/flake.nix
+++ b/flake.nix
@@ -90,7 +90,7 @@
meta = {
description = "Launch AI agents with short-lived GitHub and GitLab credentials";
- homepage = "https://github.com/nolith/geas";
+ homepage = "https://code.nolith.dev/nodes/code.nolith.dev/rad:zhmiwr8g1YjAnGCgk5xVazNXsQr4";
license = lib.licenses.gpl3Plus;
mainProgram = "geas";
platforms = lib.platforms.linux ++ lib.platforms.darwin;
bash -c set -xeuo pipefail
set -e
nix flake check -L
nix build -L
./result/bin/geas --help
Command arguments:
"bash""-c""set -xeuo pipefail\nset -e\nnix flake check -L\nnix build -L\n./result/bin/geas --help\n"In directory: /var/lib/radicle-ci/reports/logs/geas/trusted/0b8e5551-4fb2-454b-b109-670bf1f34428/src
Exit code: 0
Output (stdout and stderr):
+ set -e
+ nix flake check -L
evaluating flake...
checking flake output 'packages'...
checking derivation packages.x86_64-linux.default...
derivation evaluated to /nix/store/jzarli9djqhx528zjhmgd0c772qn59ir-geas-55acd15.drv
checking derivation packages.x86_64-linux.geas...
derivation evaluated to /nix/store/jzarli9djqhx528zjhmgd0c772qn59ir-geas-55acd15.drv
checking flake output 'formatter'...
checking derivation formatter.x86_64-linux...
derivation evaluated to /nix/store/r855klhirqfxgz2wk49divhmbdxj60j8-treefmt-with-config-2.6.0.drv
checking flake output 'checks'...
checking derivation checks.x86_64-linux.build...
derivation evaluated to /nix/store/jzarli9djqhx528zjhmgd0c772qn59ir-geas-55acd15.drv
checking derivation checks.x86_64-linux.formatting...
derivation evaluated to /nix/store/2avkbg5q0cac8gp1dgqiym894kfhvdk6-treefmt-with-config-check.drv
checking flake output 'devShells'...
checking derivation devShells.x86_64-linux.default...
derivation evaluated to /nix/store/x9xilzm07dfsly6pafgr54w3bq43cfb6-nix-shell.drv
running 1 flake checks...
building '/nix/store/2avkbg5q0cac8gp1dgqiym894kfhvdk6-treefmt-with-config-check.drv'...
treefmt-with-config-check> structuredAttrs is enabled
treefmt-with-config-check> Initialized empty Git repository in /build/project/.git/
treefmt-with-config-check> treefmt v2.6.0traversed 96 files
treefmt-with-config-check> emitted 79 files for processing
treefmt-with-config-check> formatted 79 files (0 changed) in 38ms
treefmt-with-config-check> On branch main
treefmt-with-config-check> nothing to commit, working tree clean
treefmt-with-config-check (post)> 2026/11/03 10:34:49 Successfully queued 1 paths
all checks passed!
warning: The check omitted these incompatible systems: aarch64-darwin, aarch64-linux
Use '--all-systems' to check all.
+ nix build -L
this path will be fetched (0.0 KiB download, 6.7 MiB unpacked):
/nix/store/24d367cc7h41asaxdv564a7r97741wy2-geas-55acd15
copying path '/nix/store/24d367cc7h41asaxdv564a7r97741wy2-geas-55acd15' from 'https://attic.crocodile-godzilla.ts.net/nolith-systems'...
+ ./result/bin/geas --help
Usage: geas [--config config.json] COMMAND
The configuration defaults to $XDG_CONFIG_HOME/geas/config.json, else
~/.config/geas/config.json.
Commands:
github-login Authorize your GitHub App once via device flow
save-gitlab-issuer [--host HOST] [--stdin]
Store the issuer PAT of a GitLab host whose issuer
is "bearer", with mode 600
config check Check the configuration and list its providers
allowed URL Exit 0 when a session hands its credentials to Git
for the remote URL (HTTPS, or SSH as git@), 1 if not
run -- HARNESS [ARGS...] Start a session with user credentials; inside a
session, run HARNESS in it
credential get Git's credential helper, inside a session
status Inside a session: each provider's credential, pending,
ready or failed with the reason
sandbox check Inside a session: check that no protected path is
readable and that the session directory is
ssh COMMAND Grant agents SSH certificates: grant, show, drop,
enroll, list-cas, name; see geas ssh --help
Requires Git, and glab in PATH for the glab issuer; geas ssh needs ssh-keygen,
and ykman and fido2-token for the YubiKey. Linux/macOS only.