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

273 commits

Author SHA1 Message Date
Fimeg
d64579a6c3 CLAUDE.md: the umbrella repo had none
An agent landing here got nothing. Says what the project is, the reading
order, and the rule that keeps being broken: ls by date and read, do not
grep — these documents argue, and the argument is the content.
2026-07-30 19:13:34 -04:00
Fimeg
4df694cd5d tasks: TASK-17 dictation status — CLI shipped, key-anim patch pending build 2026-07-30 15:08:13 -04:00
Fimeg
051da9e0d3 docs: Wiuf VPN — phone split-tunnel + semi-intelligent gate 2026-07-30 14:19:31 -04:00
Fimeg
ee68f5b47b mark package stranding resolved (TASK-25)
Pixel3Arch packages.yml now publishes all 14 device packages; pacman -Sl
souveraine-aarch64 is the manifest. Update TASK-25 status/acceptance +
record the four cross-build shapes and the committed-junk CI trap. DUMP
for the session. STATE.md last-updated 2026-07-30.
2026-07-30 13:57:00 -04:00
Fimeg
66dbb601fa docs: add SHELL-SURFACES.md — the migration checklist
Migrations have been silently lossy: the subconscious surface was stranded for
over a week by the ii -> souveraine shell move, and five packages went stale,
both because there was no list of what exists to tick off. SHELL-SURFACES.md is
that list — every shell surface and first-party service, the contract it is
defined against, its substrate today, and whether it reaches the glass.

States the rule that would have caught it: a feature defined as QML in a shell
tree dies with that tree; one defined against a contract survives (the
subconscious model in services/Ai.qml crossed untouched; only its views, riveted
to the ii overlay system, stranded). Marks the ii-substrate furniture rows
UNVERIFIED — that verification is the checklist's first demand. STATE.md points
at it from the resume anchor.
2026-07-30 12:59:59 -04:00
Fimeg
d4ea575404 tasks: settle viewtop scene composition + selection design; cross-link
TASK-43 gains the §Scene composition design settled 2026-07-30: the
texture/content wall, pose (geometry, the agent's) and expose (legibility,
gate-veiled) as authority-split verbs, the selection surface as a scene element
not a layer surface, and the primary-selection/data-control source now wired
(234a631) with its owed refinements named.

TASK-18: the selection chip's Hyprland surface layer is terminal (the tap bug
is layer-shell); its backends are portable. TASK-30: viewtop's wire table is one
of its surfaces, grown by pose/expose. TASK-17: the OSK z-order this task fought
is structurally enforced under viewtop.
2026-07-30 11:36:50 -04:00
Fimeg
d811870fae TASK-18: shipped-partial; detection settled, chip still not tappable 2026-07-29 18:17:13 -04:00
Fimeg
39c9a022b4 TASK-32: record that --phone rsyncs --delete with no snapshot
Folds in the 2026-07-29 finding instead of a new task file; TASK-32 already owns
how these surfaces ship.
2026-07-29 17:55:18 -04:00
Fimeg
00d2449acc TASK-49: the shell surface has no package, and --phone deletes on-device edits
deploy.sh:246 rsyncs --delete into the phone's surface tree with no snapshot,
unlike the local compose which snapshots to .ii-previous. Root cause is
installing into $HOME, which has no file-ownership model. Payload belongs in
/usr/share owned by a package; $HOME keeps only overrides.
2026-07-29 17:48:37 -04:00
Fimeg
aef29b875d tasks: 46 is no longer 'never produced a frame' 2026-07-29 11:57:28 -04:00
Fimeg
38c9be0262 task-46: the front camera works — first frame captured, recipe recorded 2026-07-29 11:57:12 -04:00
Fimeg
85b172aaf1 tasks 47/48: auto-brightness is unbuilt; the shell dies on a lock-owing reload 2026-07-29 10:45:06 -04:00
Fimeg
e421975646 dump 07-29: status — section 8 closed, grip answered, pkgs/ has no CI 2026-07-29 08:46:22 -04:00
Fimeg
162891571a task-46: the front pair was already wired; the rear IMX363 was the gap 2026-07-29 08:28:23 -04:00
Fimeg
daad100eee docs: session dump — squeekboard /usr/local prefix regression, pill lift across OSK swap, TASK-38 consolidation 2026-07-29 06:38:01 -04:00
Fimeg
1b7a14e4c2 tasks: archive what shipped, say what is left, add fingerprint/haptics/camera
13 (grip) and 35 (sessiond deadlock) are done; both moved to archive/ with
closing notes. Index regrouped by state with a one-line what's-left per task
instead of a flat table of history; the archive prose moved to archive/README.

Corrected stale statuses: 29 shipped (read-only pending polkit), 31's component
and squeeze are live and only its contents are open, 42's layer 1 is built, 34
no longer blocks grip, 43 was numbered 42.

New: 44 fingerprint (DT + shim sat unused in staging/ since 07-07), 45 haptics
(settle which chip drives the motor before porting cs40l2x), 46 camera (drivers
and CAMSS are already in-tree; blueline's DT has no camera node).
2026-07-28 18:20:23 -04:00
Fimeg
4daeef48ce TASK-43: viewtop runs on the phone (renumbered; 42 was taken) 2026-07-28 17:51:14 -04:00
Fimeg
f7b4b04525 tools: read CI outcomes from the API, and do it automatically
A rotted action pin skipped the publish job rather than failing it, so
edge stopped publishing and the phone sat on an old build for a working
day with nothing saying why. The runner journal logs task pickup and
never outcome, which is what was being read.

ci-status.sh asks Gitea instead, drilling run -> job -> log tail on a
failure. claude-hook-push-ci.sh runs it after every git push so the
answer arrives without anyone choosing to look. TASK-42 has the
three-layer plan; this is layer 1.
2026-07-28 17:38:44 -04:00
Fimeg
32ed4fcf6c TASK-42: viewtop compositor
Foundation landed: lock handoff, admission gate, layer stack, back verb,
intent table. 123 tests, CI green for the first time (repo was never
fmt-clean). No Wayland/DRM yet.

Records the two traps: the lock handoff is the normal path, and sessiond
is already the availability layer so the compositor gets no fallback
presenter.
2026-07-28 17:22:28 -04:00
Fimeg
b7ea433467 audio: WirePlumber persistence measured working; settings owes a state-machine readout
TASK-39 step 1 is done and clean — default-routes stores 0.49 cubed and
rewrites within 6s of a change. 'Pinned on boot' is a faithful restore
of a value lower than wanted, so this is defaults and roles. No second
writer.

TASK-19 gains Casey's ask: source health, evidence and confidence have
no surface anywhere. Readout now, controls after 08(g) decides.
2026-07-28 14:28:50 -04:00
Fimeg
7af82e4f6e TASK-13: force works, excitation closed by the gpio-hog ordering
07-27's 'ignores force' conclusion is superseded — same binary, no
nanoapp, 2502-2990 deflection. Kept verbatim below the correction.
The nanoapp is off grip's critical path but still wanted for doze,
the real detector, haptics and TASK-40.
2026-07-28 13:50:06 -04:00
Fimeg
0100fa34c8 viewtop: assess denial as the base; the lock model is the one thing we cannot take
Our engine pins are already theirs. The embedder, the eleven-patch
DMSAA/external-texture series, KMS and the GBM atlas path are the
expensive parts and they are readable.

Their lock is a compositor-internal bool with PAM dlopened in-process
and no ext-session-lock served at all. It is invisible to logind and
sessiond, and it gates input against every caller including Annie.
viewtop serves the protocol; sessiond keeps the decision.

Also adds TASK-41 (attested producers), raised out of grip bring-up.
2026-07-28 13:41:37 -04:00
Fimeg
6c5d39bac5 task-36: nanoapp loader built and verified; task-34: SSR does not recover the wedge 2026-07-27 18:35:24 -04:00
Fimeg
4287d8765d tasks: index 36-40, correct TASK-34's invalid test, add inference tiering task 2026-07-27 15:49:09 -04:00
Fimeg
b24963ad01 device-state §12: manual brightness override is anchors, not a bias 2026-07-27 15:36:25 -04:00
Fimeg
04831db5ff task-36: the chre_slpi method table, recovered by disassembly 2026-07-27 13:43:14 -04:00
Fimeg
0533f9faa9 task-36: chrecd already runs CHRE; the gap is three chre_slpi methods 2026-07-27 10:23:11 -04:00
Fimeg
4973393736 tasks 37-39: back verb, pill swipe osk swap, audio levels as state 2026-07-27 09:29:10 -04:00
Fimeg
ed21db0f44 task-13: elmyra nanoapp imports ash*ElmyraFilters; task-36 CHRE host 2026-07-27 09:00:33 -04:00
Fimeg
78c62a602d task-24: dead band above the letters page was max_rows across layers 2026-07-27 08:46:12 -04:00
Fimeg
ccf02e3bae task-13: PM8998 gpio2 power-source is VIN0 on both stacks; no DT patch fixes excitation 2026-07-27 08:36:58 -04:00
Fimeg
3abf45a5a4 task-13: registry and vddio ruled out; pad VIN selection is the open question 2026-07-27 02:03:19 -04:00
Fimeg
db5220633d task-13: elmyra_raw streams at 100Hz; force produces no deflection 2026-07-26 22:12:13 -04:00
Fimeg
f2213ce194 task-13: SUID opens, zero reports; irq_skip_pin_config is the next lead 2026-07-26 21:39:39 -04:00
Fimeg
736567c0d4 device-state: §12 — where ambient light enters, and why it is an Action not a daemon 2026-07-26 18:29:57 -04:00
Fimeg
f7aa5ce8a2 task-35: sessiond accepts and never answers; 347 parked handler threads 2026-07-26 17:57:57 -04:00
Fimeg
6b455fc841 task-13: the rail is up and held from boot; step 2 blocked on TASK-34 2026-07-26 17:15:21 -04:00
Fimeg
bb023669d3 task-34: SLPI bring-up sequencing regression; doorbell dies on SSR and stays dead 2026-07-26 17:12:56 -04:00
Fimeg
cbda7c87cf task-13: registry side is complete on device; 177 groups incl. elmyra ADC + touch_gesture 2026-07-26 16:52:29 -04:00
Fimeg
adfc1070a7 task-13: downstream has no gpio2 node either; mainline exposes it as gpiochip0 line 1 2026-07-26 16:49:10 -04:00
Fimeg
1b38367eb2 task-13: gpiochip0 is live; test the rail with libgpiod before scheduling a kernel build 2026-07-26 16:39:35 -04:00
Fimeg
608a9520e0 task-33: battery and charging belong to the device state machine 2026-07-26 16:37:28 -04:00
Fimeg
d84610b86a task-13: name the single blocker and the consumer that makes grip worth finishing 2026-07-26 16:07:41 -04:00
Fimeg
3e4373bbc5 tasks: 30 agent reach, 31 radial dial, 32 pill+keyboard; 08 gains the two unsurfaced findings 2026-07-26 16:07:20 -04:00
Fimeg
9590e74bd9 device-state: §11 — hardware corrected the torn-tail policy; the verifier exists 2026-07-26 14:50:27 -04:00
Fimeg
2dc479f0a2 doctrine: §13 — the verb table and refusal codes are built 2026-07-26 13:01:37 -04:00
Fimeg
6aa10d38cd device-state: §9.5 prescribed the wrong debounce; the trail said so 2026-07-26 12:52:03 -04:00
Fimeg
7b769f7c7f docs: fold the stranded device tasks, archive the handoffs, one index per tree 2026-07-26 12:33:03 -04:00
Fimeg
6ae84f4c52 device-state: proximity is evidence, not an actuator 2026-07-26 12:24:00 -04:00
Fimeg
9b99c1bcbd doctrine: §13 — the agent owns the device 60/40, and needs to chain verbs 2026-07-26 12:16:12 -04:00