Resolve plugin source names from canonical tribe-one-* slugs when repositories and Guix files still use the unprefixed basename. Allow the source basename form to follow the manifest slug during the transition and refresh the Sender plugin pin.
Do not eagerly load Hyper-V, VMware, or Xen frontend modules in the kexec installer initrd. The broadened compatibility list caused Hetzner CPX31 kexec boots to fall back to the Ubuntu disk before installer SSH became reachable; the KVM/QEMU and common emulated NIC subset boots successfully.\n\nAlso require cpio in the local kexec image build script so missing cpio fails before writing an incomplete image.
Avoid embedding the already-copied kexec initrd and boot parameters in the squashfs store closure while keeping the system path and runtime closure available. Add conservative extra tribes-linux trims for niche mesh/IoT network stacks and rare local filesystems.
Define a Guix tarball pack for external Sender runtime nodes, including ffmpeg, Vinyl, node_exporter, vmagent, and a private Shepherd launcher. The launcher defaults to /etc/tribes/sender-runtime.env and includes an example env file plus optional boot hook installation.
Make update-plugin-pin derive its dependency hashing setup from the plugin package's reuse-host-libs and include-mix-deps settings instead of always injecting the host source setup.
Move the shared Guix base channel to guix-fork refactor/substituter-trace-framing at 83b0e7d44546968002fb0c0043004da4e9bedc0d and use that signed commit as the channel introduction.
Handle keyword-style #:provides and #:requires entries in plugin package definitions, including both pinned and local package variants.\n\nVerified update-plugin-pin with --use-build-host pguix for supertest and sender temp checkouts.
Derive plugin registry records from package metadata, reuse host release libs for plugin compilation, and make native/private Mix deps opt-in.\n\nUpdate the Tribes pin to the scheduler commit and verify plugin builds on pguix without shipping host OTP apps.
Add the Trust plugin package to guix-tribes, include it in plugin pin refreshes and registry substitute packages, and update the Kobold package pin for the dataset foundation.
Validate id/slug manifests and fully-qualified capabilities during release assembly, add Kobold to the plugin registry, and
refresh Tribes/plugin pins.
Default pin refresh scripts to local Guix and require an explicit --use-build-host HOST for remote hashing/builds. Update the README to describe current channel contents and pin maintenance commands without local host-specific names.
Add a wrapper that refreshes the Tribes pin and each listed external plugin pin by calling the existing update scripts.
Support an optional --commit flag that stages only the affected pin files and commits them with the requested bump message.
Add a Guix-packed debug Docker image and Gitea workflow for pinned multi-node e2e validation. The debug image is built with admin debug methods enabled and published under debug-specific names so it is not confused with a real release image.
Rewrite update-plugin-pin as a generic Perl script without aether-specific logic or Python dependencies.
Default plugin paths now resolve from the plugin name, and the aether pin was refreshed end to end against pguix.
Add a small helper that resolves a Tribes revision, exports a clean source tree from the local checkout, and asks pguix to compute the exact Guix fixed-output hashes for the source, raw Mix deps, prepared Mix deps, and npm deps.\n\nThe script updates tribes/packages/source.scm in one step, so bumping the pin no longer requires hand-running git archive, guix hash, and the mix/npm dependency hash pipeline separately.