Watch
1
0
Fork
You've already forked SouveraineOS
0
Commit graph SouveraineOS/docs/tasks/README.md
Author SHA1 Message Date
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
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
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
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
3bf40c800d docs: give the shell a memory budget 2026-08-13 15:46:32 -04:00
Fimeg
c5401f3393 docs: scope LibrePods authority path 2026-08-13 15:16: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
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