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

265 commits

Author SHA1 Message Date
Fimeg
575604abc6 saf: fence schedules from authority
The watcher path, tool path, trigger files, and declared config do not meet. Record the traversal and prompt-injection boundaries before schedules wake an agent.
2026-08-20 13:38:00 -04:00
Fimeg
e97016668a manifest: souveraine-shell comes from the souveraine producer
The shell config lives in souveraine/surfaces/quickshell and its CI
now packages it; the separate producer entry pointed at a repo that
only held a broken symlink farm.
2026-08-19 13:14:24 -04:00
Fimeg
a8caf27c14 project-state: weekly evidence, carried state, and an agent's door
Five weeks of forge evidence per week rather than a rolling window, so a
finding survives under one key and "closed after three weeks" is computable.
Rules run deterministically; agent.py hands the packet to whoever writes the
prose and never calls a model itself.

Model choice fails closed — no default, no substitute, and the exact named
model must be served or the pass refuses to run.
2026-08-18 19:53:19 -04:00
Fimeg
1c565ce0e2 task 78: the claude login belongs to souveraine, not to claude
Scoped from the 2026-08-17/18 revoked-token incident: a day of 401s healed only by claude code rewriting the spare. Souveraine can refresh, rotate, and adopt logins but cannot birth one — so it mint its own PKCE grant, outside the phone/laptop sync, and say so in the Panel when every login is dead. Full Providers subsection is a later expansion.
2026-08-18 10:33:36 -04:00
Fimeg
3bdfba8468 claude: the card replaces the reading order
the map is saf/INDEX.md; the rest of what an agent needs
comes from asking. response rules + no invented memory
locations, in every repo
2026-08-18 10:02:12 -04:00
Fimeg
b1c9494f12 tools: keep python cache out of the record 2026-08-18 09:47:35 -04:00
Fimeg
bde961c6f2 saf: one spine — device, state, and work under the index
PAF becomes saf/device (history kept), STATE.md dissolves
into saf/state.md with the dated era archived, the substrate
SAF moves up from souveraine, and every agreement points at
saf/INDEX.md and nowhere else. one map, nothing to remember
2026-08-18 09:47:30 -04:00
Fimeg
341a2fe060 docs: take the lockscreen out of casey's uid
The current user unit wins the boot race but still runs as the human whose Personal key the lock is meant to evict. Record the target souveraine-session principal, its narrow Wayland/PAM/data reach, and the fact that the rich shell is presentation—not release authority.
2026-08-17 12:43:45 -04:00
Fimeg
9815185caa docs: put agent identity behind a real uid
Join the older storage and authority audits to the SAF principal contract. Passwd entries are not isolation while one human-owned process still executes every agent, and the existing souveraine account is machined's—not Souvie's.\n\nKeep the readiness task honest: its current health fields inventory paths, but do not yet prove admission or the UID handling a live turn.
2026-08-17 12:36:45 -04:00
Fimeg
1d9f62974e task-53: mark the tiled Firefox fix pushed
3431223 supplies tiled edges and closes the 504-of-540 draw; 41f07b1 removes 3,034 false touch-frame warnings.\n\nBoth are on ViewTop main. Package and glass proof remain separate.
2026-08-17 12:29:30 -04:00
Fimeg
f5122cb59d docs: retire the task queue's dead branches
Twelve completed or superseded task records leave the live queue; the byte-identical rename duplicate is removed.\n\nThe authority and somatic source records now point at SAF, while tasks 33, 48, 49, 53, 60, and 76 say what is actually left.
2026-08-17 12:27:53 -04:00
Fimeg
7fc623c598 docs: retire panel tasks into the SAF 2026-08-17 12:05:17 -04:00
Fimeg
d21458eaee task-55: the status line was ten days stale
Split's chooser and Home both landed; the sheet carries six verbs and
lets go of a dead subject. One acceptance line is left and it is not
this task's to close — the entries are still a third hand-written list,
which is TASK-30's table and TASK-31's ring.
2026-08-16 14:25:11 -04:00
Fimeg
77c44aba3c docs: audio boot-profile regression and fix
kernel r162 routed capture strictly mono 48k; undeclared UCM Mic
probe failed, no profiles formed at boot, card fell to pro-audio.
CaptureChannels/CaptureRate in both Mic devices restores the probe;
probe mechanics recorded for the next time.
2026-08-16 13:56:51 -04:00
Fimeg
93ea6c9158 handoff: the boot failure, the lossy socket, the gesture
RefuseManualStart killed every session start since 08-15. The control socket
answers in 0.47ms median and drops whole queues — 52 in one boot — which is what
strands a window. Detent, velocity and settle now come from the destination.
Six items left open, including Bitwarden, where the position theory is exhausted.
2026-08-16 10:41:17 -04:00
Fimeg
b47c17075e docs: what a veil frame has to be
The twenty frames in AniAvatar carry no alpha, so one composited at the blink's
0.12 is a 12% black wash over the whole panel — indistinguishable from expose
dimming the screen. At that alpha the image lands inside 30 of the panel's 255
code values, so anything under 8/255 in the file is simply not there.
2026-08-15 21:42:54 -04:00
Fimeg
7086b4a41e atmosphere: correct the seam, and name whose instrument this is
The shader half landed (viewtop 5d6f0f0, smithay 48adf6f) — dissonance is a
verb, the clock is shared with the dim, nobody has seen it on the panel.

Three corrections that came from opening the tree instead of the assessment:

The reference compositor has no post-process pass and no patched texture
shader. Windows are external textures inside the Flutter scene, so effects are
scene-graph filters — and their backdrop widget carries the grouped-blur rule
and a bounded ImageFilterConfig that are engine API, not stock Flutter. The
expensive half of #2 is already written upstream of us.

Our clone of it is 64 commits stale and they moved to Impeller as the default
renderer, so the eleven-patch DMSAA series our pins inherit is now a question
rather than an asset.

And atmosphere is not a thing this task invents. FELT_STATE_ARCHITECTURE.md has
had fourteen presets and a tool she calls since May. This is that instrument
moved down the stack, which means the preset layer is the deliverable and the
fifteen techniques are its renderer. Mood stays underived — the gap between what
she shows and what she carries is load-bearing.
2026-08-15 21:07:43 -04:00
Fimeg
91128b8638 task-77: the lens, a human-first garden over a git vault
Folder/subcategory support and inbox capture landed in souveraine-lens (61cf534, c71c7e4); this files the owner doc the build was missing and indexes it.
2026-08-15 18:42:28 -04:00
Fimeg
cdbb744466 task-62: record the agent hand reach landing (souveraine f87d912)
The body tool now speaks the usbHands IPC; the gates stay as refusals,
and what still binds is the authority seam itself, not her verbs.
2026-08-15 17:44:59 -04:00
Fimeg
3cdd36ff2f state: charge is a sensor source, and the laptop is moving to viewtop
The r506 build had ChargeEvidence reading sysfs from sessiond's clock with
conclusion() inside the driver type — the rule violated four times in one
object. Recorded here: the ruling (§4), the task reconciliation, and the
bearer audit under the same rule. Also the corrected cutover answer: the
laptop is the test bed, the chooser is phone-shaped, mechanism undecided.
2026-08-15 11:45:28 -04:00
Fimeg
6a86b510b5 correct the graphical-session.target claim
Four docs recorded 'nothing starts it' as settled fact and concluded don't use
the target, where the conclusion available was light the target. viewtop's
session launcher starts it now.
2026-08-15 10:55:25 -04:00
Fimeg
6e2f3f80ab file task 76: nothing owns provisioning
Five souveraine files own no package across the two live devices, and
/etc/systemd/system/souveraine-machined.service shadows the packaged
signer unit on both — measured, not inferred. Retires the Phase C deploy
checklist: CLAUDE.md banned its build step on 2026-07-24, START-HERE §5
bans its deploy step.
2026-08-15 09:57:51 -04:00
Fimeg
b45d7766aa state: session chooser is phone-shaped, mechanism undecided
Sddm is one candidate among others; the chooser must serve the phone
form factor too, touch-first.
2026-08-15 07:55:55 -04:00
Fimeg
6d19ce50d8 state: laptop viewtop lands as an sddm session choice
Login-time pick between viewtop and hyprland via wayland-sessions,
so a bad viewtop update is one wrong login, never a locked box.
2026-08-15 07:55:23 -04:00
Fimeg
a46d9cb328 state: laptop idle policy live; laptop viewtop is the plan
Sessiond's idle dimming now runs on the laptop (2026-08-15, first
observation) — keep or change is open. Casey stated the laptop moves
to viewtop as the real test bed; Hyprland stays as fallback so a
broken viewtop update can never lock the box.
2026-08-15 07:53:37 -04:00
Fimeg
4cd894a534 state: sessiond runs on the laptop now
The aarch64-only line traced to a partial install on 07-24 (no unit,
no PAM, no hook); the correction was already written down in the
08-09 power-authority handoff. Enabled from the hyprland.start hook
2026-08-15, lock cycle verified live, recovery doc on disk.
2026-08-15 07:44:56 -04:00
Fimeg
caf8f0af00 distribution: declare blueline audio policy
Add the package to the blueline profile before Pixel3Arch builds it.\nIt owns the existing WirePlumber policy; historical ALSA state stays out.
2026-08-14 11:22:07 -04:00
Fimeg
92c3d7bc6e docs: record AirPods visual proof 2026-08-13 21:02:31 -04:00
Fimeg
2f74944bfe docs: give Membrane its boundary 2026-08-13 17:46:49 -04:00
Fimeg
3bf40c800d docs: give the shell a memory budget 2026-08-13 15:46:32 -04:00
Fimeg
c95df22be6 docs: mark LibrePods shell projection 2026-08-13 15:27:51 -04:00
Fimeg
c5401f3393 docs: scope LibrePods authority path 2026-08-13 15:16:14 -04:00
Fimeg
47a4bfc920 somatic: reading list before the planning session
Sweep of five roots found 90+ bearing documents; tier 1 is six of them.
The anchor doc's prerequisite went stale 15 min after writing — halt was
fixed at 13:58, doc touched 14:13 — so a cold read would treat a cleared
blocker as blocking. Corrected, with the staleness kept as the specimen.
2026-08-13 14:39:15 -04:00
Fimeg
4934f80e30 distribution: admit the blueline kernel packages 2026-08-13 14:31:19 -04:00
Fimeg
1fce9d1d54 somatic: sessiond owns belief, and the maps get real data
Resolves open question 1 outright. A second daemon with its own view of
the body would be the fifth instance of two actors deciding one thing,
and the hardest to debug — the disagreement would surface as feeling.
Relevance-fired memory is a plexus: same contract, same notability gate.
2026-08-13 14:13:58 -04:00
Fimeg
a3ff22531f distribution: gate producers by declared artifacts 2026-08-13 13:53:30 -04:00
Fimeg
482ad388d8 distribution: give viewtop one producer 2026-08-13 13:45:01 -04:00
Fimeg
b9c8994700 docs: record the somatic nervous system design
Fills the mood slot FELT_STATE_ARCHITECTURE deferred on 2026-05-15.
A belief ladder under both cadences, reusing the device_state doctrine:
actors are inputs, not authorities. Four types kept apart — exudate,
belief, impulse, intention — so mood and atmosphere cannot reconflate.
2026-08-13 13:36:05 -04:00
Fimeg
e91149f9fe task 72: conversations selector; used-context dependency resolved by r467 2026-08-12 20:14:42 -04:00
Souveraine
7d1df02458 task 72: steps 1 and 2 committed, source only; evidence labelled per step 2026-08-12 13:11:51 -04:00
Fimeg
5bd12a7b18 docs: the second website tree held a thousand lines nobody had pushed 2026-08-12 10:04:59 -04:00
Fimeg
b87e433ec7 docs: elmyra answered, and the site map lost a layer
TASK-36 said the load path had never executed. It ran 2026-08-11 —
LoadNanoappResponse decoded, success byte set, and six gauges came off a flat
baseline at 2502 and 2990 against a 2500 floor. Recorded with Casey's numbers
and the two things that would otherwise compress away: the margin carries
intent, and the proximity veto is a separate job from the threshold.

TASK-66 corrected. The shipped front page promoted ViewTop to a peer of the
substrate, the OS and the agent; the canonical map never agreed. Three layers
now, plus the delivery defects found by auditing served bytes.
2026-08-11 21:57:14 -04:00
Fimeg
c9d40b26e8 tasks: squeekboard is the sole OSK; add 71 (mobile scanner recon) and 73 (self-dashboard) 2026-08-11 19:57:58 -04:00
Fimeg
89cf93f965 keyboard: make Squeekboard the single path 2026-08-11 15:44:49 -04:00
Fimeg
d8820da557 distribution: add ViewTop to the laptop body
Record update delivery as a per-body offer and local candidate activation after a live shell push killed an active conversation.
2026-08-11 14:40:08 -04:00
Fimeg
74e3bc5233 tasks: 69 stage 1 and 70 island built 2026-08-11 14:23:56 -04:00
Fimeg
9669b0c3e3 tasks: the message API carries images now, the surface still does not
Reconciles the two owning docs with souveraine cfad688. Sub-scope A was
always half-landed: the substrate was multimodal end to end and the HTTP
door was text-only, so the TUI could see and every other surface was
blind. The door opens; nothing walks through it yet.

TASK-72 keeps image intake — picker, chip, base64, rendering — and now
has a server to call.
2026-08-11 12:31:36 -04:00
Fimeg
315f4d89f7 task 72: plan owned agent surface 2026-08-11 09:36:56 -04:00
Fimeg
d796f5361e task 72: record typed segment patch 2026-08-11 08:55:43 -04:00
Fimeg
3ab4f77438 task 72: surfacing pane tool primitives and honest bottom bar 2026-08-11 08:33:40 -04:00