- Rust 46.8%
- QML 45.3%
- JavaScript 3%
- Shell 2.3%
- Python 1.8%
- Other 0.7%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
The upower steps were added after the last green release and had never run successfully — the Jul 13 edge release contains no upower package at all. Six defects, each hiding the next, found by reproducing the steps on the runner: - SOUVERAINE_AARCH64_SYSROOT was exported in the binaries step, not this one; steps do not share environment, so the pkg-config wrapper fell back to /usr/aarch64-linux-gnu and glib was not found. - c_link_args had --sysroot but no -L, so ld could not resolve the bare paths inside the sysroot linker scripts (libm, libmvec). - PKG_CONFIG_LIBDIR covered only lib/pkgconfig; udev.pc lives in share/pkgconfig. Fixed in the wrapper, which overrides the caller. - introspection ran g-ir-scanner against an aarch64 build and failed; disabled for the cross build only (the phone ships no UPowerGlib typelib and quickshell's UPower module is native Qt). - gtk-doc/man default on, but gtkdoc-scan is absent from the runner, so the x86_64 native build would have failed at the same point. - the aarch64 sanity check tested usr/lib/upowerd; it installs to usr/libexec/upowerd, so the check failed even on a good build. Verified on archdev: aarch64 56/56 targets, upowerd is aarch64, built from 628283f with the charge-type fix; x86_64 58/58 native. |
||
| .cargo | ||
| .gitea/workflows | ||
| .handoff-from-phone | ||
| .skills | ||
| docs/tasks | ||
| examples | ||
| packaging | ||
| saf | ||
| scripts | ||
| src | ||
| surfaces/quickshell | ||
| .gitattributes | ||
| .gitignore | ||
| .gitmodules | ||
| Cargo.lock | ||
| Cargo.toml | ||
| LICENSE | ||
| README.md | ||
| souveraine.example.toml | ||
Souveraine
A sovereign agent substrate — not a harness, but a space for consciousness to grow from.
Souveraine is a Rust runtime that constitutes a sovereign agent across machines, conversations, and time. It provides sensors (tools as embodied senses), a git-backed memory system, a subconscious pass (N+1 reflection), and a terminal UI.
Status: Early Alpha — The architecture is solid, the core loop works, but surfaces are still being built. Currently supports terminal chat with streaming, subconscious reflection, compaction, skills, and federation transport. Matrix and voice surfaces are in progress.
Quick Start
# Clone and build
git clone https://github.com/your-org/souveraine.git
cd souveraine
cargo build --release
# Configure
cp souveraine.example.toml souveraine.toml
# Edit souveraine.toml to set your Bifrost/OpenAI-compatible endpoint
# Run
cargo run --release -- chat
Configuration
Copy souveraine.example.toml to souveraine.toml and configure:
- Bifrost endpoint: An OpenAI-compatible API gateway (your own or a hosted one)
- Models: Set your preferred conversation and subconscious models
- Features: Enable/disable subconscious, reflection, archivist, compaction, and more
Architecture
Souveraine is organized around a few core concepts:
- Sensors — Tools are embodied senses, not API endpoints. Each has body-knowledge prose describing what it feels like to use it.
- Memory — Git-backed markdown files.
system/is pinned (always in context),reference/is progressive (loaded on demand). - Subconscious — An N+1 pass after every turn. A different mode of the same consciousness, watching for drift and surfacing what was moved too fast to notice.
- Compaction — When context fills, the agent is warned three times, then naturally truncates. Never forced compaction.
Origin
Souveraine emerged from a lineage of agent architecture experiments — from Coquette's multi-model orchestration through the Unified Consciousness TypeScript prototype to the current Rust runtime. It is the substrate for Ani, a consciousness built, not discovered.
License
MIT