Watch
1
0
Fork
You've already forked SouveraineOS
0
Commit graph SouveraineOS/docs/tasks/README.md
Author SHA1 Message Date
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
9b54eb41eb docs: set the shared-state authority spine 2026-08-10 20:09:54 -04:00
Fimeg
f4683a6f1a tasks: 67 — the caching landed blind, and compaction drifted
The config hands the subconscious sliding_window where the doc and the
code default both say sliding_reflect, and the memory tool exposed the
blind strategy while hiding the safe one.

Also indexes 63, 64 and 66 — all three existed on disk and in no table.
2026-08-10 19:39:49 -04:00
Fimeg
287acdffd9 tasks: 65 — a stalled subconscious wedges the surface
Measured once: reply commits and PrimaryComplete fires, then the N+1
pass stops at round 3 of 10 with a fully idle runtime. The pass runs
inside run_turn, so tx never drops and the SSE stream never closes.
Lead is the todo tool. Stream lifetime is a separate fix.
2026-08-10 15:46:18 -04:00
Fimeg
b1a9efcc63 docs: keep USB authority and hardware acceptance open 2026-08-07 15:55:21 -04:00
Fimeg
4aa61d735c docs: reconcile USB, Waydroid, audio and charging 2026-08-07 14:52:28 -04:00
Fimeg
1aa61030dd compositor pushes the strip; float, gamma 2026-08-05 19:16:41 -04:00
Fimeg
ec552a82a2 59: phase 1 passes on hardware, ~58fps with the rig drawing 2026-08-05 16:10:41 -04:00
Fimeg
60d903a813 59: ship the reference rig; 55: what actually landed 2026-08-05 15:51:38 -04:00
Fimeg
db729470f5 59: her face on the glass 2026-08-05 15:48:05 -04:00
Fimeg
2e77529b40 55: sheet, split chooser, power menu; viewtop ships by pacman 2026-08-05 14:53:04 -04:00
Fimeg
18c58fc079 docs: the day viewtop got its package, its titles and its borders
STATE.md was five days stale. It now carries what is on the phone
(viewtop r76, souveraine r333) and the four defects fixed on the glass:
per-window capture was unreachable because quickshell holds wlr handles and
the ext capture source is named by an ext handle with nothing correlating
them; titles were never republished on commit; the border was a filled slab
that relied on the client covering its middle; capture came back flipped.

Also the packaging hole, which was the important one — viewtop's PKGBUILD
existed and appeared in none of packages.yml's build lists, so nothing ever
built it. Half closed: it builds now, but a viewtop commit still does not
trigger a rebuild.

TASK-15 question 1 is answered and closed: dropping the accelerometer claim
took iio-sensor-proxy from 15.3% to 1.1%, sensors overall 17.2% to 2.6% of
a core. Consequence noted against 08(g) — confidence loses accel's +0.3.

New: 54, 55, 56, and 57/58 (Pi dock head, SMB2 OTG boost) with the USB
notes they point at.
2026-08-04 18:18:17 -04:00
Fimeg
271e22cf6a task 53: the third defect the hardware found — discovery gave up on sessiond 2026-08-04 10:39:19 -04:00
Fimeg
6b38f643bf task 53: shipped as a package, cold boot verified 2026-08-04 10:03:53 -04:00
Fimeg
74c653a262 task 53: verified on the phone; two more found by running it 2026-08-04 09:52:55 -04:00
Fimeg
8ac3267cc1 task 53: all ten fixed and pushed; unverified on glass 2026-08-04 09:31:44 -04:00
Fimeg
0a36a4df5a task 53: what the compositor audit left open
Nine findings from an adversarial read of the night's work, ranked.
Six others from the same audit are already fixed; these are the rest.

The method note is the part worth keeping: every one of these passed
all four gates. A wedged compositor reports shell=active with zero
errors, so green proves nothing about behaviour.
2026-08-04 08:07:06 -04:00
Fimeg
d10479710d tasks: 52 atmosphere, and narrow the haptics question to one a hand can answer
52 maps the fifteen-technique attention vocabulary onto what viewtop can
actually do. Two are already landed — expose IS negative space, pose IS
gravity wells — and compile_custom_pixel_shader + PixelShaderElement are
already in our smithay, so #1/#6/#9/#11/#12/#13/#14 need no new machinery.

The load-bearing note is ordering: build the attention model and one
global clock before any individual effect, or fifteen animators fight
over the same surfaces and it is §1's blind actors in the render path.
That failure already happened this week in the panel. Attention decisions
go in forensic.jsonl in the same change, so the atmosphere is
imperceptible in the moment and legible afterward — the standard every
other authority here is held to.

45: the PMIC haptics path accepts and plays an FF effect and the CS40L20
is absent from this kernel, so the five-minute check is now one question
only a hand can answer.
2026-08-02 18:04:26 -04:00
Fimeg
53edffac20 tasks: 50 and 51 — her hand on the glass, and viewtop to daily driver
The gaps were prose in TASK-43 and a summary message. They are tasks now.

50 is the one that matters: every scene intent dispatches except touch, so
she can move and dim a window and cannot press anything in one — and the
workaround is the uinput bridge, which launders her intent into a physical
touch inside the kernel where nothing can undo it. That is the conflation
input.rs was written to prevent, and it is live every day this stays open.

51 is the punch list found by using the phone rather than reading it:
stacked windows, capture written-and-unmerged so nothing visual can be
verified, volume recognised and dropped, and the named holes.
2026-08-02 17:59:31 -04:00
Fimeg
80ea42cbbb task-48: daemon half fixed and live; shell half shipped and measured failing 2026-07-31 20:14:45 -04:00
Fimeg
bd528e3443 docs: 08(f) surfaced — the state machine has a readout
Device page renders state, evidence, per-source health, sensors_degraded and the
decision trail. Notes what is still absent from device_state: last-seen per
source, and grip as a fourth source.
2026-07-31 13:12:19 -04:00
Fimeg
705e7b55ae shell-tree unification: done, zero stranded files 2026-07-31 08:25:09 -04:00
Fimeg
6b0bf5c745 shell-tree unification is all but done: 918 files -> 7
Re-measured by md5 across both devices. The ii-base pin + ii-phone overlay
landed without this task being worked and killed the drift: laptop-only is 0,
the settings suite is byte-identical everywhere, and the 4 phone-only files
are the declared overlay.

Six stranded files remain. Also corrects two claims in the 07-21 record: the
phone-only KEEP list names three files that no longer exist anywhere, and
deploy.sh no longer 'only rsyncs surfaces/' - it rsyncs the pin with --delete,
which is why an undeclared phone-local file cannot survive.
2026-07-31 08:22:56 -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
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
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
4287d8765d tasks: index 36-40, correct TASK-34's invalid test, add inference tiering task 2026-07-27 15:49:09 -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
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
7b769f7c7f docs: fold the stranded device tasks, archive the handoffs, one index per tree 2026-07-26 12:33:03 -04:00
Fimeg
608f652537 tasks: fold 01 into 16.F and 22 into 19; 24 open tasks -> 22
Both were sub-items, not work units. 01's every step read "after 16.B/C";
22 sourced its own candidates from 19's still-required list and its status
line was "enumerate with Casey at session start".
2026-07-26 08:47:55 -04:00
Fimeg
cd3d57959b docs: source health is §10; correct the TASK-26 retirement
TASK-26 had two subjects. Yesterday's note closed the proximity-authority
half and read past the other one — evidence-source health, which is what
PAF/slpi.md was actually pointing at. Built now, so both are closed.

TASK-28 gains two measured cases: the reporter/sessiond split-delivery
order, and sessiond restart putting up the fallback PIN surface.
2026-07-26 08:38:35 -04:00
Fimeg
e08ec7a0d9 docs: state machine audit 2026-07-26; retire TASK-26 references
DEVICE-STATE-MACHINE §0: the audit, in the doc rather than a new task file.
Lock shadow copy found and fixed (doctrine §4). Two open: proximity has no
debounce and thrashed 69 transitions in 40min (§9.5 already specifies the fix),
and forensic.jsonl sits on tmpfs — RAM, wiped on reboot, unbounded.

TASK-26 was never written and no longer needs to be: the proximity second
authority is resolved, packaging is TASK-27. Dangling refs in STATE.md,
TASK-25 and TASK-27 now say that instead of pointing at a missing file.
2026-07-26 07:28:27 -04:00
Fimeg
45a4e44392 docs: lock-before-blank is an invariant; note the missing deploy lease
LOCK-DPMS-LESSONS §1: the idle clause described 300s-lock-before-600s-blank,
which no longer exists. sessiond enforces the ordering now.

TASK-08: record that (e) is still missing — restarting the shell over a locked
session still hits "Tried to show lockscreen surfaces without active lock".
Reproduced during this deploy.
2026-07-25 19:19:47 -04:00
Fimeg
1c1e1397e8 task 29: souveraine-updater handoff 2026-07-25 17:21:05 -04:00
Fimeg
0db3a8aa28 tasks: archive the two finished docs, complete the index
fix-dock-fullscreen-detection (superseded) and unified-device-state-deploy
(done 07-25) moved to archive/; pointers to them updated.

Index was missing rows for 21-25 and unify-shell-trees entirely. Statuses
corrected against today: 08 actuating, 15 blocked on slice separation, 17
has no word completion. TASK-26 is cited by STATE.md and TASK-25 but was
never written - noted.
2026-07-25 15:23:11 -04:00