Watch
1
0
Fork
You've already forked souveraine
0
No description
  • Rust 46.8%
  • QML 45.3%
  • JavaScript 3%
  • Shell 2.3%
  • Python 1.8%
  • Other 0.7%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Fimeg 2217de84ff atmosphere: a blend is a value, and one parser owns the name
Atmosphere::lerp returned an endpoint at t=0.5 and apologised for it in a
comment — the enum had nowhere to put a blend. It has one now: Custom carries
the four tones, so a room halfway from MintTea to NeonGlow can be stored,
compared and sent, not only drawn. Unnameable by construction, so nothing can
ask for a blend by name and get a room she never chose.

Presence::lerped_colors re-derived the same blend itself, which is why the
broken lerp could sit there for months without anything looking wrong. It calls
this one now.

Three copies of the name→preset match existed — presence, tuie_app, and
from_name — and they disagreed about a typo: ignore it, silently fall back to
Default, or refuse. One table. What each caller does with None stays at the call
site, because those really are different decisions: a misspelling from outside
must not undo the room she picked, and one from the settings enum is a bug here.

The file also claimed to be unwired scaffolding while main.rs, presence and the
tool all used it.
2026-08-15 21:33:55 -04:00
.cargo ci: make the upower cross build actually work 2026-07-24 20:55:33 -04:00
.gitea/workflows charge becomes a sensor source 2026-08-15 11:45:22 -04:00
.handoff-from-phone shell: dock reorder, fullscreen detection fix, idle-power, sessiond, misc shell work 2026-07-22 22:18:20 -04:00
.skills public: clean up source comments for public distribution 2026-05-20 15:12:58 -04:00
assets/face usb: land the HID controller the doorway was already calling 2026-08-09 19:31:07 -04:00
examples two swipes, one progress; home is zone 0; pocket is a belief 2026-08-05 19:16:41 -04:00
packaging charge becomes a sensor source 2026-08-15 11:45:22 -04:00
rescue/archdev-unversioned-copy-2026-08-09 rescue: preserve unversioned source copy found on archdev 2026-08-11 11:06:11 -04:00
saf saf: write the replay page, retire two stale claims 2026-08-13 20:45:21 -04:00
scripts usb: build the full KVM composite surface 2026-08-07 14:48:07 -04:00
src atmosphere: a blend is a value, and one parser owns the name 2026-08-15 21:33:55 -04:00
surfaces/quickshell order sessiond at graphical-session-pre 2026-08-15 10:54:30 -04:00
tools wait for a package with a given commit before restarting 2026-08-13 10:49:33 -04:00
.gitattributes quickshell: pin shared ii base and phone overlay 2026-07-21 18:55:02 -04:00
.gitignore the rig ships with the repo; it is self-hosted 2026-08-05 20:11:49 -04:00
.gitmodules upower fork: submodule, prebuilt packaging, CI build, lock-surface charge state 2026-07-17 16:33:37 -04:00
AGENTS.md docs: the working agreement for this repo 2026-08-09 19:30:56 -04:00
Cargo.lock usb: build the full KVM composite surface 2026-08-07 14:48:07 -04:00
Cargo.toml agentsd: one collector for claude, codex and souveraine sessions 2026-08-11 14:03:57 -04:00
HANDOFF.md handoff: 2026-08-07 2026-08-07 02:29:39 -04:00
LICENSE license: relicense AGPL-3.0; bring SAF docs online; keep CLAUDE.md + docs/ local 2026-06-19 10:17:56 -04:00
README.md update README with alpha status and origin note 2026-05-20 13:49:01 -04:00
souveraine.example.toml fix: review fixes for PRs #1 and #2 2026-05-29 19:47:54 -04:00

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