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.
20 KiB
Souveraine project state — 2026-W31
2026-07-27 to 2026-08-02 (America/Toronto). Internal. Generated from project-state/evidence/2026-W31.json; the prose is disposable, the evidence and state.json are not.
The week, counted
- 287 commits across 9 repos, 133 CI runs, 51 declared state changes.
- Issues: 6 open, 0 filed, 0 closed. Pulls: 2 open, 0 merged.
- Dimension basis: 204 by paths, 45 by repo, 30 by subject, 8 by none (
pathsread the diff,subjectread the commit subject,repofell back to the repository,noneplaced nothing).
◆ milestone
f-0027 · identity · task 35 left the index: sessiond answers nothing: handler threads park forever
Dropped from “Index” — closed work moves to archive/.
task-delisted · open 2 weeks since 2026-W30 · was advanced · evidence: d:task-35
f-0070 · release · Pixel3Arch released kernel-latest
2 assets published 2026-07-28.
release-cut · evidence: r:Pixel3Arch:kernel-latest
f-0007 · sensorium · task 13 left the index: Active Edge (squeeze) as a sensor input
Dropped from “Index” — closed work moves to archive/.
task-delisted · open 2 weeks since 2026-W30 · was advanced · evidence: d:task-13
▼ regressed
f-0021 · adoption · task 29 moved: SouveraineOS Updater
Index → Live. Ships and installs by pacman -Syu. Read-only on device until something runs a polkit agent — that is the shell's job. Also owns TASK-42's layer 2.
task-moved · open 2 weeks since 2026-W30 · was advanced · evidence: d:task-29
f-0016 · federation · task 23 moved: culver locked-notification nudge
Index → Open. Needs SyncBurst() + an IdleCoordinator schedule (TASK-15).
task-moved · open 2 weeks since 2026-W30 · was advanced · evidence: d:task-23
f-0004 · identity · task 8 moved: Device state manager / power profiles
Index → In progress. Largest task; sub-divide before starting. (e) lease missing, (f) surfaced 2026-07-31 — health, evidence and the decision trail render on the Device page; last-seen and grip still absent from device_state. (g) confidence gates need a d
task-moved · open 2 weeks since 2026-W30 · was decision required · evidence: d:task-8
f-0009 · identity · task 15 moved: Idle coordinator
Index → Blocked or gated. Freezing app.slice would freeze sessiond, shell and secrets. Needs slice separation first (measured 07-25).
task-moved · open 2 weeks since 2026-W30 · was advanced · evidence: d:task-15
f-0014 · release · task 20 moved: Player: video + agent control
Index → Open. Video, snapshot, manifest. Preserve the music path.
task-moved · open 2 weeks since 2026-W30 · was advanced · evidence: d:task-20
f-0018 · release · task 25 moved: One repo, all packages
Index → Blocked or gated. Parked 07-25 — four blockers before repo-add --sign. See TASK-27.
task-moved · open 2 weeks since 2026-W30 · was advanced · evidence: d:task-25
f-0019 · release · task 27 moved: Gitea pipeline audit
Index → Open. The fixes. Overlay is not a package; no primary branch; poisoned build sysroot.
task-moved · open 2 weeks since 2026-W30 · was advanced · evidence: d:task-27
f-0006 · sensorium · task 12 moved: Face auth as a capability factor
Index → Open. Per-target. Phone needs front-camera bring-up — that is TASK-46's IMX355 half.
task-moved · open 2 weeks since 2026-W30 · was advanced · evidence: d:task-12
f-0025 · sensorium · task 33 moved: Battery belongs to the state machine
Index → Open. Last raw feed going straight to the glass. The charge ceiling is writable today.
task-moved · open 2 weeks since 2026-W30 · was advanced · evidence: d:task-33
f-0026 · sensorium · task 34 moved: SLPI FastRPC session wedge
Index → Open. Re-diagnose. The real symptom: a DSP session survives its host daemon's death and only a cold boot clears it. No longer blocks grip.
task-moved · open 2 weeks since 2026-W30 · was advanced · evidence: d:task-34
f-0001 · surface · task 2 moved: Lockscreen-as-Rust-system
Index → In progress. sessiond's fallback should render the glance, not a second PIN pad. Stopgap shipped 07-17.
task-moved · open 2 weeks since 2026-W30 · was unchanged · evidence: d:task-2
f-0008 · surface · task 14 moved: Overview → phone app grid
Index → In progress. Paged app grid replacing the desktop workspace pane; Auxo-style running cards; unconditional Home path.
task-moved · open 2 weeks since 2026-W30 · was advanced · evidence: d:task-14
f-0010 · surface · task 16 moved: culver: messenger + contacts
Index → In progress. A/B/D landed. C (contact card) builds and awaits phone acceptance. F is the folded-in TASK-01.
task-moved · open 2 weeks since 2026-W30 · was advanced · evidence: d:task-16
f-0011 · surface · task 17 moved: Keyboard + dictation polish
Index → Open. No word completion (stevia asks hunspell for en-us, the dict is en_US); no recording indicator on the mic key. The layout half moved to TASK-24. TTS now exists (10.10.20.123:7863) — the settings field can be filled.
task-moved · open 2 weeks since 2026-W30 · was advanced · evidence: d:task-17
f-0013 · surface · task 19 moved: First-party Settings control center
Index → In progress. State-machine + source-health readout built 2026-07-31, unverified on glass. 34 and 42's layer 3 still surface here.
task-moved · open 2 weeks since 2026-W30 · was advanced · evidence: d:task-19
f-0017 · surface · task 24 moved: Keyboard layout rethink
Index → Open. Redesign from scratch, not more patches. Start from squeekboard us+apple. Casey decides where the mic key goes.
task-moved · open 2 weeks since 2026-W30 · was advanced · evidence: d:task-24
f-0022 · surface · task 30 moved: Agent reach: verb tables
Index → In progress. sessiond has describe + refusal codes + intent. Dock, apps, shell and settings do not. One session per surface.
task-moved · open 2 weeks since 2026-W30 · was advanced · evidence: d:task-30
f-0023 · surface · task 31 moved: The radial dial
Index → In progress. Component, gestures and squeeze invocation are live. Entries are still a list in DialHost.qml — they must come from the verb tables.
task-moved · open 2 weeks since 2026-W30 · was advanced · evidence: d:task-31
f-0024 · surface · task 32 moved: Pill and keyboard as owned apps
Index → Open. Both erroneous daily; neither has an owner or a shipping story.
task-moved · open 2 weeks since 2026-W30 · was advanced · evidence: d:task-32
f-0002 · unassigned · task 3 moved: Boot timing: splash → lock
Index → Open. The EBUSY handoff race is the last timing bug. Splash text killed, holder added.
task-moved · open 2 weeks since 2026-W30 · was advanced · evidence: d:task-3
f-0003 · unassigned · task 7 moved: WCD9340 mic
Index → Open. Functional since 07-20. One defect: the power pin that makes it work. Kernel branch mic-race-fix.
task-moved · open 2 weeks since 2026-W30 · was advanced · evidence: d:task-7
f-0005 · unassigned · task 9 moved: Suspend-resume FTS calibration race
Index → Open. Kernel-side real fix; interim fix shipped. Cold-boot only.
task-moved · open 2 weeks since 2026-W30 · was unchanged · evidence: d:task-9
f-0012 · unassigned · task 18 moved: Selection/highlight action menu
Index → Open. Component first, fluid before functional. Read Aloud is unblocked — TTS is live.
task-moved · open 2 weeks since 2026-W30 · was advanced · evidence: d:task-18
f-0015 · unassigned · task 21 moved: Reboot-to-Android confirmation
Index → Open. Scoped 07-22. A one-tap irreversible slot flip still sits bare in app search.
task-moved · open 2 weeks since 2026-W30 · was advanced · evidence: d:task-21
f-0020 · unassigned · task 28 moved: Handover on upgrade
Index → Blocked or gated. TASK-27's packaging. Also owns TASK-13's outstanding cold-boot handshake check.
task-moved · open 2 weeks since 2026-W30 · was advanced · evidence: d:task-28
■ blocked
f-0054 · runtime · task 40 entered the index: Inference tiering for the sensors
Filed under “Blocked or gated”. Nothing — it is the gate. P1 applied to sensord/grip/dial; gates the grip raw stream and TASK-31's IPC. Decisions first, then small code.
task-listed · evidence: d:task-40
? decision
f-0069 · identity · souveraine#1 unmerged 17d: machined: system-tier machine identity daemon
Opened 2026-07-16, never merged or closed.
pull-aging · evidence: p:souveraine:1
f-0058 · sensorium · task 44 entered the index: Fingerprint (FPC1020)
Filed under “Open”. Piece 1 (wake source / input) is a session — DT + shim already extracted. Piece 2 (biometrics) is a TrustZone question, answer it before scheduling it.
task-listed · evidence: d:task-44
▲ advanced
f-0049 · adoption · adoption moved
1 commit(s), 0 the week before. Declared: moved SouveraineOS Updater.
dimension-activity · open 2 weeks since 2026-W30 · was unchanged · evidence: c:Pixel3Arch:3090440a, d:task-29
f-0048 · federation · federation moved
0 commit(s), 2 the week before. Declared: moved culver locked-notification nudge.
dimension-activity · open 2 weeks since 2026-W30 · evidence: d:task-23
f-0043 · identity · identity moved
25 commit(s), 35 the week before. Declared: moved Device state manager / power profiles; moved Idle coordinator; delisted sessiond answers nothing: handler threads park forever.
dimension-activity · open 2 weeks since 2026-W30 · evidence: c:souveraine:3d934005, c:souveraine:4ed8f3dd, c:souveraine-viewtop:c6f74d0f, c:souveraine-viewtop:d1b7a16f, c:souveraine:c4873762, c:souveraine-viewtop:3ef1bc43, c:souveraine:c8507e92, c:Pixel3Arch:230d7dd7 …
f-0042 · reflection · reflection moved
1 commit(s), 1 the week before. Declared: added docs/SHELL-SURFACES.md.
dimension-activity · open 2 weeks since 2026-W30 · evidence: c:souveraine:15af38ae, d:docs/SHELL-SURFACES.md
f-0046 · release · release moved
30 commit(s), 32 the week before. Declared: moved Player: video + agent control; moved One repo, all packages; moved Gitea pipeline audit; added docs/DUMP-packages-publish-2026-07-30.md.
dimension-activity · open 2 weeks since 2026-W30 · evidence: c:Pixel3Arch:84adb458, c:Pixel3Arch:c8b0287b, c:Pixel3Arch:a07801b5, c:Pixel3Arch:ab09c5ea, c:Pixel3Arch:1561d216, c:Pixel3Arch:2dbe9c4f, c:Pixel3Arch:b4a45ff9, c:Pixel3Arch:c18be31f …
f-0038 · reliability · souveraine-updater CI clean
1 runs on souveraine-updater, none failed.
ci-week · open 2 weeks since 2026-W30 · evidence: ci:souveraine-updater:996
f-0066 · reliability · hexagonrpc CI clean
6 runs on hexagonrpc, none failed.
ci-week · evidence: ci:hexagonrpc:962
f-0067 · reliability · smithay CI clean
2 runs on smithay, none failed.
ci-week · evidence: ci:smithay:1066
f-0041 · runtime · runtime moved
12 commit(s), 15 the week before. Declared: listed Inference tiering for the sensors; listed Camera: the front camera works; added docs/substrate/VPN-WIUF.md.
dimension-activity · open 2 weeks since 2026-W30 · evidence: c:hexagonrpc:37437453, c:SouveraineOS:04831db5, c:SouveraineOS:4287d876, c:souveraine-speech:48b5caa5, c:souveraine:e9bf33e6, c:SouveraineOS:051da9e0, c:souveraine-speech:f10e34b9, c:souveraine:426dcf63 …
f-0045 · sensorium · sensorium moved
89 commit(s), 47 the week before. Declared: moved Face auth as a capability factor; delisted Active Edge (squeeze) as a sensor input; moved Battery belongs to the state machine; moved SLPI FastRPC session wedge.
dimension-activity · open 2 weeks since 2026-W30 · evidence: c:hexagonrpc:6c0fa9cb, c:hexagonrpc:55c0d186, c:hexagonrpc:c314f76f, c:hexagonrpc:8d76b8f5, c:hexagonrpc:0aa66cf8, c:hexagonrpc:c875a342, c:SouveraineOS:3abf45a5, c:SouveraineOS:ccf02e3b …
f-0044 · surface · surface moved
108 commit(s), 62 the week before. Declared: moved Lockscreen-as-Rust-system; moved Overview → phone app grid; moved culver: messenger + contacts; moved Keyboard + dictation polish.
dimension-activity · open 2 weeks since 2026-W30 · evidence: c:souveraine:53dcb40c, c:SouveraineOS:78c62a60, c:souveraine:2170ba68, c:souveraine:deda4a7b, c:souveraine:68b60252, c:souveraine-viewtop:36b6b2e7, c:souveraine-viewtop:e1c93a5e, c:souveraine-viewtop:d1a9d73e …
f-0057 · surface · task 43 entered the index: viewtop: the Souveraine compositor
Filed under “Live”. Runs on the phone. Next lane is the ext-session-lock admission gate. The two-client lock handoff is the thing not to get wrong.
task-listed · evidence: d:task-43
f-0056 · unassigned · task 42 entered the index: Build outcomes are invisible
Filed under “In progress”. Layer 1 built (tools/ci-status.sh + push hook). Layer 2 is TASK-29's, layer 3 is TASK-19's. Pin-rot prevention unbuilt.
task-listed · evidence: d:task-42
· unchanged
f-0040 · memory · memory moved
2 commit(s), 1 the week before.
dimension-activity · open 2 weeks since 2026-W30 · was advanced · evidence: c:linux-blueline:4d52867f, c:linux-blueline:a8bac15b
f-0034 · reliability · Pixel3Arch CI mixed
On Pixel3Arch, 2 of 14 runs failed and 1 never concluded.
ci-week · open 2 weeks since 2026-W30 · evidence: ci:Pixel3Arch:1085, ci:Pixel3Arch:992, ci:Pixel3Arch:1035
f-0037 · reliability · souveraine CI mixed
On souveraine, 17 of 65 runs failed and 11 never concluded.
ci-week · open 2 weeks since 2026-W30 · evidence: ci:souveraine:1089, ci:souveraine:934, ci:souveraine:937, ci:souveraine:942, ci:souveraine:950, ci:souveraine:952
f-0047 · reliability · reliability moved
11 commit(s), 12 the week before.
dimension-activity · open 2 weeks since 2026-W30 · was advanced · evidence: c:souveraine:7eb21359, c:Pixel3Arch:84673db7, c:souveraine:25d1e192, c:souveraine:684d1f9f, c:souveraine:21b602a7, c:souveraine-speech:19c0e307, c:souveraine:3bc363a9, c:souveraine-updater:1540559a
f-0068 · reliability · souveraine-viewtop CI mixed
On souveraine-viewtop, 10 of 45 runs failed.
ci-week · evidence: ci:souveraine-viewtop:1090, ci:souveraine-viewtop:954, ci:souveraine-viewtop:955, ci:souveraine-viewtop:958, ci:souveraine-viewtop:991, ci:souveraine-viewtop:1005
f-0060 · runtime · task 46 entered the index: Camera: the front camera works
Filed under “Open”. First frame captured 2026-07-29 on the running kernel — no reboot, no DT change. Both front IMX355 were already bound; nobody had tried streaming. Recipe + the stride/packing gotchas are in the task. Next: exposure controls, then libcam
task-listed · evidence: d:task-46
f-0050 · sensorium · task 36 entered the index: CHRE nanoapp host for the SLPI
Filed under “Open”. Three methods to add; method table recovered 07-27. No longer on grip's critical path — wanted for DozeDeep detection and elmyra_haptics_control.
task-listed · evidence: d:task-36
f-0053 · sensorium · task 39 entered the index: Audio levels as tracked state
Filed under “Open”. Defaults + roles, not a save bug — WirePlumber persistence measured working 07-28. Do not add a second writer.
task-listed · evidence: d:task-39
f-0059 · sensorium · task 45 entered the index: Haptics (CS40L20)
Filed under “Open”. First: which chip actually drives the motor — pmi8998_haptics is what the dial's detents use today. Then port cs40l2x from Kirisakura; firmware blobs are committed.
task-listed · evidence: d:task-45
f-0061 · sensorium · task 47 entered the index: Auto-brightness: anchors, none of it built
Filed under “Open”. §12 reads as settled and has zero code behind its actuation half — no brightness Action, no anchors, grep anchor src/ is empty. The evidence half (lux in, health tracked) is live.
task-listed · evidence: d:task-47
f-0051 · surface · task 37 entered the index: "Back" as a first-class verb
Filed under “Open”. Our Gestures.qml is already the compositor half; can_go_back is the dial's enabled/reason.
task-listed · evidence: d:task-37
f-0052 · surface · task 38 entered the index: Pill swipe-to-max swaps the keyboard
Filed under “Open”. Micro. The only route to a terminal keyboard since stevia dropped its layout.
task-listed · evidence: d:task-38
f-0055 · surface · task 41 entered the index: Producers must be attested
Filed under “Open”. Design first. Demonstrated live 07-28 — a squeeze and a dial-open both accepted from an SSH shell.
task-listed · evidence: d:task-41
f-0062 · surface · task 48 entered the index: Shell dies on any reload that owes a lock
Filed under “Open”. Fully diagnosed 07-29, 11 crashes since 07-17. A reload re-requests ext-session-lock while the outgoing instance still holds it → FATAL: Tried to show lockscreen surfaces without active lock. **Sync with TASK-43 before touching the lock p
task-listed · evidence: d:task-48
f-0063 · surface · task 50 entered the index: Her hand on the glass
Filed under “Open”. Every scene intent reaches the compositor now except touch — so she can move, scale, dim and close a window and cannot press anything inside one. The receiving end is built (Origin::Agent, the disjoint slot namespace, the evidence pre
task-listed · evidence: d:task-50
f-0064 · surface · task 51 entered the index: viewtop to daily driver
Filed under “Open”. The punch list between runs and stable, all of it found by using the phone: windows stack with nothing to tell them apart, screen capture is written and unmerged (so no UI change can be verified), volume buttons are recognised and dropp
task-listed · evidence: d:task-51
f-0065 · surface · task 52 entered the index: Atmosphere
Filed under “Open”. Attention as a compositor capability — the fifteen-technique vocabulary. Two are already landed (expose is negative space, pose is gravity wells), and compile_custom_pixel_shader + PixelShaderElement are already in our smithay,
task-listed · evidence: d:task-52
Closed this week
- f-0033 · task 11 left the index: souveraine-secrets on the phone — held from 2026-W30 to 2026-W30, 1 week(s).
- f-0030 · task 5 left the index: Crash reporter surfacing — held from 2026-W30 to 2026-W30, 1 week(s).
- f-0029 · task 4 left the index: Notification server (org.freedesktop.Notifications) — held from 2026-W30 to 2026-W30, 1 week(s).
- f-0028 · task 1 left the index: Favorites — wife's name on her number — held from 2026-W30 to 2026-W30, 1 week(s).
- f-0031 · task 6 left the index: qtpim aarch64 build → contacts store — held from 2026-W30 to 2026-W30, 1 week(s).
- f-0032 · task 10 left the index: Boot chain: pmOS init → mkinitcpio — held from 2026-W30 to 2026-W30, 1 week(s).
Provenance
- Evidence:
project-state/evidence/2026-W31.json, collected 2026-08-18T22:46:32Z bytools/project-state/collect.pyv1 against gitea 1.25.5 in 99 API calls. - Deterministic rules: ci-week, dimension-activity, pull-aging, release-cut, task-delisted, task-listed, task-moved.
- Analyst: none run; every finding here is deterministic.
- Trace one:
tools/project-state/synthesize.py --explain <id>.