Watch
1
0
Fork
You've already forked souveraine
0
Commit graph

541 commits

Author SHA1 Message Date
Fimeg
72f5169458 quickshell: touch PIN lock screen for the phone
The OSK is layershell and can't rise above a session lock, so the lock
surface carries its own keypad. Lock state persists to states.json so a
qs crash while locked comes back locked; with lock.launchOnStartup the
lock screen is the greeter (greetd autologins straight into Hyprland).
Keypad gated behind lock.touchKeypad so desktop deploys keep the stock
surface.
2026-07-13 15:19:59 -04:00
Fimeg
620c6778ce delivery: separate phone and laptop surface profiles 2026-07-13 13:11:31 -04:00
Fimeg
79f3b2fa4b delivery: scope safe QuickShell surface adoption 2026-07-13 13:01:31 -04:00
Fimeg
048f180105 docs: bootstrap private pacman archive securely 2026-07-12 22:46:37 -04:00
Fimeg
c8c72ecbf2 ci: split signed pacman databases by architecture 2026-07-12 22:19:44 -04:00
Fimeg
16ba8cfbf4 docs: bootstrap pacman from local Gitea 2026-07-12 21:58:02 -04:00
Fimeg
4427389d9c ci: authenticate ArchDev source clone 2026-07-12 21:45:46 -04:00
Fimeg
29e204e56e ci: restore strict clippy gate 2026-07-12 21:38:16 -04:00
Fimeg
f52edd402b ci: use local Gitea token for tuie 2026-07-12 21:28:58 -04:00
Fimeg
e0d742d797 ci: authenticate pinned tuie clones 2026-07-12 21:26:08 -04:00
Fimeg
3a83666ef5 ci: sign multi-architecture package repository 2026-07-12 21:11:34 -04:00
Fimeg
e0c8128832 ci: publish aarch64 pacman package artifacts 2026-07-12 20:57:00 -04:00
Fimeg
ffa8b498a3 build: make aarch64 linker sysroot-safe 2026-07-12 18:00:31 -04:00
Fimeg
e5813ab6c9 quickshell: make conversation resume explicit 2026-07-12 16:58:59 -04:00
Fimeg
cf2ba25089 quickshell: render subconscious surfacing once 2026-07-12 16:35:44 -04:00
Fimeg
6e21c50dcc quickshell: resume agent conversations from server 2026-07-12 16:31:55 -04:00
Fimeg
a2731b418e identity: add signed node commission records 2026-07-12 15:39:40 -04:00
Fimeg
2c14da0dbe federation: document node enrolment trust boundary 2026-07-12 15:34:41 -04:00
Fimeg
ad56206294 track cross-build cargo config + souveraine user unit
.cargo/config.toml + aarch64-pkg-config wrapper are load-bearing for the
cross build (CI artifact job + local build-cross.sh both depend on them);
were gitignored before. souveraine.service is the systemd user unit the
packaging/deploy scripts template.
2026-07-12 14:57:19 -04:00
Fimeg
ec7c4e8e8c quickshell: dock geometry/icon-centering, GlobalStates, ConflictKiller service
Dock + pill z-order and icon centering pass; GlobalStates.qml and a
ConflictKiller service for the ii sidebar.
2026-07-12 14:56:56 -04:00
Fimeg
165d814492 api+remote: ambient sensorium, cancel/interject verbs, SSE event mirror
SendMessageRequest gains ambient (surface sensorium note). RemoteBackend
gains spawn_cancel_watch + spawn_interject_pump so TUI remote mode has the
same interrupt/type-while-busy semantics as local. StreamEvent is now the
full wire mirror of BackendEvent — a new engine event is a compile error
at the SSE seam, not a silent skip.
2026-07-12 14:56:48 -04:00
Fimeg
904fbd02d7 bridge: claude-subscription provider (Claude Code OAuth wire)
Speaks the Claude Code subscription wire protocol against api.anthropic.com
using the OAuth creds claude already stored, so Souveraine can drive a
Claude.ai subscription directly alongside Bifrost/openai-oauth. Translates
OpenAI-shaped internal requests to/from Anthropic /v1/messages, applies the
subscription shaping, refreshes the OAuth token under a mutex.
2026-07-12 14:56:38 -04:00
Fimeg
419312b65f ci: pin tuie to fork sha + aarch64 artifact job
tuie now cloned from Fimeg/tuie (rgb patch committed) at a pinned SHA
instead of upstream HEAD — no floating ref decides if we build.

aarch64-artifact job runs on the new archdev host-mode runner, cross-
builds against ~/aarch64-sysroot (linker --sysroot flag proven to find
aarch64 libmvec), publishes the binary to a rolling edge prerelease
when CI is green. Phone updates itself from there.
2026-07-12 14:54:43 -04:00
Fimeg
128a76af7e pill: stable namespace so a hyprland layerrule pins it above the dock
Both live on Overlay; z-order was creation order, so an ii restart buried
the pill under the dock and it stopped taking touch. The pill now has
namespace quickshell:pill; a matching 'order = 1' hl.layer_rule in the
phone's hyprland.lua keeps it on top across restarts (rule is phone
config, not surface tree).
2026-07-12 13:14:40 -04:00
Fimeg
0a8e0f7294 dock/pill: fix icon centering, pill z-order, app-mode fullscreen
- dock icons center in the bar (DockApps top-margin was shoving the row
  down; DockAppButton block now reserves half the dot strip)
- pill double-tap fullscreens the real app: routes through dock IPC
  fullscreen() targeting Hyprland.activeToplevel.address, mode 0, so the
  pill tap focusing the shell no longer redirects it
- pill must be re-created after the dock or it sits under it and drops
  touch (both on Overlay; z-order = creation order)
- HOW-IT-WORKS.md: the concise contract for pill/dock/fullscreen
2026-07-12 13:07:02 -04:00
Fimeg
693df8b55b dock: revert thin-bar geometry; keep icons inset to land inside the bar 2026-07-12 11:30:51 -04:00
Fimeg
0beeb80357 dock: align icon row inside the visible rectangle (match its insets) 2026-07-12 11:13:24 -04:00
Fimeg
0e1f233857 dock: visible on empty desktop / hidden for focused apps; lift dock above pill strip 2026-07-12 11:09:28 -04:00
Fimeg
ccb51820e5 dock/pill: reserve pill strip (dock floats above), pill swipe-up = dock gesture not home/keyboard 2026-07-12 10:48:11 -04:00
Fimeg
57031bbf4f dock: drop the dead pin toggle button 2026-07-12 10:43:19 -04:00
Fimeg
b8b65273a1 dock: unmount layer when hidden so it stops painting over fullscreen apps 2026-07-12 10:41:50 -04:00
Fimeg
b8369235b4 dock: hide over fullscreen apps (app mode owns the display) 2026-07-12 10:33:36 -04:00
Fimeg
2955cd4fbe pill: double-tap is app-mode maximize, not kiosk fullscreen 2026-07-12 10:10:38 -04:00
Fimeg
d38bae0cb6 fullscreen flow: pill double-tap = real fullscreen (mode 0), dock+overview on overlay layer so edge swipes reach them over fullscreen apps 2026-07-12 10:05:53 -04:00
Fimeg
8915ac2a1a dock/pill: movement cancels hold-menu, folder-style stack icon, tap focuses running member; lua-fork hyprctl dispatch syntax; kill AiChat/notification TypeErrors 2026-07-12 09:51:09 -04:00
Fimeg
f6bbce5e0d dock: drop-onto-stack, arc reorder, drag-out unstack; shrink long-hold menu 2026-07-12 09:34:30 -04:00
Fimeg
bebb5a2382 surfaces/quickshell: adopt OSK flee-fix sidebars, focus-grab service, systemd hypridle 2026-07-12 09:27:07 -04:00
Fimeg
2c218fb075 packaging: adopt the phone deploy script and Arch PKGBUILD
Both were stranded untracked in the Pixel3Arch tree; they source from
this repo, so they live here. deploy-phone.sh ships the cross-built
binary + user unit (seed-id excluded, machine binding stays doctrine);
PKGBUILD builds from a synced local checkout, no network fetch.
2026-07-12 09:01:13 -04:00
Fimeg
037dc06922 surfaces/quickshell: bring the phone shell under the surface tree
Dock fan-out stacks, drag-to-combine, pill gesture rewrite, and the ii
patch set (TaskbarApps stacks API, Config dock.stacks schema) — pulled
from the live phone and made canonical here. deploy.sh grew a manifest
and a --phone mode: rsync the surface over, symlink ii into it, so live
edits land in a git tree instead of drifting.
2026-07-12 08:57:10 -04:00
Fimeg
0e780d5a05 saf: rebuild as a sectioned tree in the substrate voice
Old single-file SAF moved to saf/archive/.
2026-06-26 11:59:02 -04:00
Fimeg
ce7009e466 fix: char-boundary panic in tool cards + green up CI clippy gate
ToolCard styled the status glyph with a hardcoded byte offset 0..3, but
✓/✗/⟳ are 3-byte chars sitting at bytes 2..5 of "  {glyph}". The split
landed mid-char and panicked at render in tuie's style slicing. Compute
the glyph region as 2 + glyph.len_utf8() instead.

Then took cargo clippy -- -D warnings from 312 failures to clean:
- scoped #![allow(dead_code)] on WIP scaffolding (federation, sensorium,
  gitea_memory, model_router, session, subagent…); gate stays live on
  active code so new orphans still fail
- scoped #![allow(deprecated)] on the legacy ratatui render path, marked
  pending removal at tuie parity — no migration on code we're deleting
- declare the gui feature (forwards to tuie/gui) — the cfg was real intent
- real fixes: duplicate SaveAndGoBack arm + dead Err arm, base64::encode,
  4 unused imports, dead assignment, private-type leak, dedup'd if/else
  branches, manual clamp/strip, &PathBuf→&Path, collapsible matches
2026-06-26 10:12:27 -04:00
Fimeg
e170678df1 ci: pin rust to 1.94, matches Cargo.toml rust-version 2026-06-19 13:47:31 -04:00
Fimeg
1b373cf1e5 ci: add libchafa-dev 2026-06-19 13:31:14 -04:00
Fimeg
047eeb7a27 ci: install system deps (alsa, openssl) 2026-06-19 13:22:11 -04:00
Fimeg
488a35006a ci: clone tuie from github for path deps
cargo can't resolve path = '../tuie' on the runner without it.
also apply the one-line rgb visibility patch souveraine needs.
2026-06-19 12:52:27 -04:00
Fimeg
45d25b25a4 pin CI to rust 1.94, fix agents detail pane + settings test
agents: wire the rest of the detail widgets into the section children so
PRIMARY badge etc actually render; drop the HARDCODED debug text.
settings: test needs a provider in the map before navigating to Providers
cat.
clippy: pin CI to rust 1.94 per Cargo.toml rust-version; also apply what
cargo clippy --fix could auto-fix for 1.96 compat.
2026-06-19 12:02:54 -04:00
Fimeg
3ff6ffaa7f license: relicense AGPL-3.0; bring SAF docs online; keep CLAUDE.md + docs/ local
SAF (souveraine architecture files) is now the in-repo doc set. working notes
(CLAUDE.md, docs/) stay on disk, gitignored.
2026-06-19 10:17:56 -04:00
Fimeg
d35370b9c9 merge fork work onto public: cockpit/portrait/sidebar widgets, select_list, expression_cache, sensorium+settings rework
new TUI work that had been living in a detached re-init'd checkout, replayed
onto the public lineage. keeps CI + skills. src-only; local scaffolding stays local.
2026-06-19 10:10:13 -04:00
Fimeg
1734346e59 tuie: adapt to StyledText accessors and indexed Theme palette
Dep bump swapped StyledText's public .text field for as_ref/as_str
accessors and set_fg/set_bg/drop_end mutators; Theme now built from
(fg, bg, [16] indexed) instead of named slots. Mechanical port across
the widget set plus an ANSI-index mapping of the chat palette.
2026-06-15 20:52:05 -04:00
Fimeg
80bfb3a599 providers now per-agent: z.ai rides, bifrost stays home
Vanguard gets his own inference pipe. z.ai GLM Coding Plan, /paas/v4.
BifrostClient learned to leave versioned URLs alone. ProviderRegistry
dispatches per agent; every engine asks who it's talking to before
dialing. Annie and Hal none the wiser.
2026-06-15 18:07:03 -04:00