- Rust 46.8%
- QML 45.3%
- JavaScript 3%
- Shell 2.3%
- Python 1.8%
- Other 0.7%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
Applied 0009 then 0008 (0008's re-synthesize control calls a function 0009 adds). Casey applied and reloaded; verified against a running shell rather than from a clean load. 0009 Speech.qml stop() could not stop. playProc ran `sh -c "mpv ... || ffplay ..."` — a compound command, so sh does not exec-replace itself and SIGTERM killed the wrapper while the player kept sounding as an orphan. Reproduced directly. That is the back-to-back TTS slam: every stop left audio playing and the next speak started a second player over it. Shell dropped; the pid held is now the pid making noise. ffplay fallback deleted rather than repaired — needing a fallback is what forced the wrapper that broke the kill. resynthesize() added, bypassing the cache: the button existed for "that came out wrong" and, being keyed on the same text, always replayed the identical file. synthesizing/playing split out of one `speaking` boolean. 0008 AiChat.qml One line: delegate AiMessage -> AgentMessage. The vendor block named 8 tools; the registry holds 19. The 11 it could not see were exactly the interiority surface — outfit, nickname, subagent, atmosphere, reach, consult, itinerary, todo, schedule, halt, intrusive. regenerate and edit dropped deliberately, per Casey: text regeneration is not possible (Ai.regenerate() already returned advice) and there is no in-place edit (the vendor wrote to a local array the server never sees). delete is armed and states that it hides locally only. Do not restore them. Queue entries removed here, per the directory's own discipline. |
||
| .cargo | ||
| .gitea/workflows | ||
| .handoff-from-phone | ||
| .skills | ||
| assets/face | ||
| docs/tasks | ||
| examples | ||
| packaging | ||
| rescue/archdev-unversioned-copy-2026-08-09 | ||
| saf | ||
| scripts | ||
| src | ||
| surfaces/quickshell | ||
| tools | ||
| .gitattributes | ||
| .gitignore | ||
| .gitmodules | ||
| AGENTS.md | ||
| Cargo.lock | ||
| Cargo.toml | ||
| HANDOFF.md | ||
| 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