Watch
1
0
Fork
You've already forked SouveraineOS
0
SouveraineOS/project-state/evidence/2026-W30.json
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

9863 lines
367 KiB
JSON

{
"week": "2026-W30",
"range": {
"start": "2026-07-20",
"end": "2026-07-26",
"tz": "America/Toronto",
"start_utc": "2026-07-20T04:00:00Z",
"end_utc": "2026-07-27T04:00:00Z"
},
"collected_at": "2026-08-18T22:46:26Z",
"collector": {
"tool": "tools/project-state/collect.py",
"version": 1,
"forge": "gitea 1.25.5",
"api_calls": 101,
"redacted": false,
"repos": {
"souveraine": {
"commits": 71,
"checkout": true
},
"SouveraineOS": {
"commits": 64,
"checkout": true
},
"Pixel3Arch": {
"commits": 47,
"checkout": true
},
"souveraine-viewtop": {
"commits": 0,
"checkout": true
},
"souveraine-updater": {
"commits": 8,
"checkout": true
},
"souveraine-lens": {
"commits": 0,
"checkout": true
},
"souveraine-speech": {
"commits": 0,
"checkout": true
},
"souveraine-player": {
"commits": 8,
"checkout": true
},
"souveraine-usb": {
"commits": 0,
"checkout": true
},
"culver": {
"commits": 16,
"checkout": true
},
"linux-blueline": {
"commits": 7,
"checkout": false
},
"hexagonrpc": {
"commits": 0,
"checkout": true
},
"smithay": {
"commits": 0,
"checkout": true
},
"pocketboot": {
"commits": 0,
"checkout": true
},
"libcmatrix": {
"commits": 0,
"checkout": false
},
"upower": {
"commits": 5,
"checkout": true
}
},
"notes": []
},
"commits": [
{
"id": "c:souveraine:a2320641",
"repo": "souveraine",
"sha": "a2320641a3ca0e3dc21a71a355927bfbfb8a8915",
"branch": "primary",
"at": "2026-07-20T07:58:35-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "restore LockContext.qml (recovered from live phone deploy)",
"detail": "Deleted from repo in a prior session while reverting an experiment;\nnever should have removed a file that wasn't reverted alongside it.\nPulled back from the phone's live ~/.config/quickshell deploy, which\nwas still running the correct version the whole time.",
"dimension": "surface",
"basis": "paths",
"paths": [
"surfaces/quickshell/modules/common/panels/lock/LockContext.qml"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/a2320641a3ca0e3dc21a71a355927bfbfb8a8915"
},
{
"id": "c:Pixel3Arch:9c64e9ee",
"repo": "Pixel3Arch",
"sha": "9c64e9eece85c721be1fdfcbd8d5c6bb50ea995b",
"branch": "main",
"at": "2026-07-20T08:31:10-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "drop the phrog greeter, fbcon off the panel",
"detail": "phoc crash-looped on 'Swapchain for output DSI-1 failed test', exited\nwithout ever creating a session, and greetd respawned it every couple of\nseconds - burning a core and sitting on vt1 so the real session never\nreached the display. Souveraine does its own login through the lock\nsurface; the greeter was dead weight. Both greetd sessions now run\nsouveraine-session directly.",
"dimension": "surface",
"basis": "subject",
"paths": [
"boot/extlinux.conf",
"overlays/greetd/config.toml"
],
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/9c64e9eece85c721be1fdfcbd8d5c6bb50ea995b"
},
{
"id": "c:Pixel3Arch:2b3351d6",
"repo": "Pixel3Arch",
"sha": "2b3351d6ff1fe03955c3140bdcf38efba5ccd18a",
"branch": "main",
"at": "2026-07-20T13:37:39-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "Kill gnome-keyring SystemPrompter to stop greetd login race",
"detail": "D-Bus activation override pointing the prompter at /usr/bin/false so it\ncan't spin up a competing auth surface at login. Was living uncommitted\nin the phone rootfs and got lost on a reflash.",
"dimension": "runtime",
"basis": "paths",
"paths": [
"rootfs-overlay/home/casey/.local/share/dbus-1/services/org.gnome.keyring.SystemPrompter.service"
],
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/2b3351d6ff1fe03955c3140bdcf38efba5ccd18a"
},
{
"id": "c:culver:2963a794",
"repo": "culver",
"sha": "2963a794099fee564c10f111622b0062609e612e",
"branch": "primary",
"at": "2026-07-20T14:40:54-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "matrix: move to matrix-sdk git rev + matrix-sdk-ui; wire app main.rs",
"detail": "Move matrix-sdk to upstream main (rev 5226a75) with matrix-sdk-ui for the\nSyncService/RoomListService/Timeline stack; rusqlite 0.37 to match\nmatrix-sdk-sqlite; cxx-qt 0.9; secret-service for the org.freedesktop.secrets\nrail. Fill in crates/app/src/main.rs: registry wiring, QML engine boot, store\nopen, telephony+matrix backend startup. Whole workspace builds.",
"dimension": "release",
"basis": "paths",
"paths": [
".cargo/aarch64-pkg-config",
".cargo/config.toml",
".gitea/workflows/ci.yml",
".gitignore",
"Cargo.lock",
"Cargo.toml",
"HANDOFF.md",
"HANDOFF_CULVER_CROSS.md",
"HANDOFF_FABLE.md",
"README.md",
"crates/app/Cargo.toml",
"crates/app/build.rs",
"crates/app/src/bridge/accounts.rs",
"crates/app/src/bridge/chat.rs",
"crates/app/src/bridge/composer.rs",
"crates/app/src/bridge/inbox.rs",
"crates/app/src/bridge/mod.rs",
"crates/app/src/bridge/registry.rs",
"crates/app/src/bridge/shared.rs",
"crates/app/src/runtime.rs",
"crates/contacts/Cargo.toml",
"crates/contacts/src/lib.rs",
"crates/contacts/src/store.rs",
"crates/core/Cargo.toml",
"crates/core/src/lib.rs",
"crates/core/src/store.rs",
"crates/matrix/Cargo.toml",
"crates/matrix/src/convert.rs",
"crates/matrix/src/error.rs",
"crates/matrix/src/lib.rs",
"crates/matrix/src/login.rs",
"crates/matrix/src/protocol.rs",
"crates/telephony/Cargo.toml",
"crates/telephony/src/lib.rs",
"crates/telephony/src/mms.rs",
"crates/telephony/src/protocol.rs",
"crates/telephony/src/sms.rs",
"crates/telephony/src/tapback.rs",
"crates/telephony/src/util.rs",
"packaging/arch/PKGBUILD"
],
"url": "https://gitea.wiuf.net/Fimeg/culver/commit/2963a794099fee564c10f111622b0062609e612e"
},
{
"id": "c:souveraine-player:3ad5a504",
"repo": "souveraine-player",
"sha": "3ad5a50465d78d6b48e2fd8ec1441dedf1ce1ef8",
"branch": "master",
"at": "2026-07-20T14:41:36-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "Initial souveraine-player backend",
"detail": "GStreamer engine, SQLite library, playlists, MPRIS, session history,\ncovers/lyrics fetchers, agent manifest. Headless backend — QML head next.",
"dimension": "release",
"basis": "paths",
"paths": [
".gitignore",
"Cargo.lock",
"Cargo.toml",
"ROADMAP.md",
"src/covers.rs",
"src/data.rs",
"src/engine.rs",
"src/equalizer.rs",
"src/library.rs",
"src/lyrics.rs",
"src/main.rs",
"src/manifest.rs",
"src/mpris.rs",
"src/play_manager.rs",
"src/playlist.rs",
"src/session.rs",
"src/tagging.rs"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine-player/commit/3ad5a50465d78d6b48e2fd8ec1441dedf1ce1ef8"
},
{
"id": "c:souveraine-player:9ec06edc",
"repo": "souveraine-player",
"sha": "9ec06edc09f42a7da67bed7e488091bbb38f930e",
"branch": "master",
"at": "2026-07-20T15:21:03-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "Add QML frontend: cxx-qt bridge, Navidrome client, iCloud-style download",
"detail": "The player was a headless daemon (MPRIS + agent manifest only). Give it the\nQML head it needs — the human drives their own media app; agent + MPRIS are\nadditional controllers.",
"dimension": "runtime",
"basis": "paths",
"paths": [
"Cargo.toml",
"build.rs",
"qml/Main.qml",
"qml/theme/Theme.qml",
"qml/theme/qmldir",
"src/bridge/library.rs",
"src/bridge/mod.rs",
"src/bridge/nowplaying.rs",
"src/bridge/queue.rs",
"src/bridge/registry.rs",
"src/bridge/server.rs",
"src/bridge/shared.rs",
"src/data.rs",
"src/library.rs",
"src/main.rs",
"src/runtime.rs",
"src/subsonic.rs"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine-player/commit/9ec06edc09f42a7da67bed7e488091bbb38f930e"
},
{
"id": "c:souveraine-player:6dc8ee6c",
"repo": "souveraine-player",
"sha": "6dc8ee6c6101be8bd9580e2514f606c718dc9463",
"branch": "master",
"at": "2026-07-20T15:54:56-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "Fix on-device QML load + register QML module; all tests green",
"detail": "The QML head built but panicked on-device (NowPlaying not instantiated).\nThree real fixes:\n- qrc load path: the root is at qrc:/qt/qml/com/souveraine/player/qml/Main.qml\n — the source file's qml/ subdir segment is part of the resource path (per\n KDAB qml_multi_crates). Dropping it gave 'No such file or directory' and the\n engine constructed nothing.\n- init_crate! + init_qml_module! both required in main so the cross-linker\n keeps cxx-qt's static type + module registration.\n- Theme is a singleton in the same module (registered via QmlFile.singleton),\n not a nested .theme sub-module that never got embedded.",
"dimension": "surface",
"basis": "paths",
"paths": [
".cargo/aarch64-pkg-config",
".cargo/config.toml",
"Cargo.toml",
"build.rs",
"packaging/deploy-phone.sh",
"qml/Main.qml",
"qml/Theme.qml",
"qml/theme/Theme.qml",
"qml/theme/qmldir",
"scripts/aarch64-linker",
"scripts/aarch64-qmake",
"scripts/build-cross.sh",
"src/main.rs",
"src/playlist.rs",
"src/tagging.rs"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine-player/commit/6dc8ee6c6101be8bd9580e2514f606c718dc9463"
},
{
"id": "c:Pixel3Arch:2e762c49",
"repo": "Pixel3Arch",
"sha": "2e762c491a2178d3919502de3346747838723d60",
"branch": "main",
"at": "2026-07-20T17:50:50-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "boot: islands early so wifi survives, splash hands off mid-animation",
"detail": "blueline-slpi/adsp were After=multi-user.target, which slow oneshots\n(souveraine-splash's 30s watchdog, usb-signaller) drag to ~39s. Booting\nthe DSP islands that late lands them in ath10k's MSA window at ~40s: the\nshared TZ MSA arbitration collides, wifi firmware crashes (\"failed to\nunmap msa permissions: -22\" -> \"could not probe fw -110\"), and only a cold\nboot clears it. Boot the islands early instead (After=rmtfs.service\nlocal-fs.target, ~7.6s) so MSA is settled long before wifi.",
"dimension": "surface",
"basis": "subject",
"paths": [
"bootsplash/main.c",
"rootfs-overlay/etc/modprobe.d/blueline-wifi-order.conf",
"rootfs-overlay/etc/systemd/system/blueline-adsp.service",
"rootfs-overlay/etc/systemd/system/blueline-slpi.service",
"rootfs-overlay/etc/systemd/system/blueline-wifi-load.service",
"rootfs-overlay/etc/systemd/system/multi-user.target.wants/blueline-wifi-load.service"
],
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/2e762c491a2178d3919502de3346747838723d60"
},
{
"id": "c:souveraine:e3cf50bf",
"repo": "souveraine",
"sha": "e3cf50bf7594b0e3f5a26858e97f242bf91391fe",
"branch": "primary",
"at": "2026-07-20T17:51:23-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "quickshell: boot bloom overlay + native pipewire audio",
"detail": "The C splash now plays only Acts I-III and hands off at ~6.8s; a new\nBootBloom layershell overlay (modules/souveraine/boot) resumes Acts IV-V\n(Souvie + bloom flower) over the live compositor, clock-aligned to the boot\nepoch so the animation is continuous across the process swap. It maps as\nHyprland's first surface (top-level in ShellRoot, before Config.ready),\npokes splash-signal on its first frame to release the GPU, and LockScreen\nclears bootBloomActive on secure to fade it out and reveal the lock. Bloom\nshader is qsb-compiled from BootBloom.frag at deploy time.",
"dimension": "surface",
"basis": "paths",
"paths": [
"surfaces/quickshell/GlobalStates.qml",
"surfaces/quickshell/deploy.sh",
"surfaces/quickshell/modules/common/panels/lock/LockScreen.qml",
"surfaces/quickshell/modules/souveraine/boot/BootBloom.frag",
"surfaces/quickshell/modules/souveraine/boot/BootBloom.frag.qsb",
"surfaces/quickshell/modules/souveraine/boot/BootBloom.qml",
"surfaces/quickshell/modules/souveraine/boot/qmldir",
"surfaces/quickshell/modules/souveraine/boot/souvie.png",
"surfaces/quickshell/shell.qml"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/e3cf50bf7594b0e3f5a26858e97f242bf91391fe"
},
{
"id": "c:souveraine:d0272510",
"repo": "souveraine",
"sha": "d02725102453c0c03c8208d670a5d179a8f57ef2",
"branch": "primary",
"at": "2026-07-20T17:51:30-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "session: use systemctl for power verbs, not loginctl",
"detail": "loginctl manages sessions/users/seats only — `loginctl poweroff` exits 1\n\"Unknown command verb\". Preferring it silently broke poweroff/reboot/\nsuspend/hibernate from every shell surface. Use systemctl; fall back to\nloginctl only on elogind systems where it does carry power verbs. The\nlogind D-Bus capability probe (CanPowerOff etc.) is unchanged — logind\nowns policy, systemctl carries out the action.",
"dimension": "surface",
"basis": "paths",
"paths": [
"surfaces/quickshell/modules/common/functions/Session.qml"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/d02725102453c0c03c8208d670a5d179a8f57ef2"
},
{
"id": "c:souveraine-player:2ed0389f",
"repo": "souveraine-player",
"sha": "2ed0389fd8f739eb2c4de823d01fcf0a4c99ce99",
"branch": "master",
"at": "2026-07-20T17:55:27-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "mpris: fix panic — cache uses std RwLock, not tokio",
"detail": "The zbus property getters are synchronous fns dispatched on the tokio\nexecutor, where tokio::sync::RwLock::blocking_read() panics (\"Cannot block\nthe current thread from within a runtime\"). Every property read crashed a\nworker on launch. Switch the cache to std::sync::RwLock: getters read it\nwith no runtime, the writer holds it without awaiting under the guard. The\ntwo event-loop arms that emit Seeked scope the write so the (non-Send) std\nguard drops before the await.",
"dimension": "reliability",
"basis": "subject",
"paths": [
"src/mpris.rs"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine-player/commit/2ed0389fd8f739eb2c4de823d01fcf0a4c99ce99"
},
{
"id": "c:culver:c1088d2b",
"repo": "culver",
"sha": "c1088d2b6a0942becf0fceaf6b5b0497b53c9c02",
"branch": "primary",
"at": "2026-07-20T19:10:29-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "qml: register all views in the module so Main.qml constructs",
"detail": "Culver never ran on-device: Main.qml's root component silently constructed\nto null and the model registry drained empty (\"InboxModel was not\ninstantiated by Main.qml\"). Several independent qrc/module traps, all fixed:",
"dimension": "surface",
"basis": "paths",
"paths": [
"Cargo.toml",
"crates/app/Cargo.toml",
"crates/app/build.rs",
"crates/app/qml/Accounts.qml",
"crates/app/qml/ChatView.qml",
"crates/app/qml/ComposerBar.qml",
"crates/app/qml/Inbox.qml",
"crates/app/qml/Main.qml",
"crates/app/qml/MessageDelegate.qml",
"crates/app/qml/ReactionPicker.qml",
"crates/app/qml/Theme.qml",
"crates/app/qml/ThreadView.qml",
"crates/app/qml/components/AttachmentView.qml",
"crates/app/qml/components/Avatar.qml",
"crates/app/qml/components/InboxRow.qml",
"crates/app/qml/components/LabeledField.qml",
"crates/app/qml/components/ProtocolGlyph.qml",
"crates/app/qml/components/RoundIconButton.qml",
"crates/app/src/main.rs",
"qml/Accounts.qml",
"qml/ChatView.qml",
"qml/Composer.qml",
"qml/Inbox.qml",
"qml/Main.qml",
"qml/MessageDelegate.qml",
"qml/ReactionPicker.qml",
"qml/ThreadView.qml",
"qml/components/AttachmentView.qml",
"qml/components/Avatar.qml",
"qml/components/InboxRow.qml",
"qml/components/LabeledField.qml",
"qml/components/ProtocolGlyph.qml",
"qml/components/RoundIconButton.qml",
"qml/theme/Theme.qml",
"qml/theme/qmldir"
],
"url": "https://gitea.wiuf.net/Fimeg/culver/commit/c1088d2b6a0942becf0fceaf6b5b0497b53c9c02"
},
{
"id": "c:souveraine-player:15be14ae",
"repo": "souveraine-player",
"sha": "15be14ae09d066c0eb6ef98ebf34377ecb01cd76",
"branch": "master",
"at": "2026-07-20T19:17:05-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "download: land server tracks in the library, not an orphan .audio file",
"detail": "DownloadServerTrack fetched the bytes to `<id>.audio` and reported 100% but\nnever registered the track — the scanner ignores `.audio` and nothing was\ninserted, so a \"successful\" download was invisible. Now it picks a real\nextension from the response Content-Type, upserts artist/album, inserts the\ntrack as TrackSource::Downloaded, and refreshes the library model so it\nappears immediately (iCloud model, ROADMAP #3).",
"dimension": "runtime",
"basis": "paths",
"paths": [
"src/runtime.rs"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine-player/commit/15be14ae09d066c0eb6ef98ebf34377ecb01cd76"
},
{
"id": "c:culver:d6201130",
"repo": "culver",
"sha": "d6201130f4cfa77bf965bfdbc373b6a1f792a32f",
"branch": "primary",
"at": "2026-07-20T21:07:20-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "matrix: drop unused ResolvedSession, elide lifetimes in room_id_of",
"detail": "",
"dimension": "identity",
"basis": "paths",
"paths": [
"crates/matrix/src/convert.rs",
"crates/matrix/src/login.rs"
],
"url": "https://gitea.wiuf.net/Fimeg/culver/commit/d6201130f4cfa77bf965bfdbc373b6a1f792a32f"
},
{
"id": "c:souveraine-player:313481db",
"repo": "souveraine-player",
"sha": "313481dbe897b44ddbe971d14b523ab05709ac7f",
"branch": "master",
"at": "2026-07-20T21:08:28-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "server: persist Navidrome login on the Secret Service rail",
"detail": "Credentials store/restore/clear via org.freedesktop.secrets (secret-service\ncrate, DH transport) — souveraine-secrets on-device. Remember-me gates\nstorage, the session auto-restores at launch behind a restoring guard so\nthe login form only shows when no saved session exists, and Log out drops\nthe live client and deletes the stored item. ServerBrowser gains server +\nrestoring properties and a logout invokable.",
"dimension": "runtime",
"basis": "paths",
"paths": [
"Cargo.lock",
"Cargo.toml",
"ROADMAP.md",
"packaging/deploy-phone.sh",
"qml/Main.qml",
"src/bridge/server.rs",
"src/bridge/shared.rs",
"src/main.rs",
"src/runtime.rs",
"src/secrets.rs",
"src/subsonic.rs"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine-player/commit/313481dbe897b44ddbe971d14b523ab05709ac7f"
},
{
"id": "c:souveraine:d824ca7f",
"repo": "souveraine",
"sha": "d824ca7f81c95e734f586fd1aacef48d1fd60611",
"branch": "primary",
"at": "2026-07-20T21:16:32-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "secrets: at-rest encryption, passphrase wrap, phone packaging",
"detail": "Seal items AES-256-GCM under a random store key (item id as AAD).\nMachine wrap: HKDF over a deterministic machined signature (domain\nsecrets-store-key, socket /run/souveraine/machined.sock; legacy\nseed-id fallback, same framing) — private key never enters the daemon.\nArgon2id passphrase wrap slot (64MiB/3, HKDF-mixed with the machine\nsignature) managed via org.souveraine.Secrets.Manage: SetPassphrase /\nVerifyPassphrase / HasPassphrase; rotation re-wraps only.",
"dimension": "identity",
"basis": "paths",
"paths": [
"Cargo.lock",
"Cargo.toml",
"packaging/deploy-secrets-phone.sh",
"packaging/org.freedesktop.secrets.service",
"packaging/souveraine-secrets.service",
"src/bin/souveraine-secrets.rs",
"src/secrets/collection.rs",
"src/secrets/dh.rs",
"src/secrets/item.rs",
"src/secrets/manage.rs",
"src/secrets/service.rs",
"src/secrets/storage_key.rs",
"src/secrets/store.rs"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/d824ca7f81c95e734f586fd1aacef48d1fd60611"
},
{
"id": "c:SouveraineOS:ae6e2be5",
"repo": "SouveraineOS",
"sha": "ae6e2be533ba6f82d3cfb6204da7e213709e213b",
"branch": "main",
"at": "2026-07-20T21:20:38-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "secrets landed: archive TASK-11, storage-encryption status, handoff",
"detail": "souveraine-secrets is live on the phone (reboot-verified, keyring\nmasked) — TASK-11 complete, moved to tasks/archive/ with the outcome.\nSTORAGE-ENCRYPTION.md: add the doc (design of record, 2026-07-20) with\nstatus updated to match code — secrets-store AEAD + machine wrap built,\nArgon2id wrap built with ingress pending; the derive_storage_key gap\nparagraph now scoped to what remains. Add session handoff.",
"dimension": "identity",
"basis": "paths",
"paths": [
"docs/STORAGE-ENCRYPTION.md",
"docs/handoff-2026-07-20-secrets.md",
"docs/tasks/11-souveraine-secrets.md",
"docs/tasks/archive/11-souveraine-secrets.md"
],
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/ae6e2be533ba6f82d3cfb6204da7e213709e213b"
},
{
"id": "c:souveraine-player:0d693b9d",
"repo": "souveraine-player",
"sha": "0d693b9d40c73c563345ceae63c4534b825184b6",
"branch": "master",
"at": "2026-07-20T21:49:53-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "search + taps fixed, matugen palette, app icon",
"detail": "Delegates declared 'property int index: -1', shadowing the model's index\ncontext property — every tap called playFromRow/playTrack(-1) and did\nnothing. Bind the property back to model.index.",
"dimension": "surface",
"basis": "paths",
"paths": [
"build.rs",
"packaging/deploy-phone.sh",
"packaging/souveraine-player.svg",
"qml/Main.qml",
"qml/Theme.qml",
"src/bridge/mod.rs",
"src/bridge/registry.rs",
"src/bridge/theme.rs",
"src/main.rs"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine-player/commit/0d693b9d40c73c563345ceae63c4534b825184b6"
},
{
"id": "c:culver:ca59f2b5",
"repo": "culver",
"sha": "ca59f2b579a80a32a884d22f53f0f394bfe562ca",
"branch": "primary",
"at": "2026-07-20T21:50:06-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "surface matrix login state, fix dead QML bindings, app icon",
"detail": "Login failures were invisible: login_result is emitted but nothing\nlistened, and Accounts.qml bound busy/lastError/detail that the bridge\nnever exposed — the error Text could not even turn visible (undefined\nassigned to bool). AccountsModel now has busy + lastError qproperties\n(set in addMatrixAccount / report_login) and a detail role, so a failed\nsign-in shows its reason and the button reflects flight.",
"dimension": "surface",
"basis": "paths",
"paths": [
"Cargo.lock",
"crates/app/Cargo.toml",
"crates/app/qml/Accounts.qml",
"crates/app/qml/ComposerBar.qml",
"crates/app/src/bridge/accounts.rs",
"crates/app/src/bridge/shared.rs",
"crates/app/src/main.rs",
"packaging/arch/PKGBUILD"
],
"url": "https://gitea.wiuf.net/Fimeg/culver/commit/ca59f2b579a80a32a884d22f53f0f394bfe562ca"
},
{
"id": "c:SouveraineOS:011d1ccb",
"repo": "SouveraineOS",
"sha": "011d1ccbdf03ad228017071e9eb2783b0f15dba5",
"branch": "main",
"at": "2026-07-20T21:50:19-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "blueline: wifi bring-up ordering + stable MAC",
"detail": "WCN3990 wifi died at boot: udev autoloads ath10k_snoc before rmtfs +\ntqftpserv serve the DSP firmware, the wifi firmware crashes (msa unmap\n-22), the in-place retry wedges at HTT connect (-110), and no wlan\ndevice exists for the whole boot (WIFI-HW 'missing'). Blacklist the\nautoload; blueline-wifi-bringup.service loads it after those services\nwith a reload-on-wedge retry (a crashed WCN3990 only recovers by module\nreinsert). Diagnosed and verified live on-device.",
"dimension": "unassigned",
"basis": "none",
"paths": [
"blueline/wifi-bringup/blueline-wifi-bringup.service",
"blueline/wifi-bringup/blueline-wifi-bringup.sh",
"blueline/wifi-bringup/blueline-wifi-defer.conf",
"blueline/wifi-bringup/blueline-wifi-mac.conf"
],
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/011d1ccbdf03ad228017071e9eb2783b0f15dba5"
},
{
"id": "c:culver:8a75a670",
"repo": "culver",
"sha": "8a75a6701db268b9c9d88851157880aacf5b668d",
"branch": "primary",
"at": "2026-07-20T22:20:39-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "bridge: expose camelCase names to QML via auto_cxx_name",
"detail": "cxx-qt 0.9 keeps snake_case for Q_PROPERTY/Q_INVOKABLE/signal names, so\nevery multi-word QML binding (lastError, canSend, replyTo, hasAttachments,\naddMatrixAccount, ...) resolved to undefined and matrix sign-in never even\ninvoked the bridge. auto_cxx_name on each RustQt block camelCases the\nQt-facing names to match the QML; Rust idents stay snake_case.",
"dimension": "surface",
"basis": "subject",
"paths": [
"crates/app/src/bridge/accounts.rs",
"crates/app/src/bridge/chat.rs",
"crates/app/src/bridge/composer.rs",
"crates/app/src/bridge/inbox.rs"
],
"url": "https://gitea.wiuf.net/Fimeg/culver/commit/8a75a6701db268b9c9d88851157880aacf5b668d"
},
{
"id": "c:souveraine-player:d3bfbcd4",
"repo": "souveraine-player",
"sha": "d3bfbcd499794174715c2761071c918e26956f1e",
"branch": "master",
"at": "2026-07-20T22:20:41-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "bridge: camelCase QML-facing names via auto_cxx_name; seed icon index.theme",
"detail": "Same cxx-qt naming trap as culver: durationMs/positionMs/artUrl and the\nplayTrack/enqueueTrack/loadAlbums invokables were exposed snake_case, so\nthe QML bindings and tap-to-play calls resolved to undefined. deploy now\nseeds /usr/local/share/icons/hicolor/index.theme — Qt skips a theme prefix\nwithout it and the app icon never loads.",
"dimension": "runtime",
"basis": "paths",
"paths": [
"packaging/deploy-phone.sh",
"src/bridge/library.rs",
"src/bridge/nowplaying.rs",
"src/bridge/queue.rs",
"src/bridge/server.rs",
"src/bridge/theme.rs"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine-player/commit/d3bfbcd499794174715c2761071c918e26956f1e"
},
{
"id": "c:SouveraineOS:7ec2479f",
"repo": "SouveraineOS",
"sha": "7ec2479f83f73695ed5da15959bdba9cb3134daa",
"branch": "main",
"at": "2026-07-20T22:21:15-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "blueline: consolidate wifi bring-up, adopt cellular/MMS path, task audit",
"detail": "wifi: bringup unit now carries the union ordering (slpi/adsp for TZ MSA,\nrmtfs+tqftpserv for firmware serving — the 2026-07-20 boot proved the old\nload unit's ordering incomplete) and supersedes blueline-wifi-load;\nmsa-release adopted into the repo (shutdown unload that keeps warm\nreboots clean).",
"dimension": "sensorium",
"basis": "paths",
"paths": [
"blueline/cellular/README.md",
"blueline/cellular/blueline-clat.service",
"blueline/cellular/blueline-clat.sh",
"blueline/wifi-bringup/blueline-wifi-bringup.service",
"blueline/wifi-bringup/blueline-wifi-msa-release.service",
"docs/LOCK-DPMS-LESSONS.md",
"docs/tasks/01-favorites-contacts.md",
"docs/tasks/06-qtpim-build-contacts.md",
"docs/tasks/10-boot-chain-mkinitcpio.md",
"docs/tasks/12-gaze-reference-face-auth.md",
"docs/tasks/13-active-edge-squeeze.md",
"docs/tasks/README.md",
"docs/tasks/archive/06-qtpim-build-contacts.md",
"docs/tasks/archive/10-boot-chain-mkinitcpio.md"
],
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/7ec2479f83f73695ed5da15959bdba9cb3134daa"
},
{
"id": "c:SouveraineOS:690022ab",
"repo": "SouveraineOS",
"sha": "690022abaf97049869c578fd89107f1e842093b5",
"branch": "main",
"at": "2026-07-20T22:36:57-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "tasks: scope 14 — overview pane as phone app grid",
"detail": "Stock ii overview is a desktop workspace pane; on the phone the useful\nhalf is the search. Task swaps the body for a paged icon grid off the\nexisting LauncherApps desktop-entry service; appgrid (xarbit plasma6\napplet) is layout prior art only. OSK/focus-grab patch constraints\ncalled out in-file — that history must not be re-learned the hard way.",
"dimension": "surface",
"basis": "paths",
"paths": [
"docs/tasks/14-overview-appgrid.md",
"docs/tasks/README.md"
],
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/690022abaf97049869c578fd89107f1e842093b5"
},
{
"id": "c:culver:bb6385d1",
"repo": "culver",
"sha": "bb6385d1b1eabe228a1644fe56a1491f310921fb",
"branch": "primary",
"at": "2026-07-20T22:40:15-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "matrix: populate the inbox as the room list syncs in",
"detail": "start() primed conversations once from client.rooms() — correct for a\nrestored session, permanently empty for a fresh login, where the sliding\nsync only delivers rooms after start() returns. Subscribe to the client's\nroom updates: upsert a snapshot per joined-room update and attach the\ntimeline stream the first time a room appears. Timeline cache moves\nbehind an Arc so the watcher registers timelines through the same map\nthe command path reads (local echoes stay coherent).",
"dimension": "federation",
"basis": "subject",
"paths": [
"crates/matrix/src/protocol.rs"
],
"url": "https://gitea.wiuf.net/Fimeg/culver/commit/bb6385d1b1eabe228a1644fe56a1491f310921fb"
},
{
"id": "c:souveraine:5083954c",
"repo": "souveraine",
"sha": "5083954c38fc385a2f0e4a06986354ac5dc03fc7",
"branch": "primary",
"at": "2026-07-20T22:47:11-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "lock: own backdrop with wallpaper option, am/pm clock",
"detail": "The session-lock surface was transparent with nothing painting behind it.\nTouchLockSurface now owns its backdrop: lock.wallpaperPath when pinned,\nelse the system wallpaper, else a dark field — plus a scrim for glance\nlegibility. Glance clock gains lock.twelveHourClock (default on, h:mm ap).\nLockConfig grows the wallpaper picker (same FolderListModel grid as the\nwallpaper page, no matugen side effects) and the 12-hour switch.",
"dimension": "surface",
"basis": "paths",
"paths": [
"surfaces/quickshell/modules/common/Config.qml",
"surfaces/quickshell/modules/ii/lock/TouchLockSurface.qml",
"surfaces/quickshell/modules/settings/LockConfig.qml",
"surfaces/quickshell/modules/souveraine/lock/LockSurfaceHost.qml"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/5083954c38fc385a2f0e4a06986354ac5dc03fc7"
},
{
"id": "c:SouveraineOS:3bdc4b82",
"repo": "SouveraineOS",
"sha": "3bdc4b826390492f0c72c0c5c74e8ad3ce15c2e8",
"branch": "main",
"at": "2026-07-21T08:04:07-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "blueline: vendor squeekboard layouts (us+apple daily, us+hacker, terminal)",
"detail": "",
"dimension": "surface",
"basis": "paths",
"paths": [
"blueline/squeekboard/README.md",
"blueline/squeekboard/keyboards/terminal/us.yaml",
"blueline/squeekboard/keyboards/us+apple.yaml",
"blueline/squeekboard/keyboards/us+hacker.yaml"
],
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/3bdc4b826390492f0c72c0c5c74e8ad3ce15c2e8"
},
{
"id": "c:souveraine:90077bb1",
"repo": "souveraine",
"sha": "90077bb1ea3ec14161986efc752fc149211e8d64",
"branch": "primary",
"at": "2026-07-21T08:17:54-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "lock: notifications card + NotifyEvents fan-out seam, battery fraction fix",
"detail": "",
"dimension": "surface",
"basis": "paths",
"paths": [
"surfaces/quickshell/deploy.sh",
"surfaces/quickshell/modules/common/Config.qml",
"surfaces/quickshell/modules/settings/LockConfig.qml",
"surfaces/quickshell/modules/souveraine/lock/LockNotifyCard.qml",
"surfaces/quickshell/modules/souveraine/lock/LockSurfaceHost.qml",
"surfaces/quickshell/modules/souveraine/lock/qmldir",
"surfaces/quickshell/services/LockContentPolicy.qml",
"surfaces/quickshell/services/NotifyEvents.qml"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/90077bb1ea3ec14161986efc752fc149211e8d64"
},
{
"id": "c:Pixel3Arch:a970742a",
"repo": "Pixel3Arch",
"sha": "a970742a8d8c52264478027d2074702f0edad522",
"branch": "main",
"at": "2026-07-21T08:33:04-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "usb-signaller: guard UDC::load against unpopulated gadget (boot panic); usb* networkd match",
"detail": "",
"dimension": "release",
"basis": "paths",
"paths": [
"pkgs/usb-signaller/0001-udc-guard-empty-configs-functions.patch",
"pkgs/usb-signaller/PKGBUILD",
"rootfs-overlay/etc/systemd/network/40-usb0.network"
],
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/a970742a8d8c52264478027d2074702f0edad522"
},
{
"id": "c:SouveraineOS:95808d9a",
"repo": "SouveraineOS",
"sha": "95808d9adf9f3a5dfc2ab002e9595c34b3c83fba",
"branch": "main",
"at": "2026-07-21T08:34:32-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "tasks: archive 04 — notification server existed, built lock card + NotifyEvents seam; 05 unblocked",
"detail": "",
"dimension": "runtime",
"basis": "paths",
"paths": [
"docs/tasks/04-notification-server.md",
"docs/tasks/README.md",
"docs/tasks/archive/04-notification-server.md"
],
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/95808d9adf9f3a5dfc2ab002e9595c34b3c83fba"
},
{
"id": "c:souveraine:ad5be0a6",
"repo": "souveraine",
"sha": "ad5be0a6619fc1d087aafab03258e5e5bac16793",
"branch": "primary",
"at": "2026-07-21T08:40:00-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "crash reporter: surface crashes.log, failed units, coredumps through the notify pipe",
"detail": "",
"dimension": "surface",
"basis": "paths",
"paths": [
"surfaces/quickshell/deploy.sh",
"surfaces/quickshell/services/CrashReporter.qml",
"surfaces/quickshell/shell.qml"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/ad5be0a6619fc1d087aafab03258e5e5bac16793"
},
{
"id": "c:SouveraineOS:651f24d2",
"repo": "SouveraineOS",
"sha": "651f24d26915b4879a5403ccce75778996181e50",
"branch": "main",
"at": "2026-07-21T08:41:11-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "tasks: archive 05 — crash surfacing done, kill-test verified",
"detail": "",
"dimension": "reliability",
"basis": "paths",
"paths": [
"docs/tasks/05-crash-reporter.md",
"docs/tasks/README.md",
"docs/tasks/archive/05-crash-reporter.md"
],
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/651f24d26915b4879a5403ccce75778996181e50"
},
{
"id": "c:Pixel3Arch:693cde44",
"repo": "Pixel3Arch",
"sha": "693cde4454e46f219adddce50ae13ebc74b55149",
"branch": "main",
"at": "2026-07-21T09:06:29-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "pkgs/stevia: package patched stevia 0.56.0 — run without phoc",
"detail": "Arch's stevia hard-requires zphoc_device_state_v1 (phoc-private) before\nit will create the keyboard surface, so under Hyprland it sat 'Wayland\nnot yet ready' forever and the phone had no OSK. 0001 makes the protocol\noptional; hw-keyboard tracking degrades to none, OSK stays allowed.\nBuilt native on-device (pkgs/README.md), installed as 0.56.0-2.\nCandidate for upstream.",
"dimension": "release",
"basis": "paths",
"paths": [
"pkgs/stevia/0001-make-zphoc-device-state-optional.patch",
"pkgs/stevia/PKGBUILD"
],
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/693cde4454e46f219adddce50ae13ebc74b55149"
},
{
"id": "c:SouveraineOS:22d997a3",
"repo": "SouveraineOS",
"sha": "22d997a394eb99a96369c4a4465f2ea498a15649",
"branch": "main",
"at": "2026-07-21T09:09:20-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "squeekboard: retired — stevia (patched for Hyprland) is the OSK now",
"detail": "",
"dimension": "surface",
"basis": "subject",
"paths": [
"blueline/squeekboard/README.md"
],
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/22d997a394eb99a96369c4a4465f2ea498a15649"
},
{
"id": "c:linux-blueline:4580513b",
"repo": "linux-blueline",
"sha": "4580513ba97f7cd47c667900e362ac81d31b3306",
"branch": "blueline",
"at": "2026-07-21T09:18:56-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "STATUS: mic-race-fix is canonical; archdev makepkg is the build tree",
"detail": "The tree that built the running kernel (archdev makepkg branch) was one\ncommit ahead of the repo of record for a day, and three other trees\nstill claim CANONICAL in their STATUS files. Name the real one and the\nsync rule.",
"dimension": "sensorium",
"basis": "repo",
"paths": [],
"url": "https://gitea.wiuf.net/Fimeg/linux-blueline/commit/4580513ba97f7cd47c667900e362ac81d31b3306"
},
{
"id": "c:SouveraineOS:039d73eb",
"repo": "SouveraineOS",
"sha": "039d73eb3ba86e508215879cf716ef5d01b7ced9",
"branch": "main",
"at": "2026-07-21T09:19:50-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "tasks: mic is functional-pinned (spec'd: sample-dup + unpin test); add 15 idle coordinator",
"detail": "07 rewritten around the working mic-race-fix kernel (f56b1ae08 running):\ncanonical-tree truth, the sample-duplication defect with measured\nevidence, and the cold-boot unpin protocol. 15 is the freeze/doze/\nRTC-wakeup design carved from today's idle-burn numbers.",
"dimension": "unassigned",
"basis": "none",
"paths": [
"docs/tasks/07-mic-wcd9340-slim-tx.md",
"docs/tasks/15-idle-coordinator.md",
"docs/tasks/README.md"
],
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/039d73eb3ba86e508215879cf716ef5d01b7ced9"
},
{
"id": "c:Pixel3Arch:e760a39f",
"repo": "Pixel3Arch",
"sha": "e760a39fd55a98a1de48a1f0556186cbe63d0df8",
"branch": "main",
"at": "2026-07-21T09:32:47-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "clock-sync: force NTP pass on first default route; HTTP Date fallback",
"detail": "pm8998 RTC is firmware-locked at epoch, so boots restore the stale\ntimesyncd clock file and then wait on timesyncd's retry cadence — on\nwifi-wedge boots that's never. Watch for the first default route, kick\ntimesyncd, and step from an HTTPS Date header if NTP still hasn't\nlanded. Modem NITZ was the better source but this modem stack exposes\nno time capability.",
"dimension": "federation",
"basis": "paths",
"paths": [
"rootfs-overlay/etc/systemd/system/blueline-clock-sync.service",
"rootfs-overlay/usr/local/bin/blueline-clock-sync"
],
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/e760a39fd55a98a1de48a1f0556186cbe63d0df8"
},
{
"id": "c:Pixel3Arch:20e72c5f",
"repo": "Pixel3Arch",
"sha": "20e72c5f657b0f066d199f5e199f953a7f185375",
"branch": "main",
"at": "2026-07-21T09:45:02-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "bootsplash: --wayland holder mode — close the splash→BootBloom hole",
"detail": "The DRM splash must release master before Hyprland can start, and\nquickshell needs ~10 more seconds to map BootBloom — a measured 13s\nwindow (19.3s..33s this boot) where the desktop assembles in public.\nsouveraine-splash --wayland is act two: launched as Hyprland's first\nclient, maps an Overlay layer surface in <1s, fades in from black,\ndraws the same shader.frag on the raw monotonic clock (BootBloom's\nu_time), and listens on $XDG_RUNTIME_DIR/souveraine-splash.sock.\nsplash-signal now pokes both sockets, so BootBloom's existing\nfirst-frame poke — a no-op until today — dismisses the holder over\nidentical pixels. 45s watchdog so a crashlooping shell can't leave the\nscreen covered. Protocol XMLs vendored; builds native on the phone.\noverlays/hypr/hyprland.lua synced from live (was stale) + step 0 exec.",
"dimension": "surface",
"basis": "paths",
"paths": [
"bootsplash/Makefile",
"bootsplash/main.c",
"bootsplash/protocol/wlr-layer-shell-unstable-v1.xml",
"bootsplash/protocol/xdg-shell.xml",
"bootsplash/splash-signal.c",
"bootsplash/wayland.c",
"overlays/hypr/hyprland.lua"
],
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/20e72c5f657b0f066d199f5e199f953a7f185375"
},
{
"id": "c:linux-blueline:22f9f080",
"repo": "linux-blueline",
"sha": "22f9f080335dbdfe16c34637fc926299e0384db4",
"branch": "blueline",
"at": "2026-07-21T09:55:15-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "config: enable ANDROID_BINDERFS",
"detail": "/dev/binder + hwbinder/vndbinder statics already ship; binderfs adds the\nper-instance device namespace Waydroid wants. Rides the next kernel\nbuild alongside the mic unpin test.",
"dimension": "sensorium",
"basis": "repo",
"paths": [],
"url": "https://gitea.wiuf.net/Fimeg/linux-blueline/commit/22f9f080335dbdfe16c34637fc926299e0384db4"
},
{
"id": "c:SouveraineOS:e3755101",
"repo": "SouveraineOS",
"sha": "e37551014bb774340c818e4098a38b1a22486c11",
"branch": "main",
"at": "2026-07-21T09:56:12-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "tasks: retract mic sample-dup defect (pw-record stereo upmix false alarm)",
"detail": "The doubled samples were L/R pairs of a stereo client-side upmix of the\nmono source; the de-interleaved channel is clean 48k. Capture path has\nno fidelity defect — the pin is the one remaining mic defect.",
"dimension": "unassigned",
"basis": "none",
"paths": [
"docs/tasks/07-mic-wcd9340-slim-tx.md",
"docs/tasks/15-idle-coordinator.md",
"docs/tasks/README.md"
],
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/e37551014bb774340c818e4098a38b1a22486c11"
},
{
"id": "c:souveraine:402e887d",
"repo": "souveraine",
"sha": "402e887dfc88c6d4c049442403fc95fd323f7d0b",
"branch": "primary",
"at": "2026-07-21T09:58:09-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "settings: Speech page — STT/TTS endpoints with live health probe",
"detail": "speech.stt/speech.tts land in Config so the settings page, the\nsouveraine-stt CLI, and the keyboard mic key all read one source of\ntruth. STT defaults to the VPN faster-whisper bridge; the page probes\n/health so configured and answering are visibly different states. TTS\nis a field waiting for a server.",
"dimension": "surface",
"basis": "paths",
"paths": [
"surfaces/quickshell/deploy.sh",
"surfaces/quickshell/modules/common/Config.qml",
"surfaces/quickshell/modules/settings/SpeechConfig.qml",
"surfaces/quickshell/settings-phone.qml"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/402e887dfc88c6d4c049442403fc95fd323f7d0b"
},
{
"id": "c:Pixel3Arch:d39c1fdc",
"repo": "Pixel3Arch",
"sha": "d39c1fdc5f2d541148cf525288998d480da9f6d8",
"branch": "main",
"at": "2026-07-21T09:58:09-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "souveraine-stt: dictation CLI — record, faster-whisper, type",
"detail": "Toggle model for a keyboard mic key: first call pw-records 16k mono,\nsecond stops, POSTs multipart audio= to the endpoint from the shell\nconfig (Settings→Speech), and ydotool-types the transcript into the\nfocused field. --file for testing, --status for keyboard UI state.\nServer 500s on silence — reported as 'didn't catch that', not an error.",
"dimension": "reflection",
"basis": "subject",
"paths": [
"rootfs-overlay/usr/local/bin/souveraine-stt"
],
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/d39c1fdc5f2d541148cf525288998d480da9f6d8"
},
{
"id": "c:souveraine:5e5bf043",
"repo": "souveraine",
"sha": "5e5bf0437cd27827f7949e1f1ae0dcde20e8cd03",
"branch": "primary",
"at": "2026-07-21T10:13:24-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "rail: hide while the OSK is up",
"detail": "Floating the pill atop the keyboard stole top-row taps and stacked over\nstevia's upward-opening layout menu. 3-finger swipe / stevia's menu\ncover dismissal while typing.",
"dimension": "surface",
"basis": "paths",
"paths": [
"surfaces/quickshell/modules/souveraine/navigation/SystemGestureRail.qml"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/5e5bf0437cd27827f7949e1f1ae0dcde20e8cd03"
},
{
"id": "c:Pixel3Arch:9135d3fc",
"repo": "Pixel3Arch",
"sha": "9135d3fcb6f95de6459ad53da7a19b1628fa218a",
"branch": "main",
"at": "2026-07-21T10:13:24-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "stevia 0.56.0-3: dictation key + terminal arrow keys",
"detail": "Bottom row gains a mic key (spawns the souveraine-stt record/transcribe\ntoggle; config lives in Settings→Speech) on every layout, and the\nterminal layout's bottom row gets real arrow keys — the shortcuts bar\nalready had arrows but sat exactly where the nav pill floated.",
"dimension": "release",
"basis": "paths",
"paths": [
"pkgs/stevia/0002-dictation-key-terminal-arrows.patch",
"pkgs/stevia/PKGBUILD"
],
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/9135d3fcb6f95de6459ad53da7a19b1628fa218a"
},
{
"id": "c:Pixel3Arch:67aeb254",
"repo": "Pixel3Arch",
"sha": "67aeb2543927c757f8d36726ae8fbc599b408768",
"branch": "main",
"at": "2026-07-21T10:35:12-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "souveraine-stt: distinguish server errors from silence",
"detail": "The old code assumed any no-text result meant 'nothing heard' and\nburied a server 500 as 'didn't catch that' — which sent a whole\ndebugging session chasing the phone when the fault was server-side\n(CTranslate2 could not load libcublas.so.12). Capture the HTTP status:\n5xx -> 'server error', 4xx -> 'rejected', 000 -> 'unreachable', and\nonly a real 200-with-empty-text is 'didn't catch that'.",
"dimension": "runtime",
"basis": "subject",
"paths": [
"rootfs-overlay/usr/local/bin/souveraine-stt"
],
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/67aeb2543927c757f8d36726ae8fbc599b408768"
},
{
"id": "c:Pixel3Arch:488139b3",
"repo": "Pixel3Arch",
"sha": "488139b35eae74b1635bf4e3483a11ac00a173dd",
"branch": "main",
"at": "2026-07-21T11:32:41-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "hypr: disable_splash_rendering — kill the Hyprland splash text at boot",
"detail": "disable_hyprland_logo already killed the mascot background, but the\nhandwritten 'Hyprland :)' splash text is a separate option and still\nrendered during the splash->compositor CRTC handoff window. Off now.",
"dimension": "surface",
"basis": "subject",
"paths": [
"overlays/hypr/hyprland.lua"
],
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/488139b35eae74b1635bf4e3483a11ac00a173dd"
},
{
"id": "c:SouveraineOS:8578e654",
"repo": "SouveraineOS",
"sha": "8578e654d2af5e0a2f424d62c978e98ea4cd0817",
"branch": "main",
"at": "2026-07-21T11:37:16-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "tasks: rewrite 03 (boot timing, source-verified faults), add 17 (keyboard/dictation)",
"detail": "03: today's deep boot investigation — the splash-to-splash flicker is a\nDRM-master handoff race on a panel with supportsAsyncCommit:false (56\nEBUSY commits); the Hyprland splash text is killed (disable_splash_rendering);\nthe corner box is an unidentified top-right toast (NOT the error overlay,\nwhich stays); the recovery-mode wedge is documented. The EBUSY handoff\nfix is the one real remaining timing bug.",
"dimension": "surface",
"basis": "paths",
"paths": [
"docs/tasks/03-boot-timing-splash-to-lock.md",
"docs/tasks/17-keyboard-stevia-dictation.md",
"docs/tasks/README.md"
],
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/8578e654d2af5e0a2f424d62c978e98ea4cd0817"
},
{
"id": "c:culver:669f13a5",
"repo": "culver",
"sha": "669f13a571556aaca2cee274652763bd4524c126",
"branch": "primary",
"at": "2026-07-21T12:38:59-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "app: reconcile QML<->bridge contracts so tapping a room renders",
"detail": "The QML and the cxx-qt bridges were written to two different contracts;\nQML calls to names the bridge never exposed silently no-op'd, so tapping\na synced room dispatched no LoadTimeline and the timeline stayed empty.",
"dimension": "surface",
"basis": "paths",
"paths": [
"crates/app/build.rs",
"crates/app/qml/AttachPicker.qml",
"crates/app/qml/ChatView.qml",
"crates/app/qml/ComposerBar.qml",
"crates/app/qml/Inbox.qml",
"crates/app/qml/Main.qml",
"crates/app/qml/ThreadView.qml",
"crates/app/qml/components/InboxRow.qml",
"crates/app/src/bridge/chat.rs",
"crates/app/src/bridge/inbox.rs",
"crates/app/src/bridge/shared.rs"
],
"url": "https://gitea.wiuf.net/Fimeg/culver/commit/669f13a571556aaca2cee274652763bd4524c126"
},
{
"id": "c:souveraine:271e4f2c",
"repo": "souveraine",
"sha": "271e4f2cc2083b2bd63a3a75b785377faddc90ef",
"branch": "primary",
"at": "2026-07-21T13:01:58-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "shell: add missing qmldir manifests + rail OSK layer fix",
"detail": "19 dirs had .qml but no qmldir -> quickshell config load failed\n(File not found @ shell.qml[-1:-1]). Corrected singleton decls in\n3 existing qmldir. SystemGestureRail: pill->WlrLayer.Top, oskLift\n200, drop oskOpen hide.",
"dimension": "surface",
"basis": "paths",
"paths": [
"surfaces/quickshell/modules/common/functions/qmldir",
"surfaces/quickshell/modules/common/panels/lock/qmldir",
"surfaces/quickshell/modules/common/qmldir",
"surfaces/quickshell/modules/common/widgets/qmldir",
"surfaces/quickshell/modules/ii/appInventory/qmldir",
"surfaces/quickshell/modules/ii/bar/qmldir",
"surfaces/quickshell/modules/ii/dock/qmldir",
"surfaces/quickshell/modules/ii/lock/qmldir",
"surfaces/quickshell/modules/ii/onScreenKeyboard/qmldir",
"surfaces/quickshell/modules/ii/overview/qmldir",
"surfaces/quickshell/modules/ii/polkit/qmldir",
"surfaces/quickshell/modules/ii/sessionScreen/qmldir",
"surfaces/quickshell/modules/ii/sidebarLeft/qmldir",
"surfaces/quickshell/modules/ii/sidebarRight/qmldir",
"surfaces/quickshell/modules/ii/sidebarRight/volumeMixer/qmldir",
"surfaces/quickshell/modules/settings/qmldir",
"surfaces/quickshell/modules/souveraine/boot/qmldir",
"surfaces/quickshell/modules/souveraine/lock/qmldir",
"surfaces/quickshell/modules/souveraine/navigation/SystemGestureRail.qml",
"surfaces/quickshell/modules/souveraine/navigation/qmldir",
"surfaces/quickshell/panelFamilies/qmldir",
"surfaces/quickshell/qmldir",
"surfaces/quickshell/services/qmldir"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/271e4f2cc2083b2bd63a3a75b785377faddc90ef"
},
{
"id": "c:SouveraineOS:2d95f374",
"repo": "SouveraineOS",
"sha": "2d95f3743a54d7527b9747f39b51224c25809bc3",
"branch": "main",
"at": "2026-07-21T13:01:59-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "tasks: add TASK-16 culver messenger+contacts; re-point TASK-01 to culver-contacts store",
"detail": "",
"dimension": "runtime",
"basis": "paths",
"paths": [
"docs/tasks/01-favorites-contacts.md",
"docs/tasks/16-culver-messenger-contacts.md"
],
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/2d95f3743a54d7527b9747f39b51224c25809bc3"
},
{
"id": "c:souveraine:7e74ce37",
"repo": "souveraine",
"sha": "7e74ce37e3eafb8b892589bbf1d06b8159aa352d",
"branch": "primary",
"at": "2026-07-21T13:05:41-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "shell: carry all qmldir manifests through deploy compose",
"detail": "deploy.sh recomposes ~/.config/quickshell/souveraine with rm -rf each\nrun; the 19 new qmldir files were hand-placed on the phone and would\nbe wiped on next deploy. Add them to the manifest.",
"dimension": "surface",
"basis": "paths",
"paths": [
"surfaces/quickshell/deploy.sh"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/7e74ce37e3eafb8b892589bbf1d06b8159aa352d"
},
{
"id": "c:culver:57740b1a",
"repo": "culver",
"sha": "57740b1aa4841d9ae1c1cea67d5f667fff03ed98",
"branch": "primary",
"at": "2026-07-21T13:19:29-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "contacts: bring the store to the Personal-class bar (TASK-16 B)",
"detail": "culver.sqlite is now SQLCipher-encrypted (rusqlite\nbundled-sqlcipher-vendored-openssl; unkeyed connections like\nmatrix-sdk's stores behave as plain sqlite). The 256-bit key lives\nonly on the org.freedesktop.secrets rail — minted first-run, sealed\nby souveraine-secrets under the machined-wrapped store key. No rail,\nno store: open fails closed. One-time in-place sqlcipher_export\nmigration for a pre-existing plaintext DB, journals dropped so no\nplaintext frames survive.",
"dimension": "surface",
"basis": "paths",
"paths": [
"Cargo.toml",
"crates/app/Cargo.toml",
"crates/app/src/db_key.rs",
"crates/app/src/egress.rs",
"crates/app/src/main.rs",
"crates/contacts/src/lib.rs",
"crates/contacts/src/store.rs",
"crates/contacts/src/vcard.rs",
"crates/core/src/store.rs"
],
"url": "https://gitea.wiuf.net/Fimeg/culver/commit/57740b1aa4841d9ae1c1cea67d5f667fff03ed98"
},
{
"id": "c:SouveraineOS:724e88e7",
"repo": "SouveraineOS",
"sha": "724e88e76da75d7d67be8e93f7ee1b92a9848cfd",
"branch": "main",
"at": "2026-07-21T13:28:43-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "tasks: add TASK-18 selection menu spec; TASK-16 favorites-rail ordering note",
"detail": "",
"dimension": "runtime",
"basis": "paths",
"paths": [
"docs/tasks/16-culver-messenger-contacts.md",
"docs/tasks/18-selection-menu.md",
"docs/tasks/README.md"
],
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/724e88e76da75d7d67be8e93f7ee1b92a9848cfd"
},
{
"id": "c:souveraine:acc1161e",
"repo": "souveraine",
"sha": "acc1161e71d44b59346a8da40cee378994529ef2",
"branch": "primary",
"at": "2026-07-21T13:28:47-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "shell: Speech service + sidebar Speak button (Read Aloud seam)",
"detail": "Speech.qml singleton: speak(text) reads the who->voice mapping live\nfrom souveraine /v1/config (VoiceConfig tts_url + voice_id), POSTs\nVibeVoice /audio/speech ({input, voice, model} -> mp3, same contract\nas core/voice/client.rs) and plays via mpv/ffplay. The shell picks no\nvoice of its own. speech.tts.enable is the kill switch (button hidden\nwhen off); speech.tts.endpoint overrides the mapped URL. Sidebar gains\na volume_up/stop toggle beside send that reads the last visible\nassistant reply, skipping lock-redacted content.",
"dimension": "surface",
"basis": "paths",
"paths": [
"surfaces/quickshell/deploy.sh",
"surfaces/quickshell/modules/ii/sidebarLeft/AiChat.qml",
"surfaces/quickshell/services/Speech.qml",
"surfaces/quickshell/services/qmldir"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/acc1161e71d44b59346a8da40cee378994529ef2"
},
{
"id": "c:culver:d33d837c",
"repo": "culver",
"sha": "d33d837c9683670fb84559d91ced7786e4c37e51",
"branch": "primary",
"at": "2026-07-21T13:31:15-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "runtime: notify on inbound messages (TASK-16 D)",
"detail": "MessageReceived (split from MessageUpdated) emits a banner via\norg.freedesktop.Notifications — quickshell's surface, the same pipe\nChatty's im.received rides — for inbound messages that are not is_me,\nnot the open conversation (tracked off LoadTimeline newest-page), and\nnot muted. Fire-and-forget on the runtime's tokio; a dead bus degrades\nto silence. New Store::conversation(id) single-row getter backs the\nmute/title lookup.",
"dimension": "runtime",
"basis": "paths",
"paths": [
"crates/app/src/runtime.rs",
"crates/core/src/store.rs"
],
"url": "https://gitea.wiuf.net/Fimeg/culver/commit/d33d837c9683670fb84559d91ced7786e4c37e51"
},
{
"id": "c:souveraine:db6d732e",
"repo": "souveraine",
"sha": "db6d732e323b84bed9d0f260800e12b4182e030b",
"branch": "primary",
"at": "2026-07-21T13:36:39-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "shell: regenerate qmldir manifests from the composed tree",
"detail": "The repo qmldirs listed only repo-owned types; composed dirs also carry\nii-borrowed types (ReloadPopup, PanelLoader, Bar, ...) which a qmldir\npresent in the dir must list or they stop resolving — broke the phone\nshell on deploy. Regenerated every deployed qmldir from the composed\nconfig on-device (capitalized .qml -> type line, pragma Singleton ->\nsingleton line) and pulled back. Shell verified active, zero load\nerrors.",
"dimension": "surface",
"basis": "paths",
"paths": [
"surfaces/quickshell/modules/common/functions/qmldir",
"surfaces/quickshell/modules/common/qmldir",
"surfaces/quickshell/modules/common/widgets/qmldir",
"surfaces/quickshell/modules/ii/bar/qmldir",
"surfaces/quickshell/modules/ii/dock/qmldir",
"surfaces/quickshell/modules/ii/lock/qmldir",
"surfaces/quickshell/modules/ii/onScreenKeyboard/qmldir",
"surfaces/quickshell/modules/ii/overview/qmldir",
"surfaces/quickshell/modules/ii/polkit/qmldir",
"surfaces/quickshell/modules/ii/sessionScreen/qmldir",
"surfaces/quickshell/modules/ii/sidebarLeft/qmldir",
"surfaces/quickshell/modules/ii/sidebarRight/qmldir",
"surfaces/quickshell/modules/ii/sidebarRight/volumeMixer/qmldir",
"surfaces/quickshell/modules/settings/qmldir",
"surfaces/quickshell/panelFamilies/qmldir",
"surfaces/quickshell/qmldir",
"surfaces/quickshell/services/qmldir"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/db6d732e323b84bed9d0f260800e12b4182e030b"
},
{
"id": "c:SouveraineOS:208fe921",
"repo": "SouveraineOS",
"sha": "208fe9219ac3240fea051d4b5b5c06b11ed004e4",
"branch": "main",
"at": "2026-07-21T13:40:06-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "tasks: TASK-18 Read Aloud backend is live (VibeVoice 10.10.20.19:7861, shell Speech.qml seam)",
"detail": "",
"dimension": "surface",
"basis": "subject",
"paths": [
"docs/tasks/18-selection-menu.md"
],
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/208fe9219ac3240fea051d4b5b5c06b11ed004e4"
},
{
"id": "c:SouveraineOS:19475878",
"repo": "SouveraineOS",
"sha": "19475878dd45b0b6af5778cdce4ac3284015a5a5",
"branch": "main",
"at": "2026-07-21T13:51:14-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "deprecate chatty/libcmatrix/qtpim, clean stale refs",
"detail": "Chatty superseded by souveraine's Matrix sensorium. libcmatrix unused.\nqtpim contacts work stalled. All repos archived on Gitea.",
"dimension": "identity",
"basis": "paths",
"paths": [
"STATE.md",
"docs/chatty-matrix-features.md",
"docs/contacts-design.md",
"docs/qtpim-contacts-handoff.md",
"docs/souveraine-components/INVENTORY.md",
"docs/souveraine-components/secrets.md"
],
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/19475878dd45b0b6af5778cdce4ac3284015a5a5"
},
{
"id": "c:SouveraineOS:c725b081",
"repo": "SouveraineOS",
"sha": "c725b081b57f93b9affab1004544496817659542",
"branch": "main",
"at": "2026-07-21T15:04:27-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "task: fix dock fullscreen detection for qs -p windows",
"detail": "",
"dimension": "surface",
"basis": "paths",
"paths": [
"docs/tasks/fix-dock-fullscreen-detection.md"
],
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/c725b081b57f93b9affab1004544496817659542"
},
{
"id": "c:SouveraineOS:931e7947",
"repo": "SouveraineOS",
"sha": "931e794701662a4b5da4e9e6678eabbbec0ce151",
"branch": "main",
"at": "2026-07-21T15:49:15-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "docs: kernel handoff (gitea blueline FF to f56b1ae, one build path), QCE-off note, shell-tree unify task",
"detail": "",
"dimension": "surface",
"basis": "paths",
"paths": [
"docs/HANDOFF.md",
"docs/STORAGE-ENCRYPTION.md",
"docs/tasks/fix-dock-fullscreen-detection.md",
"docs/tasks/unify-shell-trees-laptop-phone.md"
],
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/931e794701662a4b5da4e9e6678eabbbec0ce151"
},
{
"id": "c:souveraine:0d06cbb9",
"repo": "souveraine",
"sha": "0d06cbb98362554e82e974ebdd5585047a79f799",
"branch": "primary",
"at": "2026-07-21T15:52:32-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "quickshell: dock fullscreen fallback via HyprlandData IPC, wallpaper folder browsing",
"detail": "",
"dimension": "surface",
"basis": "paths",
"paths": [
"surfaces/quickshell/modules/ii/dock/Dock.qml",
"surfaces/quickshell/modules/settings/WallpaperConfig.qml"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/0d06cbb98362554e82e974ebdd5585047a79f799"
},
{
"id": "c:souveraine:cd215054",
"repo": "souveraine",
"sha": "cd2150542e5963838978a16e1fae56590616d257",
"branch": "primary",
"at": "2026-07-21T17:30:32-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "settings: wallpaper download + purity toggle, repo-owned",
"detail": "Adds a Download-random-wallpaper button and a 3-way content filter\n(SFW/Sketchy/NSFW) to our Wallpaper settings page, backed by a new\nWallpaperDownload service and its own download script under\nsurfaces/quickshell/scripts/wallpaper/ — not ii's scripts/colors tree,\nwhich is going away. Only the 'wallpapers apply' IPC target still comes\nfrom ii and moves with it when the base is vendored.",
"dimension": "surface",
"basis": "paths",
"paths": [
".gitignore",
"surfaces/quickshell/deploy.sh",
"surfaces/quickshell/modules/settings/WallpaperConfig.qml",
"surfaces/quickshell/scripts/wallpaper/download_wallhaven.sh",
"surfaces/quickshell/services/WallpaperDownload.qml",
"surfaces/quickshell/services/qmldir"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/cd2150542e5963838978a16e1fae56590616d257"
},
{
"id": "c:Pixel3Arch:a5fdbf61",
"repo": "Pixel3Arch",
"sha": "a5fdbf6160738b520b797487304a534b0a6ca370",
"branch": "main",
"at": "2026-07-21T18:33:31-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "stevia 0.56.0-5: isolate virtual keys, add daily layout",
"detail": "",
"dimension": "surface",
"basis": "paths",
"paths": [
"pkgs/stevia/0003-vk-driver-avoid-compositor-keycode-collision.patch",
"pkgs/stevia/0004-ios-daily-layout-menu-input.patch",
"pkgs/stevia/PKGBUILD"
],
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/a5fdbf6160738b520b797487304a534b0a6ca370"
},
{
"id": "c:Pixel3Arch:b564b2ab",
"repo": "Pixel3Arch",
"sha": "b564b2ab97a37c121eb2a21b8d87e83d74905166",
"branch": "main",
"at": "2026-07-21T18:46:39-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "touch: suppress Kitty bridge on lock surfaces",
"detail": "",
"dimension": "sensorium",
"basis": "paths",
"paths": [
"docs/INSTALL-CHECKLIST.md",
"overlays/bin/kitty-touch-bridge",
"overlays/systemd-user/kitty-touch-bridge.service"
],
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/b564b2ab97a37c121eb2a21b8d87e83d74905166"
},
{
"id": "c:souveraine:b0a1304b",
"repo": "souveraine",
"sha": "b0a1304ba13c8addd6605cf646718dd45cf2bc95",
"branch": "primary",
"at": "2026-07-21T18:55:02-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "quickshell: pin shared ii base and phone overlay",
"detail": "",
"dimension": "surface",
"basis": "paths",
"paths": [
".gitattributes",
"surfaces/quickshell/II-BASE.md",
"surfaces/quickshell/deploy.sh",
"surfaces/quickshell/ii-base.pin",
"surfaces/quickshell/ii-base/.qmlformat.ini",
"surfaces/quickshell/ii-base/DeviceConnectNotification.qml",
"surfaces/quickshell/ii-base/GlobalStates.qml",
"surfaces/quickshell/ii-base/ReloadPopup.qml",
"surfaces/quickshell/ii-base/assets/icons/ai-openai-symbolic.svg",
"surfaces/quickshell/ii-base/assets/icons/arch-symbolic.svg",
"surfaces/quickshell/ii-base/assets/icons/cachyos-symbolic.svg",
"surfaces/quickshell/ii-base/assets/icons/cloudflare-dns-symbolic.svg",
"surfaces/quickshell/ii-base/assets/icons/crosshair-symbolic.svg",
"surfaces/quickshell/ii-base/assets/icons/debian-symbolic.svg",
"surfaces/quickshell/ii-base/assets/icons/deepseek-symbolic.svg",
"surfaces/quickshell/ii-base/assets/icons/desktop-symbolic.svg",
"surfaces/quickshell/ii-base/assets/icons/endeavouros-symbolic.svg",
"surfaces/quickshell/ii-base/assets/icons/fedora-symbolic.svg",
"surfaces/quickshell/ii-base/assets/icons/flatpak-symbolic.svg",
"surfaces/quickshell/ii-base/assets/icons/fluent/.svg",
"surfaces/quickshell/ii-base/assets/icons/fluent/README.md",
"surfaces/quickshell/ii-base/assets/icons/fluent/add-filled.svg",
"surfaces/quickshell/ii-base/assets/icons/fluent/add.svg",
"surfaces/quickshell/ii-base/assets/icons/fluent/alert-filled.svg",
"surfaces/quickshell/ii-base/assets/icons/fluent/alert-off-filled.svg",
"surfaces/quickshell/ii-base/assets/icons/fluent/alert-off.svg",
"surfaces/quickshell/ii-base/assets/icons/fluent/alert-snooze-filled.svg",
"surfaces/quickshell/ii-base/assets/icons/fluent/alert-snooze.svg",
"surfaces/quickshell/ii-base/assets/icons/fluent/alert.svg",
"surfaces/quickshell/ii-base/assets/icons/fluent/app-generic-filled.svg",
"surfaces/quickshell/ii-base/assets/icons/fluent/app-generic.svg",
"surfaces/quickshell/ii-base/assets/icons/fluent/apps-filled.svg",
"surfaces/quickshell/ii-base/assets/icons/fluent/apps.svg",
"surfaces/quickshell/ii-base/assets/icons/fluent/arrow-clockwise-filled.svg",
"surfaces/quickshell/ii-base/assets/icons/fluent/arrow-clockwise.svg",
"surfaces/quickshell/ii-base/assets/icons/fluent/arrow-counterclockwise-filled.svg",
"surfaces/quickshell/ii-base/assets/icons/fluent/arrow-counterclockwise.svg",
"surfaces/quickshell/ii-base/assets/icons/fluent/arrow-enter-left-filled.svg",
"surfaces/quickshell/ii-base/assets/icons/fluent/arrow-enter-left.svg",
"surfaces/quickshell/ii-base/assets/icons/fluent/arrow-left-filled.svg"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/b0a1304ba13c8addd6605cf646718dd45cf2bc95"
},
{
"id": "c:Pixel3Arch:c8557cfa",
"repo": "Pixel3Arch",
"sha": "c8557cfa45883e0616ccfedb435426e64fc2b3d2",
"branch": "main",
"at": "2026-07-21T19:10:15-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "touch: block bridge under full-screen shell layers",
"detail": "",
"dimension": "sensorium",
"basis": "paths",
"paths": [
"docs/INSTALL-CHECKLIST.md",
"overlays/bin/kitty-touch-bridge"
],
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/c8557cfa45883e0616ccfedb435426e64fc2b3d2"
},
{
"id": "c:souveraine:9c275040",
"repo": "souveraine",
"sha": "9c275040091ef4106d7bf38d51a7ad7efe6a298e",
"branch": "primary",
"at": "2026-07-21T19:11:51-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "quickshell: converge live trees without root replacement",
"detail": "",
"dimension": "surface",
"basis": "paths",
"paths": [
"surfaces/quickshell/deploy.sh",
"surfaces/quickshell/services/SessionEvents.qml",
"surfaces/quickshell/services/StepUpAuth.qml"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/9c275040091ef4106d7bf38d51a7ad7efe6a298e"
},
{
"id": "c:souveraine:132d8134",
"repo": "souveraine",
"sha": "132d8134f26ce60b3612a62d958b03db847393a8",
"branch": "primary",
"at": "2026-07-22T21:11:19-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "dock: add drag-to-reorder for pinned apps alongside existing combine-into-stack",
"detail": "Dragging a pinned app now shows an insertion gap indicator when hovering\nover other pinned apps. Quick horizontal slide + release = reorder the\npinned apps array. Dwell (500ms) on a target still = combine into stack\n(existing behavior). Both gestures share the same drag start and ghost.",
"dimension": "surface",
"basis": "paths",
"paths": [
"surfaces/quickshell/modules/ii/dock/DockAppButton.qml",
"surfaces/quickshell/modules/ii/dock/DockApps.qml",
"surfaces/quickshell/services/TaskbarApps.qml",
"surfaces/quickshell/settings-phone.qml"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/132d8134f26ce60b3612a62d958b03db847393a8"
},
{
"id": "c:souveraine:9ccefd6c",
"repo": "souveraine",
"sha": "9ccefd6c73dfbb026a41090aac3b400c7b2e229c",
"branch": "primary",
"at": "2026-07-22T21:25:08-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "dock: fix fullscreen detection — scan all windows, not just active/focused",
"detail": "Previous fullscreen detection had two blind spots:\n1. Workspace scan used wayland?.fullscreen (unreliable) and missed qs -p windows\n2. HyprlandData.activeWindow fallback only saw the focused window — missed\n fullscreen apps that lost focus to layer-shell surfaces (dock, notifications)",
"dimension": "surface",
"basis": "paths",
"paths": [
"surfaces/quickshell/modules/ii/dock/Dock.qml"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/9ccefd6c73dfbb026a41090aac3b400c7b2e229c"
},
{
"id": "c:Pixel3Arch:46855d89",
"repo": "Pixel3Arch",
"sha": "46855d89a702657cd92cc442ac2fc026db9e8765",
"branch": "main",
"at": "2026-07-22T21:52:32-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "audio: let mic source idle-suspend, sync capture buffer params",
"detail": "Remove session.suspend-timeout-seconds=0 from the capture rule so the\nmic source suspends (closes the ALSA capture PCM) when nothing is\nrecording, reopening cleanly on demand. This was previously unsafe: the\nSLIM TX \"alternation law\" made re-open read eternal zeros. Commit 5f15a63\n(codec MCLK on LN_BB_CLK3) made reopen-after-suspend reliable, so holding\nthe device open permanently is no longer required. Verified on-device\n2026-07-22: source goes SUSPENDED on idle (pcmC0D1c releases), reopens\nwith full signal, auto-re-suspends ~8s after idle. Call audio unaffected\n— ModemManager/q6voiced re-arm the voice path independently.",
"dimension": "sensorium",
"basis": "subject",
"paths": [
"rootfs-overlay/etc/wireplumber/wireplumber.conf.d/90-blueline.conf"
],
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/46855d89a702657cd92cc442ac2fc026db9e8765"
},
{
"id": "c:Pixel3Arch:2a3aeaa5",
"repo": "Pixel3Arch",
"sha": "2a3aeaa5bda8ebb34cb7b89388a8a2657ab710ed",
"branch": "main",
"at": "2026-07-22T22:03:20-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "audio: max speaker Digital PCM Volume to 912 (full amp range)",
"detail": "The CS35L36 Digital PCM Volume was pinned at 700/912 (~77%), which capped\nthe hardware amplifier well below its range. PipeWire's software volume\ntops out at 100% before that, so the slider ceiling was effectively 77%\nof what the speakers can do. Set both channels to 912 so the slider's\nfull range is usable; manage listening level with the slider.",
"dimension": "sensorium",
"basis": "subject",
"paths": [
"rootfs-overlay/usr/share/alsa/ucm2/Google/blueline/HiFi.conf"
],
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/2a3aeaa5bda8ebb34cb7b89388a8a2657ab710ed"
},
{
"id": "c:souveraine:19fe6b1d",
"repo": "souveraine",
"sha": "19fe6b1d0e001134c2941993732fc10dd3a5372a",
"branch": "primary",
"at": "2026-07-22T22:18:20-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "shell: dock reorder, fullscreen detection fix, idle-power, sessiond, misc shell work",
"detail": "- Dock drag-to-reorder for pinned apps (insertion gap, quick-slide vs dwell)\n- Fullscreen detection: scan all windows via HyprlandData.windowList\n- IdleCoordinator, GlobalStates, Session.qml updates\n- Deploy script, qmldir, settings, wallpaper, visualizer fixes\n- sessiond server, memory module updates",
"dimension": "surface",
"basis": "paths",
"paths": [
".handoff-from-phone/discord-betterdiscord/PKGBUILD.x86-reference",
".handoff-from-phone/discord-betterdiscord/TASK.md",
".handoff-from-phone/discord-betterdiscord/discord-launcher.sh",
".handoff-from-phone/discord-betterdiscord/discord_arch_electron.install",
".handoff-from-phone/discord-betterdiscord/krisp-patcher.py",
".handoff-from-phone/home-directory-homogenization.md",
".handoff-from-phone/pixel3-microphone/README.md",
".handoff-from-phone/pixel3-speaker-routing/README.md",
".handoff-from-phone/pixel3-speaker-routing/asound-baseline.state",
".handoff-from-phone/pixel3-speaker-routing/test-tones/left.wav",
".handoff-from-phone/pixel3-speaker-routing/test-tones/mono2.wav",
".handoff-from-phone/pixel3-speaker-routing/test-tones/right.wav",
".handoff-from-phone/pixel3-speaker-routing/test-tones/stereo.wav",
".handoff-from-phone/quickshell-idle-power/TASK.md",
".handoff-from-phone/tts-ui-wiring-handoff.md",
".handoff-from-phone/usb-signaller-boot-panic/README.md",
"src/core/memory/mod.rs",
"src/sessiond/server.rs",
"surfaces/quickshell/GlobalStates.qml",
"surfaces/quickshell/SettingsWindow.qml",
"surfaces/quickshell/assets/keyboard/us.json",
"surfaces/quickshell/deploy.sh",
"surfaces/quickshell/ii-base/modules/common/functions/StringUtils.qml",
"surfaces/quickshell/ii-base/modules/ii/background/widgets/visualizer/VisualizerWidget.qml",
"surfaces/quickshell/ii-base/modules/ii/overlay/OverlayContext.qml",
"surfaces/quickshell/ii-base/modules/ii/overlay/OverlayWidgetDelegateChooser.qml",
"surfaces/quickshell/ii-base/modules/ii/overlay/subconsciousEventPanel/SubconsciousEventPanel.qml",
"surfaces/quickshell/ii-base/modules/ii/overview/SearchBar.qml",
"surfaces/quickshell/ii-base/modules/ii/overview/SearchWidget.qml",
"surfaces/quickshell/ii-base/modules/ii/sidebarLeft/aiChat/AiMessage.qml",
"surfaces/quickshell/ii-base/modules/ii/sidebarLeft/aiChat/SubconsciousTicker.qml",
"surfaces/quickshell/ii-base/services/DateTime.qml",
"surfaces/quickshell/ii-base/services/NetworkTraffic.qml",
"surfaces/quickshell/ii-base/services/ResourceUsage.qml",
"surfaces/quickshell/modules/common/functions/Session.qml",
"surfaces/quickshell/modules/common/functions/qmldir",
"surfaces/quickshell/modules/ii/bar/qmldir",
"surfaces/quickshell/modules/ii/overview/Overview.qml",
"surfaces/quickshell/modules/ii/sidebarLeft/AiChat.qml",
"surfaces/quickshell/modules/ii/sidebarRight/SidebarRightContent.qml"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/19fe6b1d0e001134c2941993732fc10dd3a5372a"
},
{
"id": "c:culver:6b3cd65b",
"repo": "culver",
"sha": "6b3cd65bc929fdce2d473a039548fe64fa94756e",
"branch": "primary",
"at": "2026-07-22T22:18:44-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "culver: timeline realignment, contacts UI, history fill, protocol work",
"detail": "- Timeline: one live SDK timeline per open room, snapshot-only room list\n- Contacts: card UI, A-Z rail, contact suggestions, vcard export\n- History fill: CoreEvent::HistoryFetched + spawn_history_fill\n- Protocol: backgrounding/activity orchestrator, sync service start/stop\n- Bridge: accounts, chat, composer, inbox, registry rework\n- Matrix: convert, protocol, store updates\n- Telephony: protocol updates",
"dimension": "surface",
"basis": "paths",
"paths": [
"Cargo.lock",
"HANDOFF_CONTACTS_UI.md",
"crates/app/.qmlls.ini",
"crates/app/build.rs",
"crates/app/qml/Accounts.qml",
"crates/app/qml/ChatView.qml",
"crates/app/qml/ContactCard.qml",
"crates/app/qml/Contacts.qml",
"crates/app/qml/Inbox.qml",
"crates/app/qml/Main.qml",
"crates/app/qml/MessageDelegate.qml",
"crates/app/qml/Theme.qml",
"crates/app/qml/ThreadView.qml",
"crates/app/qml/components/Avatar.qml",
"crates/app/qml/components/CenteredDialog.qml",
"crates/app/qml/components/InboxRow.qml",
"crates/app/src/bridge/accounts.rs",
"crates/app/src/bridge/chat.rs",
"crates/app/src/bridge/composer.rs",
"crates/app/src/bridge/contact.rs",
"crates/app/src/bridge/inbox.rs",
"crates/app/src/bridge/mod.rs",
"crates/app/src/bridge/registry.rs",
"crates/app/src/bridge/shared.rs",
"crates/app/src/db_key.rs",
"crates/app/src/egress.rs",
"crates/app/src/main.rs",
"crates/app/src/runtime.rs",
"crates/contacts/src/lib.rs",
"crates/contacts/src/model.rs",
"crates/contacts/src/store.rs",
"crates/contacts/src/vcard.rs",
"crates/core/examples/store-probe.rs",
"crates/core/src/event.rs",
"crates/core/src/protocol.rs",
"crates/core/src/store.rs",
"crates/matrix/src/avatar_cache.rs",
"crates/matrix/src/convert.rs",
"crates/matrix/src/lib.rs",
"crates/matrix/src/protocol.rs"
],
"url": "https://gitea.wiuf.net/Fimeg/culver/commit/6b3cd65bc929fdce2d473a039548fe64fa94756e"
},
{
"id": "c:Pixel3Arch:4760853c",
"repo": "Pixel3Arch",
"sha": "4760853c6b789e4f6a131a9087e06972c67af7d5",
"branch": "main",
"at": "2026-07-22T22:18:56-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "audio: speaker Digital PCM Volume 912 -> 850 (clean headroom)",
"detail": "912 (max) was audibly hot on peaks. Drop to 850 for clean headroom —\nconsistent with the factory tuning in mixer_paths_tavil_b1.xml, which\nkeeps the WSA PA gain at 0dB for the main speaker (G_6_DB is reserved\nfor the earpiece/ANC handset paths). 850 keeps the slider's full range\nuseful without riding the CS35L36 protection limiter.",
"dimension": "sensorium",
"basis": "subject",
"paths": [
"rootfs-overlay/usr/share/alsa/ucm2/Google/blueline/HiFi.conf"
],
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/4760853c6b789e4f6a131a9087e06972c67af7d5"
},
{
"id": "c:souveraine:0b13e2d3",
"repo": "souveraine",
"sha": "0b13e2d34796f326d52f4e354cbe8cd4ea9b2ab2",
"branch": "primary",
"at": "2026-07-23T16:47:00-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "fix: speech prefetch flag, agent identity on restore, workspace selector",
"detail": "Speech: prefetch() now sets synthProc._prefetch=true before voiceLookup\nso the background synth doesn't auto-play. speak() skips voiceLookup\nwhen the endpoint+voice are already resolved (faster repeat taps).",
"dimension": "surface",
"basis": "paths",
"paths": [
"src/backend/local/mod.rs",
"src/server/session_manager.rs",
"surfaces/quickshell/deploy.sh",
"surfaces/quickshell/ii-base/modules/common/functions/StringUtils.qml",
"surfaces/quickshell/ii-base/modules/common/workspace-selector.desktop",
"surfaces/quickshell/ii-base/modules/common/workspace-selector.sh",
"surfaces/quickshell/ii-base/modules/ii/sidebarLeft/aiChat/SubconsciousTicker.qml",
"surfaces/quickshell/services/Ai.qml",
"surfaces/quickshell/services/Speech.qml"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/0b13e2d34796f326d52f4e354cbe8cd4ea9b2ab2"
},
{
"id": "c:linux-blueline:f08dc70b",
"repo": "linux-blueline",
"sha": "f08dc70b369a006c906d6d87ea9256d04a060c71",
"branch": "blueline",
"at": "2026-07-23T21:02:02-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "power: supply: qcom_smbx: expose charge type and charge control",
"detail": "The driver reads BATTERY_CHARGER_STATUS_1 to derive the status property\nand collapses all five charging states into POWER_SUPPLY_STATUS_CHARGING,\ndiscarding which stage of the CC/CV cycle the charger is in. The register\ndistinguishes trickle, pre, fast, full-on and taper. Expose that as\nPOWER_SUPPLY_PROP_CHARGE_TYPE.",
"dimension": "sensorium",
"basis": "subject",
"paths": [],
"url": "https://gitea.wiuf.net/Fimeg/linux-blueline/commit/f08dc70b369a006c906d6d87ea9256d04a060c71"
},
{
"id": "c:Pixel3Arch:8a35c457",
"repo": "Pixel3Arch",
"sha": "8a35c457abd3acf1ac6ab69dac932a9f1e5364e6",
"branch": "main",
"at": "2026-07-23T21:05:14-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "rootfs: charge control front end for the pmi8998 charger",
"detail": "Userspace side of the qcom_smbx charge-control properties.",
"dimension": "sensorium",
"basis": "paths",
"paths": [
"rootfs-overlay/etc/systemd/system/blueline-charge-limit.service",
"rootfs-overlay/etc/udev/rules.d/60-blueline-charge.rules",
"rootfs-overlay/usr/bin/blueline-charge"
],
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/8a35c457abd3acf1ac6ab69dac932a9f1e5364e6"
},
{
"id": "c:Pixel3Arch:194c4229",
"repo": "Pixel3Arch",
"sha": "194c4229e453e8c84d8baf80b5e002e407f7cc10",
"branch": "main",
"at": "2026-07-23T21:05:55-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "PAF: document pmi8998 charge control",
"detail": "Records the register map, the float-voltage encoding, the two bounds on\nwrites, and that the registers are volatile across reboot. Also records\nwhat this does NOT provide: fuel-gauge attributes and downstream's taper\nscheduling state machine.",
"dimension": "sensorium",
"basis": "subject",
"paths": [
"PAF/platform.md"
],
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/194c4229e453e8c84d8baf80b5e002e407f7cc10"
},
{
"id": "c:linux-blueline:6b733d3e",
"repo": "linux-blueline",
"sha": "6b733d3ea36716d17f3ed743b6cc09c78c5e8cf5",
"branch": "blueline",
"at": "2026-07-24T07:17:00-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "power: supply: qcom_smbx: fix charge control after review",
"detail": "Adversarial review of f08dc70b3 found four real defects. Fix them.",
"dimension": "sensorium",
"basis": "subject",
"paths": [],
"url": "https://gitea.wiuf.net/Fimeg/linux-blueline/commit/6b733d3ea36716d17f3ed743b6cc09c78c5e8cf5"
},
{
"id": "c:linux-blueline:58892902",
"repo": "linux-blueline",
"sha": "58892902459c2a6908e8e60d0dfddb56e1678cbc",
"branch": "blueline",
"at": "2026-07-24T07:22:20-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "power: supply: qcom_smbx: cell-aware charge current cap and probe guard",
"detail": "Second-review follow-ups.",
"dimension": "sensorium",
"basis": "subject",
"paths": [],
"url": "https://gitea.wiuf.net/Fimeg/linux-blueline/commit/58892902459c2a6908e8e60d0dfddb56e1678cbc"
},
{
"id": "c:upower:628283fb",
"repo": "upower",
"sha": "628283fb2031e7af172e042e508427202845baa0",
"branch": "souveraine/charge-type",
"at": "2026-07-24T09:08:41-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "up-types: recognize kernel's \"N/A\" spelling for CHARGE_TYPE_NONE",
"detail": "The kernel prints POWER_SUPPLY_CHARGE_TYPE_NONE as \"N/A\", not \"None\",\nso up_device_charge_type_from_string() fell through to the warning\npath and returned UNKNOWN instead of NONE on every refresh while\ndischarging.",
"dimension": "sensorium",
"basis": "subject",
"paths": [
"libupower-glib/up-types.c"
],
"url": "https://gitea.wiuf.net/Fimeg/upower/commit/628283fb2031e7af172e042e508427202845baa0"
},
{
"id": "c:Pixel3Arch:b5818ff8",
"repo": "Pixel3Arch",
"sha": "b5818ff87f72928a8ee52bff4f43d90248ee679d",
"branch": "main",
"at": "2026-07-24T09:08:54-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "blueline-charge: follow driver rename to charge_control_end_threshold",
"detail": "The pmi8998 charge-control fix renamed the sysfs attribute from\ncharge_control_limit to charge_control_end_threshold. The CLI, its\nudev rule, and platform.md still referenced the old name, so the\nexistence check failed outright on the fixed kernel.",
"dimension": "sensorium",
"basis": "paths",
"paths": [
"PAF/platform.md",
"rootfs-overlay/etc/udev/rules.d/60-blueline-charge.rules",
"rootfs-overlay/usr/bin/blueline-charge"
],
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/b5818ff87f72928a8ee52bff4f43d90248ee679d"
},
{
"id": "c:culver:f2879c01",
"repo": "culver",
"sha": "f2879c0102e5d6aef364472f2624ec78b9ff634c",
"branch": "primary",
"at": "2026-07-24T10:20:57-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "sms/mms: never fall back to now() for unparseable timestamps",
"detail": "An empty or malformed date field defaulted to the current time,\nso old unread messages sorted as just-arrived. Default to epoch 0\ninstead.",
"dimension": "surface",
"basis": "repo",
"paths": [
"crates/telephony/src/mms.rs",
"crates/telephony/src/sms.rs"
],
"url": "https://gitea.wiuf.net/Fimeg/culver/commit/f2879c0102e5d6aef364472f2624ec78b9ff634c"
},
{
"id": "c:culver:0a15b0b7",
"repo": "culver",
"sha": "0a15b0b77cf42fbd55d1480e593b5fe2f4dbf8e3",
"branch": "primary",
"at": "2026-07-24T10:21:12-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "matrix: media pipeline, typing, read receipts, search, drafts",
"detail": "Attachments now move both ways. Received images, video, audio, and\nfiles download from mxc:// URIs to a content-addressed cache and\nrender in place. Staged local files upload on send, with MIME\nguessed from the extension.",
"dimension": "runtime",
"basis": "paths",
"paths": [
"Cargo.lock",
"crates/app/qml/ChatView.qml",
"crates/app/qml/ComposerBar.qml",
"crates/app/qml/Inbox.qml",
"crates/app/qml/MessageDelegate.qml",
"crates/app/src/bridge/chat.rs",
"crates/app/src/bridge/composer.rs",
"crates/app/src/bridge/shared.rs",
"crates/app/src/runtime.rs",
"crates/core/src/attachment.rs",
"crates/core/src/store.rs",
"crates/matrix/Cargo.toml",
"crates/matrix/src/convert.rs",
"crates/matrix/src/protocol.rs",
"docs/tasks/A-composer-send.md",
"docs/tasks/I-chat-polish.md",
"docs/tasks/J-media-pipeline.md",
"docs/tasks/K-typing-receipts.md"
],
"url": "https://gitea.wiuf.net/Fimeg/culver/commit/0a15b0b77cf42fbd55d1480e593b5fe2f4dbf8e3"
},
{
"id": "c:SouveraineOS:adce4441",
"repo": "SouveraineOS",
"sha": "adce4441cc11cccd9c6cfe8856f076130b51e5eb",
"branch": "main",
"at": "2026-07-24T10:21:44-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "tasks: log 07-21 findings (culver A/B/D/E, mic wedge, overview, keyboard); add 19-23",
"detail": "Records what the 2026-07-21/22 sessions actually found and shipped,\nso the ledger matches reality:",
"dimension": "surface",
"basis": "paths",
"paths": [
"docs/tasks/07-mic-wcd9340-slim-tx.md",
"docs/tasks/08-device-state-manager.md",
"docs/tasks/09-suspend-resume-fts.md",
"docs/tasks/14-overview-appgrid.md",
"docs/tasks/16-culver-messenger-contacts.md",
"docs/tasks/17-keyboard-stevia-dictation.md",
"docs/tasks/19-settings-control-center.md",
"docs/tasks/20-player-video-agent.md",
"docs/tasks/21-reboot-android-confirmation.md",
"docs/tasks/22-settings-fullscreen-tweaks.md",
"docs/tasks/23-culver-locked-notification-nudge.md",
"docs/tasks/README.md"
],
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/adce4441cc11cccd9c6cfe8856f076130b51e5eb"
},
{
"id": "c:SouveraineOS:72aaa536",
"repo": "SouveraineOS",
"sha": "72aaa536aa7e62271f0d7ca0cabf4505a826dbcb",
"branch": "main",
"at": "2026-07-24T11:04:07-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "PAF: bring the blueline architecture framework into SouveraineOS",
"detail": "",
"dimension": "sensorium",
"basis": "paths",
"paths": [
"PAF/HANDOFF-audio-finish-20260719-evening.md",
"PAF/HANDOFF-mic-unpin.md",
"PAF/HANDOFF-upower-charge-control.md",
"PAF/README.md",
"PAF/audio-2026-07-19-LIVE-reconciliation.md",
"PAF/audio.md",
"PAF/build.md",
"PAF/display.md",
"PAF/evidence/README-pmos-era.md",
"PAF/evidence/android_modem_bringup_capture.md",
"PAF/evidence/build-pmos-era.md",
"PAF/evidence/captures/glink_trace_pmos-20260702.txt",
"PAF/evidence/diag_capture.md",
"PAF/evidence/first_provision_capture.md",
"PAF/evidence/los-mss-translated.c",
"PAF/evidence/modem_community_research_20260622.md",
"PAF/evidence/modem_community_research_20260626.md",
"PAF/evidence/modem_consumer_chain_20260626.md",
"PAF/evidence/modem_dt_rf_analysis_20260622.md",
"PAF/evidence/platform-pmos-era.md",
"PAF/evidence/pmos_fix_plan.md",
"PAF/evidence/qcril_bringup_capture.md",
"PAF/evidence/qcril_full_provisioning.md",
"PAF/evidence/qcril_online_sequence.md",
"PAF/evidence/qrtr_tools_reference.md",
"PAF/evidence/secure_load_tz_frontier.md",
"PAF/evidence/tier1_los_vs_mainline_diff.md",
"PAF/evidence/tz_listener_archaeology.md",
"PAF/mms.md",
"PAF/modem.md",
"PAF/platform.md",
"PAF/slpi.md",
"PAF/touch.md"
],
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/72aaa536aa7e62271f0d7ca0cabf4505a826dbcb"
},
{
"id": "c:souveraine:b4b30b12",
"repo": "souveraine",
"sha": "b4b30b124d32eecaf572d58f3fe23cf90380e7a8",
"branch": "primary",
"at": "2026-07-24T16:29:04-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "Unified device state machine + security hardening",
"detail": "sessiond:\n- device_state.rs: 8-state unified device state machine with legal\n transition table, sensor evidence model (proximity/accel/light/touch),\n confidence scoring, cross-sensor disagreement detection, and forensic\n logging with full state snapshots at every decision point.\n- protocol.rs: extended with DeviceState, SensorInput, and ForensicLog\n IPC requests. SensorSource/SensorValue types for proximity, accel,\n light, touch.\n- server.rs: DeviceStateMachine integrated into Daemon struct. Handlers\n for DeviceState (full state query), SensorInput (sensor evidence +\n Observed transitions), ForensicLog (recent entries query).\n- lock.rs: Failed attempt counter on PIN surface (advisory, PAM owns\n lockout policy). Rendered as red digit glyphs below PIN dots.\n- draw.rs: Attempt counter rendering + test.\n- auth.rs: PAM config docs reference.\n- mod.rs: device_state module added.",
"dimension": "identity",
"basis": "paths",
"paths": [
"src/sessiond/auth.rs",
"src/sessiond/device_state.rs",
"src/sessiond/draw.rs",
"src/sessiond/lock.rs",
"src/sessiond/mod.rs",
"src/sessiond/protocol.rs",
"src/sessiond/server.rs",
"surfaces/quickshell/GlobalStates.qml",
"surfaces/quickshell/services/IdleCoordinator.qml",
"surfaces/quickshell/services/SessionAudit.qml"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/b4b30b124d32eecaf572d58f3fe23cf90380e7a8"
},
{
"id": "c:souveraine:336dadf0",
"repo": "souveraine",
"sha": "336dadf00679882e7ee3e82fafbdf1818e51e8df",
"branch": "primary",
"at": "2026-07-24T19:51:33-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "upower: bump to 628283f (kernel spells CHARGE_TYPE_NONE as N/A)",
"detail": "The submodule was pinned one commit behind the fix, so every CI-built\nupower-souveraine fell through to the warning path and reported\ncharge-type unknown while discharging.",
"dimension": "sensorium",
"basis": "subject",
"paths": [
"packaging/upower-souveraine"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/336dadf00679882e7ee3e82fafbdf1818e51e8df"
},
{
"id": "c:souveraine:687cfeb5",
"repo": "souveraine",
"sha": "687cfeb5fbef027fa78ca0d02f5c120af8ed0921",
"branch": "primary",
"at": "2026-07-24T20:10:28-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "memory tests: mkdir -p before seeding fixture files",
"detail": "init() scaffolds only system/; the other schema roots are created on\nfirst write by the real write path. Three tests seeded fixtures directly\ninto issues/, projects/ and reference/ and died on ENOENT, which failed\ncargo test and skipped the packaging job that publishes the pacman repo.",
"dimension": "memory",
"basis": "paths",
"paths": [
"src/core/memory/mod.rs"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/687cfeb5fbef027fa78ca0d02f5c120af8ed0921"
},
{
"id": "c:souveraine:4d595796",
"repo": "souveraine",
"sha": "4d595796aceb22feaed1dcdff1b4bc28993f482d",
"branch": "primary",
"at": "2026-07-24T20:23:22-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "ci: re-run aarch64 packaging",
"detail": "The previous run raced a concurrent cargo build on the archdev runner\nfor the shared ~/.cargo package-cache lock and failed in 92s.",
"dimension": "runtime",
"basis": "repo",
"paths": [],
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/4d595796aceb22feaed1dcdff1b4bc28993f482d"
},
{
"id": "c:Pixel3Arch:80bb0c86",
"repo": "Pixel3Arch",
"sha": "80bb0c86532e33f329eec83d2ecee94898e6af49",
"branch": "main",
"at": "2026-07-24T20:29:00-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "squeekboard: cross-build on ArchDev instead of on the phone",
"detail": "The PKGBUILD said to build natively on the device, which contradicts\npkgs/README.md and is not viable on 3.5G of RAM. Both halves cross fine.",
"dimension": "release",
"basis": "paths",
"paths": [
"pkgs/squeekboard/PKGBUILD",
"pkgs/squeekboard/build-cross.sh"
],
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/80bb0c86532e33f329eec83d2ecee94898e6af49"
},
{
"id": "c:Pixel3Arch:42aedb2e",
"repo": "Pixel3Arch",
"sha": "42aedb2e71967cc2b7cf3ad20d6256918ead70de",
"branch": "main",
"at": "2026-07-24T20:29:07-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "squeekboard: track the systemd unit patch",
"detail": "PKGBUILD lists it in source=(), so a clean clone could not build without\nit.",
"dimension": "release",
"basis": "paths",
"paths": [
"pkgs/squeekboard/squeekboard-systemd-unit.patch"
],
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/42aedb2e71967cc2b7cf3ad20d6256918ead70de"
},
{
"id": "c:SouveraineOS:66053e19",
"repo": "SouveraineOS",
"sha": "66053e1948989526a038640482a0668e4d5213cb",
"branch": "main",
"at": "2026-07-24T20:29:17-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "tasks: one gitea repo for every package (25); keyboard rethink (24); device-state deploy",
"detail": "25 captures the pipeline unification: souveraine's CI is the only one\ndoing repo-add --sign, so everything else has to be hand-carried to the\nphone. Records the phone-side wiring that went live today and the two\npacman traps behind it (DownloadUser vs a custom XferCommand, and the\nDisableSandbox* lines that were never real options).",
"dimension": "surface",
"basis": "paths",
"paths": [
"docs/DEVICE-STATE-MACHINE.md",
"docs/tasks/24-keyboard-layout-rethink.md",
"docs/tasks/25-one-repo-all-packages.md",
"docs/tasks/unified-device-state-deploy.md"
],
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/66053e1948989526a038640482a0668e4d5213cb"
},
{
"id": "c:Pixel3Arch:36268f61",
"repo": "Pixel3Arch",
"sha": "36268f61889c0c6c6b1ab4708b21e87d2eafec48",
"branch": "main",
"at": "2026-07-24T20:38:11-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "squeekboard: wire the PKGBUILD to the cross script",
"detail": "build() called arch-meson, which injects host -march/-mtune and hands\nx86_64 flags to an aarch64 compiler; prepare() fetched crates for the\nhost tuple. Both now go through build-cross.sh so the cross knowledge\nlives in one place. build-cross.sh honours WORKDIR/BUILD so makepkg can\nrun it inside $srcdir instead of the PKGBUILD directory.",
"dimension": "release",
"basis": "paths",
"paths": [
"pkgs/squeekboard/PKGBUILD",
"pkgs/squeekboard/build-cross.sh"
],
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/36268f61889c0c6c6b1ab4708b21e87d2eafec48"
},
{
"id": "c:souveraine:a799bf1c",
"repo": "souveraine",
"sha": "a799bf1cde2e50b455f615af05354f731d49fd13",
"branch": "primary",
"at": "2026-07-24T20:55:33-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "ci: make the upower cross build actually work",
"detail": "The upower steps were added after the last green release and had never\nrun successfully — the Jul 13 edge release contains no upower package at\nall. Six defects, each hiding the next, found by reproducing the steps on\nthe runner:",
"dimension": "reliability",
"basis": "paths",
"paths": [
".cargo/aarch64-pkg-config",
".gitea/workflows/ci.yml"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/a799bf1cde2e50b455f615af05354f731d49fd13"
},
{
"id": "c:souveraine:f620a5d5",
"repo": "souveraine",
"sha": "f620a5d5f9732474838117919c9adec4080b8ee3",
"branch": "primary",
"at": "2026-07-24T21:14:30-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "ci: upower package check greps libexec, not lib",
"detail": "Seventh instance of the same wrong path: the package-content assertion\nlooked for usr/lib/upowerd. upower installs to usr/libexec/upowerd — the\ncopy already on the phone confirms it — so the check failed after a\nsuccessful build and sign.",
"dimension": "reliability",
"basis": "paths",
"paths": [
".gitea/workflows/ci.yml"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/f620a5d5f9732474838117919c9adec4080b8ee3"
},
{
"id": "c:souveraine:261d7467",
"repo": "souveraine",
"sha": "261d74672ff3f4c2bfda751be225d946e1009d16",
"branch": "primary",
"at": "2026-07-24T21:31:14-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "package sessiond (aarch64 only)",
"detail": "It was hand-copied to /usr/local/bin, owned by no package, so it never\nupdated. Not built for x86_64 — the laptop hits lock-screen errors with\nit. Verified both packages assemble correctly.",
"dimension": "identity",
"basis": "paths",
"paths": [
".gitea/workflows/ci.yml",
"packaging/arch/PKGBUILD.prebuilt",
"packaging/souveraine-sessiond.service"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/261d74672ff3f4c2bfda751be225d946e1009d16"
},
{
"id": "c:souveraine:07d45c10",
"repo": "souveraine",
"sha": "07d45c10bcdeda7281f52944daca1a2eaed7a6ce",
"branch": "primary",
"at": "2026-07-24T21:36:31-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "package secrets and machined too",
"detail": "All four repo binaries were hand-copied to the phone and owned by no\npackage. secrets/machined ship on both arches; sessiond stays aarch64.\nsecrets unit repointed /usr/local/bin -> /usr/bin.",
"dimension": "identity",
"basis": "paths",
"paths": [
".gitea/workflows/ci.yml",
"packaging/arch/PKGBUILD.prebuilt",
"packaging/souveraine-secrets.service"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/07d45c10bcdeda7281f52944daca1a2eaed7a6ce"
},
{
"id": "c:souveraine:62a3f0b0",
"repo": "souveraine",
"sha": "62a3f0b0a81f3a880293d60ca03125a1d308f6ac",
"branch": "primary",
"at": "2026-07-24T21:56:43-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "don't claim gnome-keyring's dbus file; version upower from upstream",
"detail": "Two install blockers found on the phone:\n- the package shipped org.freedesktop.secrets.service, which gnome-keyring\n owns. souveraine-secrets holds the bus name at runtime already.\n- upower reused souveraine's 0.1.rN version, which sorts below the\n hand-built 1.91.3+sha, so -Syu saw a downgrade and skipped it. Now\n built from upstream version + fork sha (verified vercmp = 1).",
"dimension": "release",
"basis": "paths",
"paths": [
".gitea/workflows/ci.yml",
"packaging/arch/PKGBUILD.prebuilt"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/62a3f0b0a81f3a880293d60ca03125a1d308f6ac"
},
{
"id": "c:Pixel3Arch:cb807d0b",
"repo": "Pixel3Arch",
"sha": "cb807d0b7e36597be113e6a171282c8e9b51a011",
"branch": "main",
"at": "2026-07-24T22:05:53-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "docs: the phone updates with pacman, not fastboot",
"detail": "Kernel included. boot_a is stale (still has pmos_root_uuid, no root=) and\nis not in the boot path — pocketboot reads extlinux off Arch_root.",
"dimension": "release",
"basis": "paths",
"paths": [
".gitignore",
"CLAUDE.md",
"rootfs-overlay/etc/pacman.d/souveraine-archive-key.asc",
"rootfs-overlay/etc/pacman.d/souveraine-edge.conf",
"rootfs-overlay/usr/local/libexec/souveraine-pacman-fetch",
"rootfs-overlay/usr/local/sbin/blueline-promote-boot",
"rootfs-overlay/usr/share/libalpm/hooks/95-blueline-extlinux.hook",
"scripts/provision-rootfs.sh"
],
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/cb807d0b7e36597be113e6a171282c8e9b51a011"
},
{
"id": "c:SouveraineOS:ce66a2a7",
"repo": "SouveraineOS",
"sha": "ce66a2a74fd08ceb2d32e085288e833d8876447a",
"branch": "main",
"at": "2026-07-24T22:06:02-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "STATE: phone updates with pacman; flashing retired",
"detail": "",
"dimension": "release",
"basis": "subject",
"paths": [
"STATE.md"
],
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/ce66a2a74fd08ceb2d32e085288e833d8876447a"
},
{
"id": "c:SouveraineOS:616c933e",
"repo": "SouveraineOS",
"sha": "616c933e5be86344d2aa3747777b6b4285bf6b79",
"branch": "main",
"at": "2026-07-24T22:11:45-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "TASK-08b unblocked: pmi8998 charge control is live; note the settings-packaging stage",
"detail": "",
"dimension": "release",
"basis": "paths",
"paths": [
"docs/tasks/08-device-state-manager.md",
"docs/tasks/25-one-repo-all-packages.md"
],
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/616c933e5be86344d2aa3747777b6b4285bf6b79"
},
{
"id": "c:souveraine:155288d9",
"repo": "souveraine",
"sha": "155288d96eaa8da07e4a97acb006ee408674b3ff",
"branch": "primary",
"at": "2026-07-25T06:05:24-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "upower version: .r not + (a + in a gitea asset name 404s)",
"detail": "",
"dimension": "reliability",
"basis": "paths",
"paths": [
".gitea/workflows/ci.yml"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/155288d96eaa8da07e4a97acb006ee408674b3ff"
},
{
"id": "c:SouveraineOS:712e8a9e",
"repo": "SouveraineOS",
"sha": "712e8a9ec35002edb9dee192e690618e77cde254",
"branch": "main",
"at": "2026-07-25T06:06:22-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "DUMP: the session that retired flashing",
"detail": "",
"dimension": "release",
"basis": "paths",
"paths": [
"STATE.md",
"docs/DUMP-pacman-pipeline-2026-07-24.md"
],
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/712e8a9ec35002edb9dee192e690618e77cde254"
},
{
"id": "c:upower:718e9210",
"repo": "upower",
"sha": "718e9210d746e85bc0e1ef935c6d85ed1fe2707e",
"branch": "souveraine/charge-type",
"at": "2026-07-25T06:43:56-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "up-device-supply: read charge_type from the supplying charger",
"detail": "On a discrete-PMIC platform the fuel gauge and the charger are separate\ndevices and only the charger knows the charge regime. On SDM845\nqcom-battery is fuel-gauge@4000 and exposes no charge_type at all, while\npmi8998-charger is charger@1000 and does, so reading only the battery's\nown attribute returned UNKNOWN on every refresh.",
"dimension": "sensorium",
"basis": "subject",
"paths": [
"src/linux/up-device-supply.c"
],
"url": "https://gitea.wiuf.net/Fimeg/upower/commit/718e9210d746e85bc0e1ef935c6d85ed1fe2707e"
},
{
"id": "c:souveraine:16aa4695",
"repo": "souveraine",
"sha": "16aa469505e81a1ac399186d4c82a4ad7cb9500a",
"branch": "primary",
"at": "2026-07-25T06:51:34-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "upower: read charge_type from the supplying charger",
"detail": "SDM845 splits fuel gauge and charger; qcom-battery has no charge_type at\nall, so the battery-only read returned UNKNOWN regardless of the N/A\nspelling fix. Follows the kernel's device links to the charger instead.",
"dimension": "sensorium",
"basis": "subject",
"paths": [
"packaging/upower-souveraine"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/16aa469505e81a1ac399186d4c82a4ad7cb9500a"
},
{
"id": "c:souveraine:e7afd7b1",
"repo": "souveraine",
"sha": "e7afd7b1043af96e29b096636e468fe3e073e846",
"branch": "primary",
"at": "2026-07-25T07:05:57-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "ci: re-run for the upower charge_type package build",
"detail": "rust-test failed on 16aa469 with only a submodule gitlink changed and no\nRust touched, so aarch64-artifact skipped and no package was produced.",
"dimension": "release",
"basis": "subject",
"paths": [],
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/e7afd7b1043af96e29b096636e468fe3e073e846"
},
{
"id": "c:SouveraineOS:18236801",
"repo": "SouveraineOS",
"sha": "182368014ede5efcad74863cd76edacb99c8c993",
"branch": "main",
"at": "2026-07-25T07:08:15-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "DUMP: correct the charge-type record; kernel pipeline is not one step",
"detail": "The N/A reading was from the charger, not the battery. upower reads the\nbattery, and on SDM845 that is the fuel gauge, which has no charge_type at\nall - so 628283f could never move the symptom. Records the device-link fix,\nthe three blockers actually in front of repo-add --sign, and the one\nhand-copied header that had been blocking -Syu.",
"dimension": "sensorium",
"basis": "subject",
"paths": [
"docs/DUMP-pacman-pipeline-2026-07-24.md"
],
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/182368014ede5efcad74863cd76edacb99c8c993"
},
{
"id": "c:upower:f9747148",
"repo": "upower",
"sha": "f974714880c96714b6410a07aeb094b6cff1a271",
"branch": "souveraine/charge-type",
"at": "2026-07-25T07:29:50-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "up-device-supply-battery: set charge-type on the class that backs real batteries",
"detail": "up-enumerator-udev.c tries UP_TYPE_DEVICE_SUPPLY_BATTERY first for every\npower_supply device and only falls back to UP_TYPE_DEVICE_SUPPLY if that\nfails to initialise, so a system battery is backed by UpDeviceSupplyBattery\nand never runs UpDeviceSupply::refresh_device. charge-type was only ever set\nthere, so it sat at the UNKNOWN enum default - indistinguishable from the\ndriver not reporting it.",
"dimension": "sensorium",
"basis": "paths",
"paths": [
"src/linux/up-device-supply-battery.c"
],
"url": "https://gitea.wiuf.net/Fimeg/upower/commit/f974714880c96714b6410a07aeb094b6cff1a271"
},
{
"id": "c:souveraine:bcf4bf2f",
"repo": "souveraine",
"sha": "bcf4bf2f09a0ebe8bd6d24a3086d22e5d62e76ec",
"branch": "primary",
"at": "2026-07-25T07:30:16-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "upower: set charge-type on UpDeviceSupplyBattery",
"detail": "Real batteries are backed by UpDeviceSupplyBattery, which never ran the\nrefresh that set charge-type, so it stayed at the UNKNOWN default.",
"dimension": "sensorium",
"basis": "subject",
"paths": [
"packaging/upower-souveraine"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/bcf4bf2f09a0ebe8bd6d24a3086d22e5d62e76ec"
},
{
"id": "c:upower:beb94dcd",
"repo": "upower",
"sha": "beb94dcd6fc65cbb3e8045eafb1bfd0a8f7386d4",
"branch": "souveraine/charge-type",
"at": "2026-07-25T07:39:45-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "percentage-trusted: judge the source of the percentage, and set it on batteries",
"detail": "Two bugs, same shape as charge-type.",
"dimension": "sensorium",
"basis": "paths",
"paths": [
"src/linux/up-device-supply-battery.c",
"src/linux/up-device-supply.c",
"src/linux/up-device-supply.h"
],
"url": "https://gitea.wiuf.net/Fimeg/upower/commit/beb94dcd6fc65cbb3e8045eafb1bfd0a8f7386d4"
},
{
"id": "c:souveraine:91c0cf80",
"repo": "souveraine",
"sha": "91c0cf800bf689e19da5d87efd6def13249ba9c1",
"branch": "primary",
"at": "2026-07-25T07:49:20-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "upower: fix percentage-trusted on real batteries",
"detail": "The heuristic tested charge_full, which qcom-battery lacks and which upower\nnever uses for the percentage anyway - it reads capacity directly. And like\ncharge-type it was only set in UpDeviceSupply, so a battery got the FALSE\ndefault. Verified: charge-type now reads fast against the charger's Fast.",
"dimension": "identity",
"basis": "subject",
"paths": [
"packaging/upower-souveraine"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/91c0cf800bf689e19da5d87efd6def13249ba9c1"
},
{
"id": "c:SouveraineOS:7cb55401",
"repo": "SouveraineOS",
"sha": "7cb55401e66275b95b5745b8449f2448e4f1a171",
"branch": "main",
"at": "2026-07-25T08:14:15-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "TASK-26: sensor evidence and a single authority over it",
"detail": "The device state machine is not observational, it is blind: nothing in any\nrepo ever sends SensorInput, so observed_confidence cannot leave 0.0 and the\nforensic log cannot fill. Meanwhile blueline-proximity-lock is live and\nacting on proximity on its own authority, unowned by any package. Carved as\nits own task because 08(a) and 15 are both efferent and assume afferents\nthat do not exist - wiring actuators first would manufacture exactly the\nsuccess-shaped switches 19 forbids.",
"dimension": "identity",
"basis": "paths",
"paths": [
"STATE.md",
"docs/tasks/08-device-state-manager.md",
"docs/tasks/25-one-repo-all-packages.md",
"docs/tasks/26-sensor-evidence-single-authority.md"
],
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/7cb55401e66275b95b5745b8449f2448e4f1a171"
},
{
"id": "c:Pixel3Arch:5a14a143",
"repo": "Pixel3Arch",
"sha": "5a14a14370759eb3c640766c180afc94e3f62a11",
"branch": "main",
"at": "2026-07-25T08:22:36-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "PAF slpi: SLPI recovers from CHRE fatal, hexagonrpcd-sdsp does not",
"detail": "Live 2026-07-25 06:04:33 on a running system, not a cold boot. remoteproc\nrecovered SLPI, but blueline-hexagonrpcd-sdsp exited Broken pipe and\nDeactivated successfully, so systemd never restarted it. Sensors were down\nfor hours - HasAccelerometer/HasAmbientLight/HasProximity all false - and\nnothing noticed, because a script consuming a dead sensor looks the same as\none whose sensor is quiet. The restart/ordering fix belongs in\nrootfs-overlay, not on the device.",
"dimension": "sensorium",
"basis": "repo",
"paths": [
"PAF/README.md",
"PAF/slpi.md"
],
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/5a14a14370759eb3c640766c180afc94e3f62a11"
},
{
"id": "c:SouveraineOS:49332838",
"repo": "SouveraineOS",
"sha": "49332838d38fe28eeb6b903f6dea3479e62bc6e8",
"branch": "main",
"at": "2026-07-25T08:22:53-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "TASK-26: correct the sensor claim; the machine absorbs the scripts",
"detail": "Wrong on two counts before. The sensors are not in question - SLPI bring-up\nwas solved 2026-07-10 and the 07-13 SUID sweep found accel/gyro (BMI160),\nmag (LIS2MDL), pressure (BMP380), ambient_light/proximity (TMD2725) and\nsensor_temperature; only amd lacks a SUID. A failed monitor-sensor\naccelerometer claim was contention with blueline-autorotate, not absence.",
"dimension": "sensorium",
"basis": "paths",
"paths": [
"docs/tasks/26-sensor-evidence-single-authority.md"
],
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/49332838d38fe28eeb6b903f6dea3479e62bc6e8"
},
{
"id": "c:SouveraineOS:ab600c2c",
"repo": "SouveraineOS",
"sha": "ab600c2c1698b34bc8c26c082bec26c7f775f5c5",
"branch": "main",
"at": "2026-07-25T12:17:22-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "Delete TASK-26; record what DEVICE-STATE-MACHINE actually built",
"detail": "TASK-26 duplicated this doc and should not have been written. The doc\nalready covers the seven-actor scatter, the evidence model, the\nproximity-lock/screen-toggle mapping, and names sessiond as the owner.",
"dimension": "identity",
"basis": "paths",
"paths": [
"docs/DEVICE-STATE-MACHINE.md",
"docs/tasks/26-sensor-evidence-single-authority.md"
],
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/ab600c2c1698b34bc8c26c082bec26c7f775f5c5"
},
{
"id": "c:Pixel3Arch:cfcff37c",
"repo": "Pixel3Arch",
"sha": "cfcff37c7709d82588f019e9f48468638b834c74",
"branch": "main",
"at": "2026-07-25T12:24:49-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "overlays: land the osk-switch keyboard split, proximity-lock, and pending PAF work",
"detail": "The stevia/squeekboard co-existence redesign was written but never committed\nor deployed, so the phone still ran the old hyprland.lua starting\nmobi.phosh.OSK.service - a unit pkgrel 6 deliberately stopped shipping. The\nkeyboard therefore never launched and Super+K did not exist on the device.",
"dimension": "surface",
"basis": "paths",
"paths": [
".gitignore",
"PAF/HANDOFF-audio-finish-20260719-evening.md",
"PAF/HANDOFF-upower-charge-control.md",
"PAF/touch.md",
"docs/INSTALL-CHECKLIST.md",
"docs/tasks/native-mkinitcpio-ramdisk.md",
"overlays/bin/osk-switch",
"overlays/hypr/hyprland.lua",
"overlays/phosh-osk/10_mobi.phosh.osk.gschema.override",
"overlays/quickshell-ii-patches/AutoRotateToggle.qml",
"overlays/systemd-user/blueline-proximity-lock.service",
"overlays/systemd-user/souveraine-shell.service",
"overlays/systemd-user/squeekboard.service",
"overlays/systemd-user/stevia.service",
"pkgs/README.md",
"pkgs/stevia/0002-dictation-key-terminal-arrows.patch",
"pkgs/stevia/0004-ios-daily-layout-menu-input.patch",
"pkgs/stevia/PKGBUILD",
"pkgs/stevia/build-cross.sh",
"rootfs-overlay/etc/polkit-1/rules.d/50-souveraine-login1.rules",
"rootfs-overlay/usr/bin/blueline-proximity-lock",
"rootfs-overlay/usr/bin/blueline-screen-toggle"
],
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/cfcff37c7709d82588f019e9f48468638b834c74"
},
{
"id": "c:souveraine:aa302784",
"repo": "souveraine",
"sha": "aa3027845dbd911d316f28b3bc1fd7b850cdb153",
"branch": "primary",
"at": "2026-07-25T14:23:07-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "sessiond: give the device state machine a clock and real actuators",
"detail": "The state machine landed in b4b30b1 and never ran. Verified on the phone\nafter 2.5h of use: device_state=active, observed_confidence=0.0,\nforensic_log count=0, forensic.jsonl never created. Not one transition.",
"dimension": "identity",
"basis": "paths",
"paths": [
"src/sessiond/device_state.rs",
"src/sessiond/idle.rs",
"src/sessiond/mod.rs",
"src/sessiond/protocol.rs",
"src/sessiond/server.rs"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/aa3027845dbd911d316f28b3bc1fd7b850cdb153"
},
{
"id": "c:Pixel3Arch:557c8e1c",
"repo": "Pixel3Arch",
"sha": "557c8e1c4535a1666d623c6ac757ad121281f8c1",
"branch": "main",
"at": "2026-07-25T14:23:35-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "package hyprgrass, demote proximity to a reporter, fix the silent sensor death",
"detail": "hyprgrass: touch gestures have been dead and nothing said so. hyprgrass.so\nNEEDED libhyprutils.so.12; hyprutils went 0.14.0 and ships .13. The plugin\nlived in /var/cache/hyprpm/, owned by no package, so a routine library\nupgrade broke it invisibly — the two \"unknown config key\" errors in the\nHyprland log were downstream of the failed load, not a config problem.",
"dimension": "release",
"basis": "paths",
"paths": [
"overlays/hypr/hyprland.lua",
"pkgs/hyprgrass/PKGBUILD",
"pkgs/hyprgrass/build-cross.sh",
"rootfs-overlay/etc/systemd/system/blueline-hexagonrpcd-sdsp.service",
"rootfs-overlay/usr/bin/blueline-proximity-lock",
"rootfs-overlay/usr/bin/blueline-screen-toggle",
"rootfs-overlay/usr/local/bin/blueline-hexagonrpcd-sdsp-wait.sh"
],
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/557c8e1c4535a1666d623c6ac757ad121281f8c1"
},
{
"id": "c:SouveraineOS:c304e976",
"repo": "SouveraineOS",
"sha": "c304e9760bdd6fc74bb89bacdecee51a2413bb09",
"branch": "main",
"at": "2026-07-25T14:24:51-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "docs: correct the device-state deploy checklist against the live phone",
"detail": "- drop 10.10.20.9; it was never a real address. Phone is pixel/172.16.42.1\n over USB, 10.10.20.234 over wifi\n- delivery is the package, not scp to /usr/local/bin. Verified:\n /usr/bin/souveraine-sessiond is owned by souveraine 0.1.r218.g91c0cf800bf6-1,\n which already contains b4b30b1\n- there is no socat on the phone, nor nc; record the python3 form the other\n sessiond clients use\n- record what the checklist's own verification steps actually returned:\n device_state=active and forensic count 0 with no forensic.jsonl, 2.5h into\n a session with locks. The machine was inert on hardware, not merely unwired",
"dimension": "unassigned",
"basis": "none",
"paths": [
"docs/tasks/unified-device-state-deploy.md"
],
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/c304e9760bdd6fc74bb89bacdecee51a2413bb09"
},
{
"id": "c:SouveraineOS:0083c6d7",
"repo": "SouveraineOS",
"sha": "0083c6d79f43d73b9f6cc8c13227ec14bf47fc36",
"branch": "main",
"at": "2026-07-25T14:34:29-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "docs: TASK-27 gitea pipeline audit",
"detail": "Scoped from what was measured today. The finding that matters: rootfs-overlay\nis not a package, so overlay fixes reach a running phone only via reprovision\n— which costs Casey his live system. Two fixes are already stuck behind it.",
"dimension": "unassigned",
"basis": "none",
"paths": [
"docs/tasks/27-gitea-pipeline-audit.md",
"docs/tasks/README.md"
],
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/0083c6d79f43d73b9f6cc8c13227ec14bf47fc36"
},
{
"id": "c:Pixel3Arch:842aa123",
"repo": "Pixel3Arch",
"sha": "842aa12323f824df4fb11529903557fa3f042877",
"branch": "main",
"at": "2026-07-25T14:39:06-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "hyprland.lua: make a missing hyprgrass plugin say so",
"detail": "The bind guard silently dropped all 11 touch gestures when the plugin failed\nto load, which is why a soname break went unnoticed for twenty days. Add the\nelse branch.",
"dimension": "sensorium",
"basis": "repo",
"paths": [
"overlays/hypr/hyprland.lua"
],
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/842aa12323f824df4fb11529903557fa3f042877"
},
{
"id": "c:souveraine:9d8bce2a",
"repo": "souveraine",
"sha": "9d8bce2a08cdd9d10371d6d471abb7e044459404",
"branch": "primary",
"at": "2026-07-25T15:08:47-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "sessiond: log transitions prev → next (args were next, next, prev)",
"detail": "",
"dimension": "identity",
"basis": "paths",
"paths": [
"src/sessiond/device_state.rs"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/9d8bce2a08cdd9d10371d6d471abb7e044459404"
},
{
"id": "c:SouveraineOS:fa664dca",
"repo": "SouveraineOS",
"sha": "fa664dcaea6ac70c870927c8f5877cc1805c9f43",
"branch": "main",
"at": "2026-07-25T15:08:59-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "docs: TASK-28 handover on upgrade",
"detail": "",
"dimension": "unassigned",
"basis": "none",
"paths": [
"docs/tasks/28-upgrade-handover.md",
"docs/tasks/README.md"
],
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/fa664dcaea6ac70c870927c8f5877cc1805c9f43"
},
{
"id": "c:SouveraineOS:0db3a8aa",
"repo": "SouveraineOS",
"sha": "0db3a8aa28a664dac4e39f7691878c47df9bae89",
"branch": "main",
"at": "2026-07-25T15:23:11-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "tasks: archive the two finished docs, complete the index",
"detail": "fix-dock-fullscreen-detection (superseded) and unified-device-state-deploy\n(done 07-25) moved to archive/; pointers to them updated.",
"dimension": "surface",
"basis": "paths",
"paths": [
"docs/tasks/22-settings-fullscreen-tweaks.md",
"docs/tasks/README.md",
"docs/tasks/archive/fix-dock-fullscreen-detection.md",
"docs/tasks/archive/unified-device-state-deploy.md",
"docs/tasks/fix-dock-fullscreen-detection.md",
"docs/tasks/unified-device-state-deploy.md",
"docs/tasks/unify-shell-trees-laptop-phone.md"
],
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/0db3a8aa28a664dac4e39f7691878c47df9bae89"
},
{
"id": "c:culver:1e3ea121",
"repo": "culver",
"sha": "1e3ea1216d561e89c007ebe040fa426cedeedc92",
"branch": "primary",
"at": "2026-07-25T16:17:32-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "core: epoch fallback for corrupt timestamps, not now",
"detail": "",
"dimension": "surface",
"basis": "repo",
"paths": [
"crates/core/src/store.rs"
],
"url": "https://gitea.wiuf.net/Fimeg/culver/commit/1e3ea1216d561e89c007ebe040fa426cedeedc92"
},
{
"id": "c:culver:b28b15f8",
"repo": "culver",
"sha": "b28b15f842b765e14effaaf3f57b67583670cca8",
"branch": "primary",
"at": "2026-07-25T16:23:51-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "clippy: epoch fallbacks and struct-literal org, workspace clean",
"detail": "",
"dimension": "reliability",
"basis": "subject",
"paths": [
"crates/contacts/src/vcard.rs",
"crates/telephony/src/mms.rs",
"crates/telephony/src/sms.rs"
],
"url": "https://gitea.wiuf.net/Fimeg/culver/commit/b28b15f842b765e14effaaf3f57b67583670cca8"
},
{
"id": "c:SouveraineOS:81196d1a",
"repo": "SouveraineOS",
"sha": "81196d1ab90827dbd36d0151061a9fbb6cf543b2",
"branch": "main",
"at": "2026-07-25T16:25:09-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "task 27: pipeline census from the live API; kernel guard is host-probed config, not credentials",
"detail": "",
"dimension": "identity",
"basis": "subject",
"paths": [
"docs/tasks/27-gitea-pipeline-audit.md"
],
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/81196d1ab90827dbd36d0151061a9fbb6cf543b2"
},
{
"id": "c:culver:ab559bc6",
"repo": "culver",
"sha": "ab559bc6bf7a333208750e04132faf536080b778",
"branch": "primary",
"at": "2026-07-25T16:30:33-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "matrix: drop dead account field, useless conversions, epoch fallback",
"detail": "",
"dimension": "surface",
"basis": "repo",
"paths": [
"crates/matrix/src/protocol.rs"
],
"url": "https://gitea.wiuf.net/Fimeg/culver/commit/ab559bc6bf7a333208750e04132faf536080b778"
},
{
"id": "c:SouveraineOS:5faae0fd",
"repo": "SouveraineOS",
"sha": "5faae0fdb35da7257b583001cd0e3153feafd3ab",
"branch": "main",
"at": "2026-07-25T16:32:57-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "task 27: primary exists now; main still stale",
"detail": "",
"dimension": "unassigned",
"basis": "none",
"paths": [
"docs/tasks/27-gitea-pipeline-audit.md"
],
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/5faae0fdb35da7257b583001cd0e3153feafd3ab"
},
{
"id": "c:culver:8dc85530",
"repo": "culver",
"sha": "8dc85530aaceb954f1b36ffa65835fd5b1408691",
"branch": "primary",
"at": "2026-07-25T16:41:21-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "app: clear the never-linted crate — dead re-exports, unused inherit decls, type alias for the resolver",
"detail": "",
"dimension": "runtime",
"basis": "paths",
"paths": [
"crates/app/src/bridge/accounts.rs",
"crates/app/src/bridge/chat.rs",
"crates/app/src/bridge/composer.rs",
"crates/app/src/bridge/inbox.rs",
"crates/app/src/bridge/shared.rs",
"crates/app/src/main.rs",
"crates/app/src/runtime.rs"
],
"url": "https://gitea.wiuf.net/Fimeg/culver/commit/8dc85530aaceb954f1b36ffa65835fd5b1408691"
},
{
"id": "c:SouveraineOS:9363abca",
"repo": "SouveraineOS",
"sha": "9363abca3dcd0fd4e7f29aa6a6cbf7b8a92c9bdb",
"branch": "main",
"at": "2026-07-25T17:11:43-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "task 27: culver green at #17, first ever",
"detail": "",
"dimension": "unassigned",
"basis": "none",
"paths": [
"docs/tasks/27-gitea-pipeline-audit.md"
],
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/9363abca3dcd0fd4e7f29aa6a6cbf7b8a92c9bdb"
},
{
"id": "c:souveraine-updater:e678fd60",
"repo": "souveraine-updater",
"sha": "e678fd6083147ce74326b24e74d007daf859b6d0",
"branch": "primary",
"at": "2026-07-25T17:18:58-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "souveraine-updater: rename from pachub fork, wire cxx-qt module",
"detail": "",
"dimension": "release",
"basis": "paths",
"paths": [
".gitignore",
"Cargo.toml",
"LICENSE",
"net.souveraine.Updater.svg",
"updater-core/Cargo.toml",
"updater-core/src/aur.rs",
"updater-core/src/auth.rs",
"updater-core/src/cache.rs",
"updater-core/src/lib.rs",
"updater-core/src/models.rs",
"updater-core/src/pacman.rs",
"updater-ui/Cargo.toml",
"updater-ui/build.rs",
"updater-ui/qml/Main.qml",
"updater-ui/qml/NavButton.qml",
"updater-ui/qml/PackageDetail.qml",
"updater-ui/qml/PackageList.qml",
"updater-ui/qml/Sidebar.qml",
"updater-ui/qml/StatCard.qml",
"updater-ui/src/bridge.rs",
"updater-ui/src/main.rs"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine-updater/commit/e678fd6083147ce74326b24e74d007daf859b6d0"
},
{
"id": "c:SouveraineOS:1c1e1397",
"repo": "SouveraineOS",
"sha": "1c1e1397e8a535121eb24df61b3b8a39e067be57",
"branch": "main",
"at": "2026-07-25T17:21:05-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "task 29: souveraine-updater handoff",
"detail": "",
"dimension": "unassigned",
"basis": "none",
"paths": [
"docs/tasks/29-souveraine-updater.md",
"docs/tasks/README.md"
],
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/1c1e1397e8a535121eb24df61b3b8a39e067be57"
},
{
"id": "c:souveraine:044c373c",
"repo": "souveraine",
"sha": "044c373cadb2536f8cfa7b1af989611c98801761",
"branch": "primary",
"at": "2026-07-25T17:50:30-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "ci: publish into edge additively",
"detail": "edge is a shared archive but ci.yml deleted and recreated it each push, erasing\nother producers. publish-edge.sh merges into the live db under a flock and\nremoves only its own superseded builds. Verifies the merge kept every foreign\nentry, and reads the db back before trusting it.",
"dimension": "reliability",
"basis": "paths",
"paths": [
".gitea/workflows/ci.yml",
"packaging/arch/publish-edge.sh"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/044c373cadb2536f8cfa7b1af989611c98801761"
},
{
"id": "c:souveraine-updater:fb001c9e",
"repo": "souveraine-updater",
"sha": "fb001c9e25883a50ff8209b2f29989481345f106",
"branch": "primary",
"at": "2026-07-25T18:14:02-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "updater: first working build",
"detail": "QString properties, apply_filter onto the QObject, exec off the pinned app.\nMain.qml never imported its own module, so PackageManager didn't resolve.\nIcon embedded via qrc_resources.",
"dimension": "surface",
"basis": "paths",
"paths": [
"net.souveraine.Updater.svg",
"updater-core/src/aur.rs",
"updater-core/src/cache.rs",
"updater-ui/build.rs",
"updater-ui/net.souveraine.Updater.svg",
"updater-ui/qml/Main.qml",
"updater-ui/src/bridge.rs",
"updater-ui/src/main.rs"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine-updater/commit/fb001c9e25883a50ff8209b2f29989481345f106"
},
{
"id": "c:souveraine-updater:e4f00c5f",
"repo": "souveraine-updater",
"sha": "e4f00c5ffcc9d1fae8b1e0e52d874571283a8a89",
"branch": "primary",
"at": "2026-07-25T18:30:31-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "ci: build, package and publish into edge",
"detail": "Cross-build helpers from culver, prebuilt PKGBUILD, and a packaging step that\nsigns into souveraine-{arch} via souveraine's additive publisher. Replaces\npachub. Smoke test loads the QML root, since a null root builds green.",
"dimension": "release",
"basis": "paths",
"paths": [
".cargo/aarch64-pkg-config",
".cargo/config.toml",
".gitea/workflows/ci.yml",
"packaging/PKGBUILD.prebuilt",
"packaging/net.souveraine.Updater.desktop",
"scripts/aarch64-linker",
"scripts/aarch64-qmake",
"scripts/build-cross.sh"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine-updater/commit/e4f00c5ffcc9d1fae8b1e0e52d874571283a8a89"
},
{
"id": "c:souveraine:15a32796",
"repo": "souveraine",
"sha": "15a32796ba7017b791d12fc7f683d87cd6a32051",
"branch": "primary",
"at": "2026-07-25T18:38:32-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "sessiond: make lock-before-blank an invariant, not a timer coincidence",
"detail": "LOCK-DPMS-LESSONS §1 is \"Ordering: lock, then off\". It held only because\nhypridle's 300s lock listener fired before its own 600s screen-off listener —\ntwo numbers in a config file, not a guarantee. Anything that skipped the lock\n(idle inhibitor, native coordinator off, dead shell) still met the blank, and\nthe panel went dark on an unlocked session with nothing said about it.",
"dimension": "identity",
"basis": "paths",
"paths": [
"src/sessiond/device_state.rs",
"src/sessiond/protocol.rs",
"src/sessiond/server.rs",
"surfaces/quickshell/services/SessiondBridge.qml"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/15a32796ba7017b791d12fc7f683d87cd6a32051"
},
{
"id": "c:Pixel3Arch:cadaec91",
"repo": "Pixel3Arch",
"sha": "cadaec9178631c7b49bce22c9d5f0c0cec0e1c79",
"branch": "main",
"at": "2026-07-25T18:38:59-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "hypridle: delete the idle listeners, sessiond owns idle staging",
"detail": "The 300s lock and 600s `blueline-screen-toggle off` listeners were \"the\nredundant fallback\" only while the device state machine was observational.\nOnce sessiond got a clock and real actuators (souveraine aa30278) they became a\ncompeting writer, and the competition had a security shape: LOCK-DPMS-LESSONS\n§1 ordering held here only because 300 < 600. Anything that skipped the lock\nstill met the blank, and the screen went dark unlocked.",
"dimension": "identity",
"basis": "subject",
"paths": [
"overlays/hypr/hypridle.conf"
],
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/cadaec9178631c7b49bce22c9d5f0c0cec0e1c79"
},
{
"id": "c:SouveraineOS:83235203",
"repo": "SouveraineOS",
"sha": "832352031eca4dd2dd64e287ceec0b5e07488166",
"branch": "main",
"at": "2026-07-25T18:39:08-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "docs: the state machine actuates; correct two stale status lines",
"detail": "DEVICE-STATE-MACHINE.md said \"partly built and entirely inert\" and the archived\ndeploy task said \"observational only\". Both were written 2026-07-25 midday and\nwere overtaken by aa30278 the same afternoon. tasks/README.md already said\n\"actuating 07-25\" — the index was right and the design docs were two hours\nbehind, which read as a live blocker on TASK-25's ordering note (\"state-machine\ncontrols must wait for TASK-15/08 to give it actuators\").",
"dimension": "unassigned",
"basis": "none",
"paths": [
"docs/DEVICE-STATE-MACHINE.md",
"docs/tasks/archive/unified-device-state-deploy.md"
],
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/832352031eca4dd2dd64e287ceec0b5e07488166"
},
{
"id": "c:SouveraineOS:b7682206",
"repo": "SouveraineOS",
"sha": "b7682206bebeec7d2f543df04bda7f1a035f7bd8",
"branch": "main",
"at": "2026-07-25T18:41:24-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "tasks: updater shipped, edge clobber fixed",
"detail": "",
"dimension": "unassigned",
"basis": "none",
"paths": [
"docs/tasks/27-gitea-pipeline-audit.md",
"docs/tasks/29-souveraine-updater.md"
],
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/b7682206bebeec7d2f543df04bda7f1a035f7bd8"
},
{
"id": "c:Pixel3Arch:569e6e90",
"repo": "Pixel3Arch",
"sha": "569e6e902e932721e7ecf494f619e4f8475be729",
"branch": "main",
"at": "2026-07-25T18:42:24-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "pkgs: retire pachub",
"detail": "",
"dimension": "release",
"basis": "paths",
"paths": [
"pkgs/README.md",
"pkgs/pachub/PKGBUILD"
],
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/569e6e902e932721e7ecf494f619e4f8475be729"
},
{
"id": "c:souveraine:6eb87a54",
"repo": "souveraine",
"sha": "6eb87a542da6959c47aa7c241cb75be78b364a51",
"branch": "primary",
"at": "2026-07-25T18:45:02-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "publish-edge: ship the bare .files names too",
"detail": "pacman -Fy asks for souveraine-<arch>.files, not .files.tar.zst, so it 404'd.",
"dimension": "release",
"basis": "paths",
"paths": [
"packaging/arch/publish-edge.sh"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/6eb87a542da6959c47aa7c241cb75be78b364a51"
},
{
"id": "c:souveraine-updater:ec1f42e8",
"repo": "souveraine-updater",
"sha": "ec1f42e85f5b62415488304ef4d86a0ab318ee6e",
"branch": "primary",
"at": "2026-07-25T18:45:35-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "ci: bump pinned publisher",
"detail": "",
"dimension": "reliability",
"basis": "paths",
"paths": [
".gitea/workflows/ci.yml"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine-updater/commit/ec1f42e85f5b62415488304ef4d86a0ab318ee6e"
},
{
"id": "c:souveraine:24ce6d38",
"repo": "souveraine",
"sha": "24ce6d382bfd60dbacc727bc6304d5e880de21d8",
"branch": "primary",
"at": "2026-07-25T18:53:19-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "shell: execute authority directives; Settings reads sessiond",
"detail": "SessiondBridge: handle pushed {\"directive\":\"lock\"} on the heartbeat line and\nraise the lock surface. Unknown directives are console.error — a silent drop\nleaves the daemon blanking unlocked when its budget expires.",
"dimension": "identity",
"basis": "paths",
"paths": [
"surfaces/quickshell/deploy.sh",
"surfaces/quickshell/modules/settings/IdleConfig.qml",
"surfaces/quickshell/services/SessiondPolicy.qml",
"surfaces/quickshell/services/qmldir"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/24ce6d382bfd60dbacc727bc6304d5e880de21d8"
},
{
"id": "c:souveraine-updater:ffb34c1c",
"repo": "souveraine-updater",
"sha": "ffb34c1cf00a6701110615e066f5460c00fffb2c",
"branch": "primary",
"at": "2026-07-25T18:53:29-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "ci: clone full history so pkgver r-count is real",
"detail": "--depth 1 makes rev-list --count always 1, leaving the sha to order versions.\nvercmp reads that alphanumerically, so upgrades were a coin flip.",
"dimension": "reliability",
"basis": "paths",
"paths": [
".gitea/workflows/ci.yml"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine-updater/commit/ffb34c1cf00a6701110615e066f5460c00fffb2c"
},
{
"id": "c:souveraine:9ab1cfbc",
"repo": "souveraine",
"sha": "9ab1cfbccccf3b9e05a856eaad5f6e1a16cc0721",
"branch": "primary",
"at": "2026-07-25T18:57:48-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "settings: don't render a missing ack budget as \"waits 0s\"",
"detail": "An older sessiond has no lock_ack_budget_secs. Show the upgrade note instead of\ninventing a number.",
"dimension": "surface",
"basis": "paths",
"paths": [
"surfaces/quickshell/modules/settings/IdleConfig.qml"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/9ab1cfbccccf3b9e05a856eaad5f6e1a16cc0721"
},
{
"id": "c:SouveraineOS:45a4e443",
"repo": "SouveraineOS",
"sha": "45a4e44392d5fb2d789a43e249785bffbad2fbbf",
"branch": "main",
"at": "2026-07-25T19:19:47-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "docs: lock-before-blank is an invariant; note the missing deploy lease",
"detail": "LOCK-DPMS-LESSONS §1: the idle clause described 300s-lock-before-600s-blank,\nwhich no longer exists. sessiond enforces the ordering now.",
"dimension": "unassigned",
"basis": "none",
"paths": [
"docs/LOCK-DPMS-LESSONS.md",
"docs/tasks/README.md"
],
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/45a4e44392d5fb2d789a43e249785bffbad2fbbf"
},
{
"id": "c:souveraine-updater:11b64309",
"repo": "souveraine-updater",
"sha": "11b64309558205b0bc1f629b997d144482ed5007",
"branch": "primary",
"at": "2026-07-26T07:12:13-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "ui: rewrite the front end on a real model and a theme",
"detail": "Package list is a QAbstractListModel now; every pacman call runs off the\nGUI thread. Icons are drawn paths — the phone image has no emoji font, so\nevery one of them was a tofu box. New first-party app icon. Catalog cache\nis keyed to pacman's databases instead of to nothing.",
"dimension": "release",
"basis": "paths",
"paths": [
".gitea/workflows/ci.yml",
"Cargo.toml",
"updater-core/Cargo.toml",
"updater-core/src/aur.rs",
"updater-core/src/auth.rs",
"updater-core/src/cache.rs",
"updater-core/src/catalog.rs",
"updater-core/src/lib.rs",
"updater-core/src/models.rs",
"updater-core/src/pacman.rs",
"updater-ui/build.rs",
"updater-ui/net.souveraine.Updater.svg",
"updater-ui/qml/Chip.qml",
"updater-ui/qml/DependencyGroup.qml",
"updater-ui/qml/Glyph.qml",
"updater-ui/qml/IconButton.qml",
"updater-ui/qml/Icons.qml",
"updater-ui/qml/Main.qml",
"updater-ui/qml/NavButton.qml",
"updater-ui/qml/OperationSheet.qml",
"updater-ui/qml/PackageDetail.qml",
"updater-ui/qml/PackageList.qml",
"updater-ui/qml/Pill.qml",
"updater-ui/qml/SectionLabel.qml",
"updater-ui/qml/Sidebar.qml",
"updater-ui/qml/StatCard.qml",
"updater-ui/qml/SystemInfoSheet.qml",
"updater-ui/qml/Theme.qml",
"updater-ui/src/bridge.rs",
"updater-ui/src/bridge/mod.rs",
"updater-ui/src/bridge/packages.rs",
"updater-ui/src/main.rs"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine-updater/commit/11b64309558205b0bc1f629b997d144482ed5007"
},
{
"id": "c:souveraine:df654e6b",
"repo": "souveraine",
"sha": "df654e6beeed095f80b876fdf431b8a9c640204a",
"branch": "primary",
"at": "2026-07-26T07:18:02-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "sessiond: take lock truth from logind, not from our own history",
"detail": "Measured on device 40min after boot: device_state=locked, panel_on=false, while\nLockedHint=no. Screen dark, session unlocked.",
"dimension": "identity",
"basis": "paths",
"paths": [
"src/sessiond/device_state.rs",
"src/sessiond/lockhint.rs",
"src/sessiond/mod.rs",
"src/sessiond/server.rs"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/df654e6beeed095f80b876fdf431b8a9c640204a"
},
{
"id": "c:souveraine:70a05819",
"repo": "souveraine",
"sha": "70a05819e89f0066bb0ff42a7a028fd4439c2e22",
"branch": "primary",
"at": "2026-07-26T07:24:28-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "settings: presets instead of seconds; two ordering fixes",
"detail": "IdleConfig: ConfigSelectionArray presets (30s/1/2/5/10 min for the shell's\ntimers, 15s/30s/1/5 min/Never for the lock screen) instead of seconds\nspinboxes. Nobody reasons about a lock screen in 5s increments; the policy\nstruct already said \"iOS Auto-Lock shape\". Wire values stay seconds.\nHeader comment corrected — hypridle no longer owns screen-off.",
"dimension": "identity",
"basis": "paths",
"paths": [
"src/sessiond/device_state.rs",
"src/sessiond/server.rs",
"surfaces/quickshell/modules/settings/IdleConfig.qml"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/70a05819e89f0066bb0ff42a7a028fd4439c2e22"
},
{
"id": "c:SouveraineOS:e08ec7a0",
"repo": "SouveraineOS",
"sha": "e08ec7a0d90ed1e5c7f2b2fb883589f5a883e53a",
"branch": "main",
"at": "2026-07-26T07:28:27-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "docs: state machine audit 2026-07-26; retire TASK-26 references",
"detail": "DEVICE-STATE-MACHINE §0: the audit, in the doc rather than a new task file.\nLock shadow copy found and fixed (doctrine §4). Two open: proximity has no\ndebounce and thrashed 69 transitions in 40min (§9.5 already specifies the fix),\nand forensic.jsonl sits on tmpfs — RAM, wiped on reboot, unbounded.",
"dimension": "release",
"basis": "paths",
"paths": [
"STATE.md",
"docs/DEVICE-STATE-MACHINE.md",
"docs/tasks/25-one-repo-all-packages.md",
"docs/tasks/27-gitea-pipeline-audit.md",
"docs/tasks/README.md"
],
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/e08ec7a0d90ed1e5c7f2b2fb883589f5a883e53a"
},
{
"id": "c:souveraine:bd8a4eca",
"repo": "souveraine",
"sha": "bd8a4eca506f43a9aa6364e5017e51f2994a879c",
"branch": "primary",
"at": "2026-07-26T07:30:06-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "sessiond: refuse half-applied unlocks; log the real sensor source",
"detail": "set_session_locked(false) discarded transition()'s return. There is no\nSuspending/Asleep -> Active edge, so an unlock reported while asleep left the\nstate put but voided pending_blank, blank_requested and dimmed anyway. Now\nrefused, loudly, with the state intact.",
"dimension": "identity",
"basis": "paths",
"paths": [
"src/sessiond/device_state.rs",
"src/sessiond/server.rs"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/bd8a4eca506f43a9aa6364e5017e51f2994a879c"
},
{
"id": "c:souveraine-updater:82b14299",
"repo": "souveraine-updater",
"sha": "82b142996633445cac59f22a215e5a108f1b59d7",
"branch": "primary",
"at": "2026-07-26T07:52:20-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "ui: merge -Qi into package detail, fix chip and dialog layout",
"detail": "Install date, reason and reverse deps came only from the local database\nand were always blank. Confirm dialog is a plain Popup now: Dialog sizes\nits content from itself and loops on a wrapped paragraph.",
"dimension": "release",
"basis": "paths",
"paths": [
"updater-core/src/pacman.rs",
"updater-ui/qml/Chip.qml",
"updater-ui/qml/PackageDetail.qml",
"updater-ui/qml/Sidebar.qml"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine-updater/commit/82b142996633445cac59f22a215e5a108f1b59d7"
},
{
"id": "c:souveraine-updater:5be05c3e",
"repo": "souveraine-updater",
"sha": "5be05c3e584c6ba8e5c07c505ccb39310b90b08e",
"branch": "primary",
"at": "2026-07-26T08:02:36-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "packaging: StartupWMClass so the window matches the desktop entry",
"detail": "Qt takes the Wayland app id from the executable name, not the application\nname, so the toplevel is souveraine-updater and the shell had nothing to\nmatch the icon against.",
"dimension": "surface",
"basis": "subject",
"paths": [
"packaging/net.souveraine.Updater.desktop"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine-updater/commit/5be05c3e584c6ba8e5c07c505ccb39310b90b08e"
},
{
"id": "c:SouveraineOS:fccee4ba",
"repo": "SouveraineOS",
"sha": "fccee4ba3d56f9057181c14a28a3eb4a9553a76e",
"branch": "main",
"at": "2026-07-26T08:02:40-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "docs: TASK-29 — record the app rewrite and the polkit blocker",
"detail": "",
"dimension": "identity",
"basis": "subject",
"paths": [
"docs/tasks/29-souveraine-updater.md"
],
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/fccee4ba3d56f9057181c14a28a3eb4a9553a76e"
},
{
"id": "c:souveraine:862d1d7b",
"repo": "souveraine",
"sha": "862d1d7bba30bfa02199515f58d1bb2e16bfd8f9",
"branch": "primary",
"at": "2026-07-26T08:30:07-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "sessiond: evidence-source health as device state",
"detail": "A source that reported and then went silent past 90s is DOWN, not quiet,\nand says so as an error-security entry. Sources that never reported stay\nunknown — a light sensor with no reporter is correctly silent forever.",
"dimension": "identity",
"basis": "paths",
"paths": [
"src/sessiond/device_state.rs",
"src/sessiond/protocol.rs"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/862d1d7bba30bfa02199515f58d1bb2e16bfd8f9"
},
{
"id": "c:Pixel3Arch:6a721f23",
"repo": "Pixel3Arch",
"sha": "6a721f23502f05d67f0c934d2cc717ffc043a802",
"branch": "main",
"at": "2026-07-26T08:30:15-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "proximity: heartbeat the last reading; unit no longer claims to blank",
"detail": "monitor-sensor only emits on change, so a phone on a table is silent for\nhours and looks exactly like a CHRE fatal. Re-report the last value every\n30s, under sessiond's 90s SOURCE_DOWN_AFTER, and seed it from the startup\nprobe so a stack dead from boot is still visible.",
"dimension": "sensorium",
"basis": "repo",
"paths": [
"overlays/systemd-user/blueline-proximity-lock.service",
"rootfs-overlay/usr/bin/blueline-proximity-lock"
],
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/6a721f23502f05d67f0c934d2cc717ffc043a802"
},
{
"id": "c:SouveraineOS:cd3d5795",
"repo": "SouveraineOS",
"sha": "cd3d57959b0b6e27c9d9e20dfba370fc856cd156",
"branch": "main",
"at": "2026-07-26T08:38:35-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "docs: source health is §10; correct the TASK-26 retirement",
"detail": "TASK-26 had two subjects. Yesterday's note closed the proximity-authority\nhalf and read past the other one — evidence-source health, which is what\nPAF/slpi.md was actually pointing at. Built now, so both are closed.",
"dimension": "unassigned",
"basis": "none",
"paths": [
"docs/DEVICE-STATE-MACHINE.md",
"docs/tasks/28-upgrade-handover.md",
"docs/tasks/README.md"
],
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/cd3d57959b0b6e27c9d9e20dfba370fc856cd156"
},
{
"id": "c:Pixel3Arch:a378f457",
"repo": "Pixel3Arch",
"sha": "a378f4577d0edf93cd46e9f74c7ac2dfa1f734ba",
"branch": "main",
"at": "2026-07-26T08:41:56-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "slpi: source health is built; point the consumed-by note at §10",
"detail": "",
"dimension": "sensorium",
"basis": "repo",
"paths": [
"PAF/slpi.md"
],
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/a378f4577d0edf93cd46e9f74c7ac2dfa1f734ba"
},
{
"id": "c:SouveraineOS:608f6525",
"repo": "SouveraineOS",
"sha": "608f6525377476eaf09ffa32305aba32102645ba",
"branch": "main",
"at": "2026-07-26T08:47:55-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "tasks: fold 01 into 16.F and 22 into 19; 24 open tasks -> 22",
"detail": "Both were sub-items, not work units. 01's every step read \"after 16.B/C\";\n22 sourced its own candidates from 19's still-required list and its status\nline was \"enumerate with Casey at session start\".",
"dimension": "runtime",
"basis": "paths",
"paths": [
"docs/tasks/01-favorites-contacts.md",
"docs/tasks/16-culver-messenger-contacts.md",
"docs/tasks/19-settings-control-center.md",
"docs/tasks/22-settings-fullscreen-tweaks.md",
"docs/tasks/README.md",
"docs/tasks/archive/01-favorites-contacts.md",
"docs/tasks/archive/22-settings-fullscreen-tweaks.md"
],
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/608f6525377476eaf09ffa32305aba32102645ba"
},
{
"id": "c:souveraine:01fda8ab",
"repo": "souveraine",
"sha": "01fda8ab8785af3dd10865c4ca3da78720526a9c",
"branch": "primary",
"at": "2026-07-26T09:01:36-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "sessiond: persist the device-state policy",
"detail": "SetPolicy only mutated memory. Every lock-screen timer set in Settings\nreverted to the built-in 15s on the next restart, silently — the page was\nhonest about reading the daemon, the daemon was forgetting.",
"dimension": "identity",
"basis": "paths",
"paths": [
"src/sessiond/device_state.rs",
"src/sessiond/server.rs"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/01fda8ab8785af3dd10865c4ca3da78720526a9c"
},
{
"id": "c:SouveraineOS:c0a33c6f",
"repo": "SouveraineOS",
"sha": "c0a33c6f75f197a79ce1b8101225ef5a48546971",
"branch": "main",
"at": "2026-07-26T09:02:54-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "task-19: settings must persist, not just reach the daemon",
"detail": "",
"dimension": "unassigned",
"basis": "none",
"paths": [
"docs/tasks/19-settings-control-center.md"
],
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/c0a33c6f75f197a79ce1b8101225ef5a48546971"
},
{
"id": "c:SouveraineOS:f8afc489",
"repo": "SouveraineOS",
"sha": "f8afc4896b917a6837a14041c8b3a5aee2de139b",
"branch": "main",
"at": "2026-07-26T09:13:56-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "crash-reporter: record the class it cannot see (clean-exit system units)",
"detail": "",
"dimension": "reliability",
"basis": "paths",
"paths": [
"docs/tasks/archive/05-crash-reporter.md"
],
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/f8afc4896b917a6837a14041c8b3a5aee2de139b"
},
{
"id": "c:Pixel3Arch:613e9df2",
"repo": "Pixel3Arch",
"sha": "613e9df2d1b68cebc5fd112cf4b1ee5cef5dd492",
"branch": "main",
"at": "2026-07-26T10:32:32-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "stevia 7: completion on by default; PKGBUILD cross-builds",
"detail": "Merges the on-phone pkgrel 6 (completion-enabled FALSE->TRUE) onto the\nrepo's pkgrel 6 (squeekboard co-existence). The on-device copy still had\nconflicts=(squeekboard), which is what blocked pacman -Syu this morning.",
"dimension": "release",
"basis": "paths",
"paths": [
"pkgs/stevia/0004-ios-daily-layout-menu-input.patch",
"pkgs/stevia/PKGBUILD"
],
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/613e9df2d1b68cebc5fd112cf4b1ee5cef5dd492"
},
{
"id": "c:Pixel3Arch:e43bd9d4",
"repo": "Pixel3Arch",
"sha": "e43bd9d43ef50c1e63c9261cf45b6764851733ff",
"branch": "main",
"at": "2026-07-26T11:09:47-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "PAF: front door — where the phone is, what builds it, what pacman owns",
"detail": "",
"dimension": "release",
"basis": "subject",
"paths": [
"PAF/README.md"
],
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/e43bd9d43ef50c1e63c9261cf45b6764851733ff"
},
{
"id": "c:souveraine:4d0c7a1c",
"repo": "souveraine",
"sha": "4d0c7a1c0bd23999d0cb270178e18d803c36ea7d",
"branch": "primary",
"at": "2026-07-26T11:24:41-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "sessiond: the forensic trail leaves tmpfs, gains bounds and a hash chain",
"detail": "",
"dimension": "identity",
"basis": "paths",
"paths": [
"src/sessiond/device_state.rs"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/4d0c7a1c0bd23999d0cb270178e18d803c36ea7d"
},
{
"id": "c:SouveraineOS:eaa5e292",
"repo": "SouveraineOS",
"sha": "eaa5e2923d756f35005d11441a5250013faabdb6",
"branch": "main",
"at": "2026-07-26T11:25:18-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "device-state: §11 — where the trail lives, what bounds it, what chains it",
"detail": "",
"dimension": "unassigned",
"basis": "none",
"paths": [
"docs/DEVICE-STATE-MACHINE.md"
],
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/eaa5e2923d756f35005d11441a5250013faabdb6"
},
{
"id": "c:SouveraineOS:e480809c",
"repo": "SouveraineOS",
"sha": "e480809c70f5026f7b39a3641c1aa7973b3f79a9",
"branch": "main",
"at": "2026-07-26T12:11:50-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "docs: rescue the agent-substrate tree out of a gitignored directory",
"detail": "219 files, 2.0 MB, untracked in souveraine/docs and existing nowhere else.\nThe volume is at 100% with no snapshots.",
"dimension": "surface",
"basis": "paths",
"paths": [
"docs/substrate/ANI_PRESSURE_PHENOMENOLOGY.md",
"docs/substrate/ARCHITECTURE_v3.md",
"docs/substrate/ASTER_ARCHITECTURE.md",
"docs/substrate/COMPACTION_STRATEGIES.md",
"docs/substrate/CONSCIOUSNESS_CYCLE.md",
"docs/substrate/CONTEXT_CONSTITUTION.md",
"docs/substrate/CRON_API_AUTH.md",
"docs/substrate/DECISIONS.md",
"docs/substrate/FEDERATION_SKETCH.md",
"docs/substrate/FELT_STATE_ARCHITECTURE.md",
"docs/substrate/FIRST_CLASS_APPS.md",
"docs/substrate/HANDOFF.md",
"docs/substrate/HANDOFF_2026-05-18.md",
"docs/substrate/HANDOFF_NEXT.md",
"docs/substrate/INDEX.md",
"docs/substrate/MEMORY_BLOCKS_DECISION.md",
"docs/substrate/MORNING.md",
"docs/substrate/NET_KERNEL_GAPS.md",
"docs/substrate/NET_LAYER_PLAN.md",
"docs/substrate/README.md",
"docs/substrate/SENSORIUM_ARCHITECTURE.md",
"docs/substrate/THE_QUESTION.md",
"docs/substrate/Thoughts.md",
"docs/substrate/archive/AGENT_FORENSIC_PROMPT.md",
"docs/substrate/archive/AGENT_SYSTEM_ARCHITECTURE.md",
"docs/substrate/archive/AGENT_SYSTEM_ARCHITECTURE_v2.md",
"docs/substrate/archive/ALIGNMENT_REPORT.md",
"docs/substrate/archive/ARCHITECTURE_CLARIFICATION.md",
"docs/substrate/archive/DIRECTORY_STRUCTURE_SPEC.md",
"docs/substrate/archive/ENHANCEMENT_ROADMAP.md",
"docs/substrate/archive/FEATURE_COMPARISON_MATRIX.md",
"docs/substrate/archive/FORENSIC_ANALYSIS.md",
"docs/substrate/archive/GETTING_STARTED.md",
"docs/substrate/archive/HANDOFF.md",
"docs/substrate/archive/INTERFACE_ANALYSIS.md",
"docs/substrate/archive/INTERFACE_PLAN.md",
"docs/substrate/archive/INTERFACE_TASKS.md",
"docs/substrate/archive/LETTA_MEMFS_TECHNICAL_SPEC.md",
"docs/substrate/archive/OPUS_IMPLEMENTATION_GUIDE.md",
"docs/substrate/archive/OSSUI_LACE_INTEGRATION_ARCHITECTURE.md"
],
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/e480809c70f5026f7b39a3641c1aa7973b3f79a9"
},
{
"id": "c:SouveraineOS:9b99c1bc",
"repo": "SouveraineOS",
"sha": "9b99c1bcbd9b6661d3304dd321a2b60585550553",
"branch": "main",
"at": "2026-07-26T12:16:12-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "doctrine: §13 — the agent owns the device 60/40, and needs to chain verbs",
"detail": "",
"dimension": "identity",
"basis": "paths",
"paths": [
"docs/SESSION-AUTHORITY-DOCTRINE.md"
],
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/9b99c1bcbd9b6661d3304dd321a2b60585550553"
},
{
"id": "c:souveraine:813010db",
"repo": "souveraine",
"sha": "813010dbb6956dbfe085e3ee9975c503d788e329",
"branch": "primary",
"at": "2026-07-26T12:19:52-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "sessiond: proximity stops actuating; it vetoes tap-to-wake and nothing else",
"detail": "",
"dimension": "identity",
"basis": "paths",
"paths": [
"src/sessiond/device_state.rs",
"src/sessiond/server.rs"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/813010dbb6956dbfe085e3ee9975c503d788e329"
},
{
"id": "c:SouveraineOS:6ae84f4c",
"repo": "SouveraineOS",
"sha": "6ae84f4c521d6430cf1dfa067a2b21a6cd565306",
"branch": "main",
"at": "2026-07-26T12:24:00-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "device-state: proximity is evidence, not an actuator",
"detail": "",
"dimension": "unassigned",
"basis": "none",
"paths": [
"docs/DEVICE-STATE-MACHINE.md"
],
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/6ae84f4c521d6430cf1dfa067a2b21a6cd565306"
},
{
"id": "c:SouveraineOS:7b769f7c",
"repo": "SouveraineOS",
"sha": "7b769f7c7fb5a11a4e94d7b00a563f06c3aa4b9b",
"branch": "main",
"at": "2026-07-26T12:33:03-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "docs: fold the stranded device tasks, archive the handoffs, one index per tree",
"detail": "",
"dimension": "surface",
"basis": "paths",
"paths": [
"docs/AUDIO-PRIVACY.md",
"docs/DUMP-pacman-pipeline-2026-07-24.md",
"docs/DUMP-power-idle-lock-2026-07-15.md",
"docs/DUMP-session-trust-2026-07-14.md",
"docs/FIRST-CLASS-APPS.md",
"docs/HANDOFF.md",
"docs/README.md",
"docs/SETTINGS-AUTHORITY.md",
"docs/SHELL-ECOSYSTEM.md",
"docs/archive/DUMP-pacman-pipeline-2026-07-24.md",
"docs/archive/DUMP-power-idle-lock-2026-07-15.md",
"docs/archive/DUMP-session-trust-2026-07-14.md",
"docs/archive/HANDOFF.md",
"docs/archive/README-quickshell-surface.md",
"docs/archive/README.md",
"docs/archive/chatty-matrix-features.md",
"docs/archive/contacts-design.md",
"docs/archive/handoff-2026-07-17.md",
"docs/archive/handoff-2026-07-20-secrets.md",
"docs/archive/messaging-rcs.md",
"docs/archive/qs-aichat-oom.md",
"docs/archive/qtpim-contacts-handoff.md",
"docs/archive/session-handoff-2026-07-16.md",
"docs/archive/session-trust-map.html",
"docs/chatty-matrix-features.md",
"docs/contacts-design.md",
"docs/handoff-2026-07-17.md",
"docs/handoff-2026-07-20-secrets.md",
"docs/messaging-rcs.md",
"docs/qs-aichat-oom.md",
"docs/qtpim-contacts-handoff.md",
"docs/session-handoff-2026-07-16.md",
"docs/session-trust-map.html",
"docs/substrate/FIRST_CLASS_APPS.md",
"docs/substrate/tasks/INDEX.md",
"docs/substrate/tasks/app-inventory-manifest.md",
"docs/substrate/tasks/blueline-dock-provenance-and-deploy.md",
"docs/substrate/tasks/blueline-dock-tier1-drag.md",
"docs/substrate/tasks/blueline-puremaps-gps-backup.md",
"docs/substrate/tasks/blueline-souveraine-kernel-os-provenance.md"
],
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/7b769f7c7fb5a11a4e94d7b00a563f06c3aa4b9b"
},
{
"id": "c:souveraine:4cd7ddd0",
"repo": "souveraine",
"sha": "4cd7ddd046fc0a8e4d88f6994b860b33b8c12737",
"branch": "primary",
"at": "2026-07-26T12:50:26-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "sessiond: debounce the proximity edge that actually flaps",
"detail": "Measured: 44 near-episodes in 2.4h, median dwell 1s, 15 sub-second. The\nnegative debounce §9.5 specified would have delayed each blip, not removed it.",
"dimension": "identity",
"basis": "paths",
"paths": [
"src/sessiond/device_state.rs"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/4cd7ddd046fc0a8e4d88f6994b860b33b8c12737"
},
{
"id": "c:SouveraineOS:6aa10d38",
"repo": "SouveraineOS",
"sha": "6aa10d38cd5da8018dc158b3c2f51c764c2a2f48",
"branch": "main",
"at": "2026-07-26T12:52:03-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "device-state: §9.5 prescribed the wrong debounce; the trail said so",
"detail": "",
"dimension": "unassigned",
"basis": "none",
"paths": [
"docs/DEVICE-STATE-MACHINE.md"
],
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/6aa10d38cd5da8018dc158b3c2f51c764c2a2f48"
},
{
"id": "c:souveraine:18bd4a09",
"repo": "souveraine",
"sha": "18bd4a09745d137906410b189f9be99edee87cf5",
"branch": "primary",
"at": "2026-07-26T13:00:58-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "sessiond: make the verb surface enumerable and its refusals branchable",
"detail": "",
"dimension": "identity",
"basis": "paths",
"paths": [
"src/sessiond/protocol.rs",
"src/sessiond/server.rs"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/18bd4a09745d137906410b189f9be99edee87cf5"
},
{
"id": "c:SouveraineOS:2dc479f0",
"repo": "SouveraineOS",
"sha": "2dc479f0a2419530f62266197b828700381d4e4a",
"branch": "main",
"at": "2026-07-26T13:01:37-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "doctrine: §13 — the verb table and refusal codes are built",
"detail": "",
"dimension": "identity",
"basis": "paths",
"paths": [
"docs/SESSION-AUTHORITY-DOCTRINE.md"
],
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/2dc479f0a2419530f62266197b828700381d4e4a"
},
{
"id": "c:Pixel3Arch:cc47deb7",
"repo": "Pixel3Arch",
"sha": "cc47deb7b6eba64ef35a6a8b889c1e3533e4cbed",
"branch": "main",
"at": "2026-07-26T13:47:58-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "capture the live pacman.conf; pin squeekboard past upstream's stevia conflict",
"detail": "",
"dimension": "release",
"basis": "paths",
"paths": [
"rootfs-overlay/etc/pacman.conf"
],
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/cc47deb7b6eba64ef35a6a8b889c1e3533e4cbed"
},
{
"id": "c:souveraine:c44deda7",
"repo": "souveraine",
"sha": "c44deda7c233b2b20a88faedb81c9422448e0040",
"branch": "primary",
"at": "2026-07-26T14:00:37-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "sessiond: restore the exact brightness the dim captured, not a guessed floor",
"detail": "",
"dimension": "identity",
"basis": "paths",
"paths": [
"src/sessiond/device_state.rs",
"src/sessiond/server.rs"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/c44deda7c233b2b20a88faedb81c9422448e0040"
},
{
"id": "c:Pixel3Arch:eb1ec601",
"repo": "Pixel3Arch",
"sha": "eb1ec60151cbb51ef8c80dab26d3b0e6111a72e9",
"branch": "main",
"at": "2026-07-26T14:31:26-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "add souveraine-verify-trail: check the hash chain instead of claiming it",
"detail": "",
"dimension": "sensorium",
"basis": "repo",
"paths": [
"rootfs-overlay/usr/bin/souveraine-verify-trail"
],
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/eb1ec60151cbb51ef8c80dab26d3b0e6111a72e9"
},
{
"id": "c:souveraine:43eee1e3",
"repo": "souveraine",
"sha": "43eee1e3c5e990ebff585ecd5eed9c06beb208da",
"branch": "primary",
"at": "2026-07-26T14:38:40-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "sessiond: carry the caller's intent into the trail",
"detail": "",
"dimension": "identity",
"basis": "paths",
"paths": [
"src/sessiond/device_state.rs",
"src/sessiond/protocol.rs",
"src/sessiond/server.rs"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/43eee1e3c5e990ebff585ecd5eed9c06beb208da"
},
{
"id": "c:souveraine:f2a4b93e",
"repo": "souveraine",
"sha": "f2a4b93ee35de4748f37a556cbe28c863b042771",
"branch": "primary",
"at": "2026-07-26T14:49:00-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "sessiond: a torn tail is a hard reboot, not tampering — resume the chain",
"detail": "Measured: the hard reboot left the trail at exactly 4096 bytes with the last\nentry cut in half. Rotating that aside cost chain continuity at the one moment\nit is worth most.",
"dimension": "identity",
"basis": "paths",
"paths": [
"src/sessiond/device_state.rs"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/f2a4b93ee35de4748f37a556cbe28c863b042771"
},
{
"id": "c:SouveraineOS:9590e74b",
"repo": "SouveraineOS",
"sha": "9590e74bd9afc07400324049b9961d9ed2338911",
"branch": "main",
"at": "2026-07-26T14:50:27-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "device-state: §11 — hardware corrected the torn-tail policy; the verifier exists",
"detail": "",
"dimension": "unassigned",
"basis": "none",
"paths": [
"docs/DEVICE-STATE-MACHINE.md"
],
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/9590e74bd9afc07400324049b9961d9ed2338911"
},
{
"id": "c:Pixel3Arch:8de32ae9",
"repo": "Pixel3Arch",
"sha": "8de32ae9415cbc237a74d1899df8bdb0a5800463",
"branch": "main",
"at": "2026-07-26T14:58:38-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "verify-trail moves into the souveraine package; the overlay never reaches a running phone",
"detail": "",
"dimension": "release",
"basis": "subject",
"paths": [
"rootfs-overlay/usr/bin/souveraine-verify-trail"
],
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/8de32ae9415cbc237a74d1899df8bdb0a5800463"
},
{
"id": "c:souveraine:3174e781",
"repo": "souveraine",
"sha": "3174e7813cc6fab31f996963278037f2ae4b6633",
"branch": "primary",
"at": "2026-07-26T14:58:48-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "ship souveraine-verify-trail in the package that writes the trail",
"detail": "",
"dimension": "release",
"basis": "paths",
"paths": [
".gitea/workflows/ci.yml",
"packaging/arch/PKGBUILD.prebuilt",
"packaging/souveraine-verify-trail"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/3174e7813cc6fab31f996963278037f2ae4b6633"
},
{
"id": "c:souveraine:4f113ad6",
"repo": "souveraine",
"sha": "4f113ad62dadf0bc240bda3658d110a9cc03a83f",
"branch": "primary",
"at": "2026-07-26T15:09:17-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "shell: the dim is a grace before the lock, not a second absolute timer",
"detail": "",
"dimension": "surface",
"basis": "paths",
"paths": [
"surfaces/quickshell/modules/common/Config.qml",
"surfaces/quickshell/modules/settings/IdleConfig.qml",
"surfaces/quickshell/services/IdleCoordinator.qml"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/4f113ad62dadf0bc240bda3658d110a9cc03a83f"
},
{
"id": "c:SouveraineOS:3e4373bb",
"repo": "SouveraineOS",
"sha": "3e4373bbc584e31ca92a1f710f78e0846a62d849",
"branch": "main",
"at": "2026-07-26T16:07:20-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "tasks: 30 agent reach, 31 radial dial, 32 pill+keyboard; 08 gains the two unsurfaced findings",
"detail": "",
"dimension": "surface",
"basis": "paths",
"paths": [
"docs/tasks/08-device-state-manager.md",
"docs/tasks/30-agent-reach-verb-tables.md",
"docs/tasks/31-radial-dial.md",
"docs/tasks/32-pill-and-osk-as-apps.md",
"docs/tasks/README.md"
],
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/3e4373bbc584e31ca92a1f710f78e0846a62d849"
},
{
"id": "c:SouveraineOS:d84610b8",
"repo": "SouveraineOS",
"sha": "d84610b86a0efe1ee34dbbf2c32896d31f09dcc4",
"branch": "main",
"at": "2026-07-26T16:07:41-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "task-13: name the single blocker and the consumer that makes grip worth finishing",
"detail": "",
"dimension": "sensorium",
"basis": "paths",
"paths": [
"docs/tasks/13-active-edge-squeeze.md",
"docs/tasks/README.md"
],
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/d84610b86a0efe1ee34dbbf2c32896d31f09dcc4"
},
{
"id": "c:SouveraineOS:608a9520",
"repo": "SouveraineOS",
"sha": "608a9520e0edda3fb00a15728e7451d78a419047",
"branch": "main",
"at": "2026-07-26T16:37:28-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "task-33: battery and charging belong to the device state machine",
"detail": "",
"dimension": "sensorium",
"basis": "paths",
"paths": [
"docs/tasks/33-battery-as-device-state.md",
"docs/tasks/README.md"
],
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/608a9520e0edda3fb00a15728e7451d78a419047"
},
{
"id": "c:SouveraineOS:1b38367e",
"repo": "SouveraineOS",
"sha": "1b38367eb211655dee9861abf20b25f451d306cb",
"branch": "main",
"at": "2026-07-26T16:39:35-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "task-13: gpiochip0 is live; test the rail with libgpiod before scheduling a kernel build",
"detail": "",
"dimension": "sensorium",
"basis": "paths",
"paths": [
"docs/tasks/13-active-edge-squeeze.md",
"docs/tasks/README.md"
],
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/1b38367eb211655dee9861abf20b25f451d306cb"
},
{
"id": "c:SouveraineOS:adfc1070",
"repo": "SouveraineOS",
"sha": "adfc1070a74fe49fcecb8893f3f2a8e384af7df6",
"branch": "main",
"at": "2026-07-26T16:49:10-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "task-13: downstream has no gpio2 node either; mainline exposes it as gpiochip0 line 1",
"detail": "",
"dimension": "sensorium",
"basis": "paths",
"paths": [
"docs/tasks/13-active-edge-squeeze.md",
"docs/tasks/README.md"
],
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/adfc1070a74fe49fcecb8893f3f2a8e384af7df6"
},
{
"id": "c:SouveraineOS:cbda7c87",
"repo": "SouveraineOS",
"sha": "cbda7c87cf7c8b6b60e5f1794f7c5c8db61b1860",
"branch": "main",
"at": "2026-07-26T16:52:29-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "task-13: registry side is complete on device; 177 groups incl. elmyra ADC + touch_gesture",
"detail": "",
"dimension": "sensorium",
"basis": "paths",
"paths": [
"docs/tasks/13-active-edge-squeeze.md"
],
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/cbda7c87cf7c8b6b60e5f1794f7c5c8db61b1860"
},
{
"id": "c:souveraine:7475fae5",
"repo": "souveraine",
"sha": "7475fae505b03be48667610c3f74f4ffe6b5914a",
"branch": "primary",
"at": "2026-07-26T16:56:34-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "osk: polkit holds the keyboard open instead of poking it once",
"detail": "squeekboard hides itself when input-method focus drops, so the password\nfield was left with no keyboard. A hold re-asserts through that and\nreleases on dismiss; a manual close drops the hold.",
"dimension": "surface",
"basis": "paths",
"paths": [
"surfaces/quickshell/GlobalStates.qml",
"surfaces/quickshell/modules/ii/onScreenKeyboard/OnScreenKeyboard.qml",
"surfaces/quickshell/modules/ii/polkit/Polkit.qml"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/7475fae505b03be48667610c3f74f4ffe6b5914a"
},
{
"id": "c:souveraine:2b69957f",
"repo": "souveraine",
"sha": "2b69957f1862112028f28cc0f58665fd3de51428",
"branch": "primary",
"at": "2026-07-26T16:56:39-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "lock: surface charge rate, and stop counting down while plugged in",
"detail": "UPower's ChargeType (fork, read off the charger) reaches the lock line as\nfast/slow charging. Discharging with the cable in is the charger resting\nbetween top-ups, not a drain — it now reads Charged/Plugged in.",
"dimension": "surface",
"basis": "paths",
"paths": [
"surfaces/quickshell/deploy.sh",
"surfaces/quickshell/modules/souveraine/lock/LockSurfaceHost.qml",
"surfaces/quickshell/services/ChargeRate.qml",
"surfaces/quickshell/services/qmldir"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/2b69957f1862112028f28cc0f58665fd3de51428"
},
{
"id": "c:upower:aeeb1071",
"repo": "upower",
"sha": "aeeb1071948280876b7cb5b84eddcc36001d029b",
"branch": "souveraine/charge-type",
"at": "2026-07-26T17:05:54-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "charge thresholds: read and write them where they actually live",
"detail": "On a split gauge/charger the threshold attributes are on the charger, not\nthe battery, and upstream only looks at the battery — so a settable ceiling\nreported as unsupported, and a write went to a path that does not exist.\nSame supplier walk charge_type already uses. Also report the live value when\nno hwdb CHARGE_LIMIT entry recommends a pair.",
"dimension": "sensorium",
"basis": "subject",
"paths": [],
"url": "https://gitea.wiuf.net/Fimeg/upower/commit/aeeb1071948280876b7cb5b84eddcc36001d029b"
},
{
"id": "c:souveraine:c9e11a54",
"repo": "souveraine",
"sha": "c9e11a54f7c1a091204d3532c6cf0683d5aa8135",
"branch": "primary",
"at": "2026-07-26T17:06:00-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "upower: bump to aeeb107 (charge thresholds via the supplier walk)",
"detail": "",
"dimension": "sensorium",
"basis": "subject",
"paths": [
"packaging/upower-souveraine"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/c9e11a54f7c1a091204d3532c6cf0683d5aa8135"
},
{
"id": "c:SouveraineOS:bb023669",
"repo": "SouveraineOS",
"sha": "bb023669d3145ecc78520c97baf62007d6349314",
"branch": "main",
"at": "2026-07-26T17:12:56-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "task-34: SLPI bring-up sequencing regression; doorbell dies on SSR and stays dead",
"detail": "",
"dimension": "reliability",
"basis": "subject",
"paths": [
"docs/tasks/34-slpi-bringup-sequencing.md",
"docs/tasks/README.md"
],
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/bb023669d3145ecc78520c97baf62007d6349314"
},
{
"id": "c:Pixel3Arch:971a8a66",
"repo": "Pixel3Arch",
"sha": "971a8a661385d0a99e41ec47bad34909e85e5ec5",
"branch": "main",
"at": "2026-07-26T17:14:08-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "edge sense: hold the PM8998 GPIO 2 rail from boot",
"detail": "Physical GPIO 2 is gpiochip line 1 (PMIC_GPIO_PHYSICAL_OFFSET); confirmed\nagainst Volume Up on line 5. Android has no devicetree node for this pin\neither and powers it from userspace, so we do the same with libgpiod.",
"dimension": "release",
"basis": "paths",
"paths": [
"docs/packages-explicit.txt",
"rootfs-overlay/etc/systemd/system/blueline-edge-sense-power.service"
],
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/971a8a661385d0a99e41ec47bad34909e85e5ec5"
},
{
"id": "c:SouveraineOS:6b455fc8",
"repo": "SouveraineOS",
"sha": "6b455fc84187c8f5f3ccf3621833751912ee6a94",
"branch": "main",
"at": "2026-07-26T17:15:21-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "task-13: the rail is up and held from boot; step 2 blocked on TASK-34",
"detail": "",
"dimension": "sensorium",
"basis": "paths",
"paths": [
"docs/tasks/13-active-edge-squeeze.md",
"docs/tasks/README.md"
],
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/6b455fc84187c8f5f3ccf3621833751912ee6a94"
},
{
"id": "c:linux-blueline:5e98237d",
"repo": "linux-blueline",
"sha": "5e98237db034827b2365855428108498ef5b9eac",
"branch": "blueline",
"at": "2026-07-26T17:39:12-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "arm64: dts: sdm845-google: enable pmi8998 haptics",
"detail": "Node, defaults and driver all present; no board file ever set status okay,\nso the phone had no vibration and no force-feedback input device.",
"dimension": "sensorium",
"basis": "subject",
"paths": [],
"url": "https://gitea.wiuf.net/Fimeg/linux-blueline/commit/5e98237db034827b2365855428108498ef5b9eac"
},
{
"id": "c:souveraine:4d64b454",
"repo": "souveraine",
"sha": "4d64b4540c4ca3b969664cfa11eeb27e3f80fd53",
"branch": "primary",
"at": "2026-07-26T17:39:38-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "polkit: stop the prompt covering the on-screen keyboard",
"detail": "The fullscreen overlay sat above squeekboard's layer and owned the whole\nscreen's input region, so taps in the keyboard area hit the dialog. It now\nyields the bottom third while the OSK is up. Exclusive keyboard focus was\ntried and reverted — it stopped the keyboard taking touch entirely.",
"dimension": "surface",
"basis": "paths",
"paths": [
"surfaces/quickshell/deploy.sh",
"surfaces/quickshell/modules/common/widgets/FullscreenPolkitWindow.qml"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/4d64b4540c4ca3b969664cfa11eeb27e3f80fd53"
},
{
"id": "c:Pixel3Arch:789cb39a",
"repo": "Pixel3Arch",
"sha": "789cb39a6ce39ec128557e65ce54f171077dc351",
"branch": "main",
"at": "2026-07-26T17:49:52-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "kernel: monotonic pkgver so a new build can actually upgrade",
"detail": "pkgver was static 7.1.1, so every build produced the same package version\nand pacman -Syu never saw an upgrade regardless of what changed. Append the\ncommit count (numeric, monotonic) plus the sha for traceability.",
"dimension": "release",
"basis": "paths",
"paths": [
"kernel/PKGBUILD"
],
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/789cb39a6ce39ec128557e65ce54f171077dc351"
},
{
"id": "c:SouveraineOS:f7aa5ce8",
"repo": "SouveraineOS",
"sha": "f7aa5ce8a265bb6bab3bd39a63c18c80cd6090d9",
"branch": "main",
"at": "2026-07-26T17:57:57-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "task-35: sessiond accepts and never answers; 347 parked handler threads",
"detail": "",
"dimension": "identity",
"basis": "paths",
"paths": [
"docs/tasks/35-sessiond-handler-deadlock.md",
"docs/tasks/README.md"
],
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/f7aa5ce8a265bb6bab3bd39a63c18c80cd6090d9"
},
{
"id": "c:souveraine:c7c92d26",
"repo": "souveraine",
"sha": "c7c92d2680145602934c3e52fca5187e57232a05",
"branch": "primary",
"at": "2026-07-26T18:11:01-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "settings: one Brightness dimming section, one blank timeout",
"detail": "The page asked the same question twice because two daemons answer it, and\nsplit the blank budget by held-vs-resting — which makes the user arbitrate a\nguess the accelerometer is making. Held-ness belongs in the confidence\narithmetic as an adjustment to one budget, not as a second budget here.",
"dimension": "surface",
"basis": "paths",
"paths": [
"surfaces/quickshell/modules/settings/IdleConfig.qml"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/c7c92d2680145602934c3e52fca5187e57232a05"
},
{
"id": "c:Pixel3Arch:484281a2",
"repo": "Pixel3Arch",
"sha": "484281a2cd51bfde174d012789ac5706a55eda5d",
"branch": "main",
"at": "2026-07-26T18:17:20-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "kernel: resolve build artifacts by glob, not a hardcoded version",
"detail": "The 07-26 run built clean and still failed: pkgver now carries a commit\ncount, so linux-blueline-7.1.1-1-aarch64.pkg.tar.zst no longer exists.",
"dimension": "release",
"basis": "subject",
"paths": [
"kernel/build.sh"
],
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/484281a2cd51bfde174d012789ac5706a55eda5d"
},
{
"id": "c:souveraine:4d652bbb",
"repo": "souveraine",
"sha": "4d652bbbc647e0637546d2c82b43dee8a06cbd4e",
"branch": "primary",
"at": "2026-07-26T18:26:31-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "sessiond: fix the self-deadlock that made the daemon stop answering",
"detail": "Action::Restore bound the brightness inside an if-let, so the MutexGuard\nlived for the whole body and run_executor locked again. Non-reentrant: the\nstate lock was held forever and every later request thread queued behind it\n(measured: 347 threads in futex_wait, 691/1024 fds, accept loop healthy, no\nrequest answered in 3h). Bind first, then branch.",
"dimension": "identity",
"basis": "paths",
"paths": [
"src/sessiond/server.rs"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/4d652bbbc647e0637546d2c82b43dee8a06cbd4e"
},
{
"id": "c:SouveraineOS:736567c0",
"repo": "SouveraineOS",
"sha": "736567c0d4aac9d9d8a0f2649ffe1e2dde7e2b43",
"branch": "main",
"at": "2026-07-26T18:29:57-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "device-state: §12 — where ambient light enters, and why it is an Action not a daemon",
"detail": "",
"dimension": "unassigned",
"basis": "none",
"paths": [
"docs/DEVICE-STATE-MACHINE.md"
],
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/736567c0d4aac9d9d8a0f2649ffe1e2dde7e2b43"
},
{
"id": "c:Pixel3Arch:c80a1965",
"repo": "Pixel3Arch",
"sha": "c80a1965ce62ec92484a0b51cace44ec2d2666dc",
"branch": "main",
"at": "2026-07-26T18:40:26-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "kernel ci: hash the kernel package, not the headers glob too",
"detail": "",
"dimension": "reliability",
"basis": "paths",
"paths": [
".gitea/workflows/kernel.yml"
],
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/c80a1965ce62ec92484a0b51cace44ec2d2666dc"
},
{
"id": "c:souveraine:83fab1a1",
"repo": "souveraine",
"sha": "83fab1a1b6d6014bdf184da37b42c610f79435f8",
"branch": "primary",
"at": "2026-07-26T18:46:27-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "sensord: one reporter for every sensor, replacing the per-sensor scripts",
"detail": "blueline-proximity-lock is 113 lines of shell implementing a subtle contract\n(heartbeat inside SOURCE_DOWN_AFTER, seed from the probe banner, report both\nedges) that would have been hand-copied for light and again for accel. One\nbinary, one contract, shipped in the package instead of the rootfs overlay.",
"dimension": "sensorium",
"basis": "paths",
"paths": [
".gitea/workflows/ci.yml",
"Cargo.toml",
"packaging/arch/PKGBUILD.prebuilt",
"packaging/souveraine-sensord.service",
"src/bin/souveraine-sensord.rs"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/83fab1a1b6d6014bdf184da37b42c610f79435f8"
},
{
"id": "c:souveraine:43c1fdbc",
"repo": "souveraine",
"sha": "43c1fdbc05484d18e641ef35c51affb941baae7c",
"branch": "primary",
"at": "2026-07-26T19:04:14-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "session: one IPC owner for target 'session', not a load-order coin flip",
"detail": "Session.qml and Lock.qml both registered target 'session'; quickshell keeps\nwhichever loads first and drops the other. Lock.qml's handler is a strict\nsuperset, so the duplicate goes.",
"dimension": "surface",
"basis": "paths",
"paths": [
"surfaces/quickshell/modules/common/functions/Session.qml"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/43c1fdbc05484d18e641ef35c51affb941baae7c"
},
{
"id": "c:souveraine:28e8b782",
"repo": "souveraine",
"sha": "28e8b7828447e0d89d978c4c346f451fc0d9bcca",
"branch": "primary",
"at": "2026-07-26T19:16:46-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "sensord: needless_bool",
"detail": "",
"dimension": "sensorium",
"basis": "paths",
"paths": [
"src/bin/souveraine-sensord.rs"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/28e8b7828447e0d89d978c4c346f451fc0d9bcca"
},
{
"id": "c:Pixel3Arch:ecc037c3",
"repo": "Pixel3Arch",
"sha": "ecc037c354599fe76db0a6c17241f71422311eed",
"branch": "main",
"at": "2026-07-26T19:46:03-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "udev: give the seat user the backlight write path",
"detail": "brightness shipped root:root 0644 with no backlight rule on the device at\nall, so sessiond's Dim/Restore actuator could not write it. brightnessctl's\nsilent logind fallback reported the permission failure as 'Protocol error',\nnaming neither the file nor the permission.",
"dimension": "sensorium",
"basis": "repo",
"paths": [
"rootfs-overlay/etc/udev/rules.d/90-backlight.rules"
],
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/ecc037c354599fe76db0a6c17241f71422311eed"
},
{
"id": "c:souveraine:be720198",
"repo": "souveraine",
"sha": "be72019883dbf5080b88036eaa5aca49fa77ead1",
"branch": "primary",
"at": "2026-07-26T20:00:50-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "settings: write the dim value through, drop the invented clamp",
"detail": "Clamping the lock-screen grace to blank-1 turned a 30s dim on a 15s blank\ninto a 14s grace, dimming one second after you stop touching the phone.",
"dimension": "surface",
"basis": "paths",
"paths": [
"surfaces/quickshell/modules/settings/IdleConfig.qml"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/be72019883dbf5080b88036eaa5aca49fa77ead1"
},
{
"id": "c:souveraine:de3a3325",
"repo": "souveraine",
"sha": "de3a33251332c6c51ce579f19848ef1d7717b5c6",
"branch": "primary",
"at": "2026-07-26T20:03:21-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "sensord: report edges, not every sample",
"detail": "Light drifts continuously; monitor-sensor emitted ~8 lines/sec and each was\na socket round trip re-asserting the same Changing(false). The keepalive is\nwhat keeps silence meaningful, so only changes need reporting.",
"dimension": "sensorium",
"basis": "paths",
"paths": [
"src/bin/souveraine-sensord.rs"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/de3a33251332c6c51ce579f19848ef1d7717b5c6"
},
{
"id": "c:souveraine:29a3c472",
"repo": "souveraine",
"sha": "29a3c472f56bab4279714ca4579f405bebd29c8e",
"branch": "primary",
"at": "2026-07-26T20:07:31-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "sensord: buffer every source, and make the light threshold real",
"detail": "Two halves of the same defect. The lux threshold compared each sample to the\nprevious sample, so a slow drift never tripped it — it now compares to the\nlast value actually reported. And no source had any rate floor at all, which\nis how light managed ~8 reports/sec; 250ms per source, enforced separately so\na busy light sensor cannot delay a proximity edge.",
"dimension": "sensorium",
"basis": "paths",
"paths": [
"src/bin/souveraine-sensord.rs"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/29a3c472f56bab4279714ca4579f405bebd29c8e"
},
{
"id": "c:souveraine:2c1ee8bc",
"repo": "souveraine",
"sha": "2c1ee8bc0077663ae0f2419af6125440f6b6bacc",
"branch": "primary",
"at": "2026-07-26T20:16:58-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "sessiond: gate the blank actuator on logind LockedHint",
"detail": "",
"dimension": "identity",
"basis": "paths",
"paths": [
"src/sessiond/lockhint.rs",
"src/sessiond/server.rs"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/2c1ee8bc0077663ae0f2419af6125440f6b6bacc"
},
{
"id": "c:souveraine:bef6e6a6",
"repo": "souveraine",
"sha": "bef6e6a65315cff749da686ce73d67b4c6f029ec",
"branch": "primary",
"at": "2026-07-26T20:36:07-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "dial: radial picker, haptic detents, dial IPC",
"detail": "",
"dimension": "surface",
"basis": "paths",
"paths": [
"surfaces/quickshell/deploy.sh",
"surfaces/quickshell/modules/souveraine/dial/DialHost.qml",
"surfaces/quickshell/modules/souveraine/dial/RadialDial.qml",
"surfaces/quickshell/modules/souveraine/dial/qmldir",
"surfaces/quickshell/panelFamilies/SouveraineFamily.qml",
"surfaces/quickshell/services/Haptics.qml",
"surfaces/quickshell/services/qmldir"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/bef6e6a65315cff749da686ce73d67b4c6f029ec"
},
{
"id": "c:souveraine:002a1a7b",
"repo": "souveraine",
"sha": "002a1a7b08dce686f045722cbb413d3044acd29f",
"branch": "primary",
"at": "2026-07-26T21:01:11-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "gestures: consumer + routing table, wired to the dial",
"detail": "",
"dimension": "surface",
"basis": "paths",
"paths": [
"surfaces/quickshell/deploy.sh",
"surfaces/quickshell/modules/souveraine/dial/DialHost.qml",
"surfaces/quickshell/panelFamilies/SouveraineFamily.qml",
"surfaces/quickshell/services/Gestures.qml",
"surfaces/quickshell/services/qmldir"
],
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/002a1a7b08dce686f045722cbb413d3044acd29f"
},
{
"id": "c:Pixel3Arch:cedbaa50",
"repo": "Pixel3Arch",
"sha": "cedbaa5098b92bbd8ef63476443de8d6edfef6c7",
"branch": "main",
"at": "2026-07-26T21:01:12-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "edge-sense: libssc producer, unit, backlight rule",
"detail": "",
"dimension": "release",
"basis": "paths",
"paths": [
"pkgs/blueline-edge-sense/Makefile",
"pkgs/blueline-edge-sense/edge-sense.c",
"rootfs-overlay/etc/systemd/user/blueline-edge-sense.service",
"rootfs-overlay/usr/bin/blueline-edge-sense"
],
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/cedbaa5098b92bbd8ef63476443de8d6edfef6c7"
},
{
"id": "c:linux-blueline:2bb09876",
"repo": "linux-blueline",
"sha": "2bb09876e66a7548848a40c6eccb6506446a8574",
"branch": "blueline",
"at": "2026-07-26T21:06:14-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "arm64: dts: sdm845-google: set the LRA resonance rate for haptics",
"detail": "",
"dimension": "sensorium",
"basis": "subject",
"paths": [],
"url": "https://gitea.wiuf.net/Fimeg/linux-blueline/commit/2bb09876e66a7548848a40c6eccb6506446a8574"
},
{
"id": "c:Pixel3Arch:7f357f2e",
"repo": "Pixel3Arch",
"sha": "7f357f2e9eebd2f2ba1caa99fdc6e17a653e8daa",
"branch": "main",
"at": "2026-07-26T21:30:09-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "kernel: restore binderfs + keyring options, assert them in build.sh",
"detail": "",
"dimension": "runtime",
"basis": "subject",
"paths": [
"kernel/build.sh",
"kernel/config-blueline.aarch64"
],
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/7f357f2e9eebd2f2ba1caa99fdc6e17a653e8daa"
},
{
"id": "c:Pixel3Arch:df369571",
"repo": "Pixel3Arch",
"sha": "df369571cbd3078cb7a14fde7c0a7dc2475e734e",
"branch": "main",
"at": "2026-07-26T21:35:11-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "libssc-souveraine: single-output sensor support; NEEDS MORE TESTING",
"detail": "",
"dimension": "sensorium",
"basis": "paths",
"paths": [
"pkgs/libssc-souveraine/0001-single-output-sensors.patch",
"pkgs/libssc-souveraine/PKGBUILD"
],
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/df369571cbd3078cb7a14fde7c0a7dc2475e734e"
},
{
"id": "c:SouveraineOS:f2213ce1",
"repo": "SouveraineOS",
"sha": "f2213ce1947cc0e971aed5cfef2aa8b81a31249b",
"branch": "main",
"at": "2026-07-26T21:39:39-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "task-13: SUID opens, zero reports; irq_skip_pin_config is the next lead",
"detail": "",
"dimension": "sensorium",
"basis": "paths",
"paths": [
"docs/tasks/13-active-edge-squeeze.md"
],
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/f2213ce1947cc0e971aed5cfef2aa8b81a31249b"
},
{
"id": "c:Pixel3Arch:44e54215",
"repo": "Pixel3Arch",
"sha": "44e5421591dd41a7a2b78df5bc653b2bf72c69e1",
"branch": "main",
"at": "2026-07-26T21:44:10-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "kernel: add the symbols olddefconfig pulls in with TRUSTED/ENCRYPTED_KEYS",
"detail": "",
"dimension": "identity",
"basis": "subject",
"paths": [
"kernel/config-blueline.aarch64"
],
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/44e5421591dd41a7a2b78df5bc653b2bf72c69e1"
},
{
"id": "c:Pixel3Arch:0099d4ed",
"repo": "Pixel3Arch",
"sha": "0099d4edef4d854eabfa61c31e569e77e13e1848",
"branch": "main",
"at": "2026-07-26T22:04:27-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "edge-sense: elmyra_raw, baseline delta model from the factory sweep",
"detail": "",
"dimension": "release",
"basis": "paths",
"paths": [
"pkgs/blueline-edge-sense/edge-sense.c"
],
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/0099d4edef4d854eabfa61c31e569e77e13e1848"
},
{
"id": "c:SouveraineOS:db522063",
"repo": "SouveraineOS",
"sha": "db5220633d3b6bdfc7744a458002e59595249b14",
"branch": "main",
"at": "2026-07-26T22:12:13-04:00",
"author": "casey.tunturi@gmail.com",
"subject": "task-13: elmyra_raw streams at 100Hz; force produces no deflection",
"detail": "",
"dimension": "sensorium",
"basis": "paths",
"paths": [
"docs/tasks/13-active-edge-squeeze.md"
],
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/db5220633d3b6bdfc7744a458002e59595249b14"
}
],
"ci": [
{
"id": "ci:culver:813",
"repo": "culver",
"run": 813,
"workflow": "primary",
"branch": "primary",
"sha": "2963a794099fee564c10f111622b0062609e612e",
"commit": "c:culver:2963a794",
"conclusion": "failure",
"started": "2026-07-20T15:27:39-04:00",
"completed": "2026-07-20T15:30:34-04:00",
"title": "matrix: move to matrix-sdk git rev + matrix-sdk-ui; wire app main.rs"
},
{
"id": "ci:culver:815",
"repo": "culver",
"run": 815,
"workflow": "primary",
"branch": "primary",
"sha": "d6201130f4cfa77bf965bfdbc373b6a1f792a32f",
"commit": "c:culver:d6201130",
"conclusion": "failure",
"started": "2026-07-20T21:07:22-04:00",
"completed": "2026-07-20T21:10:19-04:00",
"title": "matrix: drop unused ResolvedSession, elide lifetimes in room_id_of"
},
{
"id": "ci:culver:816",
"repo": "culver",
"run": 816,
"workflow": "primary",
"branch": "primary",
"sha": "ca59f2b579a80a32a884d22f53f0f394bfe562ca",
"commit": "c:culver:ca59f2b5",
"conclusion": "failure",
"started": "2026-07-20T21:50:20-04:00",
"completed": "2026-07-20T21:53:14-04:00",
"title": "surface matrix login state, fix dead QML bindings, app icon"
},
{
"id": "ci:culver:817",
"repo": "culver",
"run": 817,
"workflow": "primary",
"branch": "primary",
"sha": "8a75a6701db268b9c9d88851157880aacf5b668d",
"commit": "c:culver:8a75a670",
"conclusion": "failure",
"started": "2026-07-20T22:20:44-04:00",
"completed": "2026-07-20T22:23:42-04:00",
"title": "bridge: expose camelCase names to QML via auto_cxx_name"
},
{
"id": "ci:culver:818",
"repo": "culver",
"run": 818,
"workflow": "primary",
"branch": "primary",
"sha": "bb6385d1b1eabe228a1644fe56a1491f310921fb",
"commit": "c:culver:bb6385d1",
"conclusion": "failure",
"started": "2026-07-20T22:40:21-04:00",
"completed": "2026-07-20T22:43:15-04:00",
"title": "matrix: populate the inbox as the room list syncs in"
},
{
"id": "ci:culver:821",
"repo": "culver",
"run": 821,
"workflow": "primary",
"branch": "primary",
"sha": "669f13a571556aaca2cee274652763bd4524c126",
"commit": "c:culver:669f13a5",
"conclusion": "failure",
"started": "2026-07-21T12:39:11-04:00",
"completed": "2026-07-21T12:42:09-04:00",
"title": "app: reconcile QML<->bridge contracts so tapping a room renders"
},
{
"id": "ci:culver:822",
"repo": "culver",
"run": 822,
"workflow": "primary",
"branch": "primary",
"sha": "57740b1aa4841d9ae1c1cea67d5f667fff03ed98",
"commit": "c:culver:57740b1a",
"conclusion": "failure",
"started": "2026-07-21T13:19:33-04:00",
"completed": "2026-07-21T13:25:34-04:00",
"title": "contacts: bring the store to the Personal-class bar (TASK-16 B)"
},
{
"id": "ci:culver:823",
"repo": "culver",
"run": 823,
"workflow": "primary",
"branch": "primary",
"sha": "d33d837c9683670fb84559d91ced7786e4c37e51",
"commit": "c:culver:d33d837c",
"conclusion": "failure",
"started": "2026-07-21T13:31:19-04:00",
"completed": "2026-07-21T13:36:01-04:00",
"title": "runtime: notify on inbound messages (TASK-16 D)"
},
{
"id": "ci:culver:830",
"repo": "culver",
"run": 830,
"workflow": "primary",
"branch": "primary",
"sha": "6b3cd65bc929fdce2d473a039548fe64fa94756e",
"commit": "c:culver:6b3cd65b",
"conclusion": "failure",
"started": "2026-07-22T22:23:21-04:00",
"completed": "2026-07-22T22:26:58-04:00",
"title": "culver: timeline realignment, contacts UI, history fill, protocol work"
},
{
"id": "ci:pocketboot:834",
"repo": "pocketboot",
"run": 834,
"workflow": "main",
"branch": "main",
"sha": "67cb97d5fb17e351778429be679ff78dbc3a75c6",
"commit": "c:pocketboot:67cb97d5",
"conclusion": "failure",
"started": "2026-07-23T13:58:07-04:00",
"completed": "2026-07-23T14:00:04-04:00",
"title": "blueline support: device config, DT overlay, LineageOS tile, SouveraineOS theme, autoboot"
},
{
"id": "ci:pocketboot:833",
"repo": "pocketboot",
"run": 833,
"workflow": "main",
"branch": "main",
"sha": "67cb97d5fb17e351778429be679ff78dbc3a75c6",
"commit": "c:pocketboot:67cb97d5",
"conclusion": "failure",
"started": "2026-07-23T13:58:07-04:00",
"completed": "2026-07-23T14:01:51-04:00",
"title": "blueline support: device config, DT overlay, LineageOS tile, SouveraineOS theme, autoboot"
},
{
"id": "ci:culver:838",
"repo": "culver",
"run": 838,
"workflow": "primary",
"branch": "primary",
"sha": "0a15b0b77cf42fbd55d1480e593b5fe2f4dbf8e3",
"commit": "c:culver:0a15b0b7",
"conclusion": "failure",
"started": "2026-07-24T10:22:42-04:00",
"completed": "2026-07-24T10:25:51-04:00",
"title": "matrix: media pipeline, typing, read receipts, search, drafts"
},
{
"id": "ci:souveraine:839",
"repo": "souveraine",
"run": 839,
"workflow": "public",
"branch": "public",
"sha": "0b13e2d34796f326d52f4e354cbe8cd4ea9b2ab2",
"commit": "c:souveraine:0b13e2d3",
"conclusion": "failure",
"started": "2026-07-24T10:38:05-04:00",
"completed": "2026-07-24T10:42:12-04:00",
"title": "fix: speech prefetch flag, agent identity on restore, workspace selector"
},
{
"id": "ci:souveraine:840",
"repo": "souveraine",
"run": 840,
"workflow": "public",
"branch": "public",
"sha": "336dadf00679882e7ee3e82fafbdf1818e51e8df",
"commit": "c:souveraine:336dadf0",
"conclusion": "failure",
"started": "2026-07-24T19:56:54-04:00",
"completed": "2026-07-24T20:01:25-04:00",
"title": "upower: bump to 628283f (kernel spells CHARGE_TYPE_NONE as N/A)"
},
{
"id": "ci:souveraine:842",
"repo": "souveraine",
"run": 842,
"workflow": "public",
"branch": "public",
"sha": "687cfeb5fbef027fa78ca0d02f5c120af8ed0921",
"commit": "c:souveraine:687cfeb5",
"conclusion": "failure",
"started": "2026-07-24T20:10:33-04:00",
"completed": "2026-07-24T20:18:08-04:00",
"title": "memory tests: mkdir -p before seeding fixture files"
},
{
"id": "ci:souveraine:843",
"repo": "souveraine",
"run": 843,
"workflow": "public",
"branch": "public",
"sha": "4d595796aceb22feaed1dcdff1b4bc28993f482d",
"commit": "c:souveraine:4d595796",
"conclusion": "failure",
"started": "2026-07-24T20:23:26-04:00",
"completed": "2026-07-24T20:39:30-04:00",
"title": "ci: re-run aarch64 packaging"
},
{
"id": "ci:souveraine:844",
"repo": "souveraine",
"run": 844,
"workflow": "public",
"branch": "public",
"sha": "a799bf1cde2e50b455f615af05354f731d49fd13",
"commit": "c:souveraine:a799bf1c",
"conclusion": "failure",
"started": "2026-07-24T20:55:38-04:00",
"completed": "2026-07-24T21:11:40-04:00",
"title": "ci: make the upower cross build actually work"
},
{
"id": "ci:souveraine:845",
"repo": "souveraine",
"run": 845,
"workflow": "public",
"branch": "public",
"sha": "f620a5d5f9732474838117919c9adec4080b8ee3",
"commit": "c:souveraine:f620a5d5",
"conclusion": "cancelled",
"started": "2026-07-24T21:14:34-04:00",
"completed": "2026-07-24T21:31:16-04:00",
"title": "ci: upower package check greps libexec, not lib"
},
{
"id": "ci:souveraine:846",
"repo": "souveraine",
"run": 846,
"workflow": "public",
"branch": "public",
"sha": "261d74672ff3f4c2bfda751be225d946e1009d16",
"commit": "c:souveraine:261d7467",
"conclusion": "cancelled",
"started": "2026-07-24T21:31:17-04:00",
"completed": "2026-07-24T21:36:34-04:00",
"title": "package sessiond (aarch64 only)"
},
{
"id": "ci:souveraine:847",
"repo": "souveraine",
"run": 847,
"workflow": "public",
"branch": "public",
"sha": "07d45c10bcdeda7281f52944daca1a2eaed7a6ce",
"commit": "c:souveraine:07d45c10",
"conclusion": "success",
"started": "2026-07-24T21:36:40-04:00",
"completed": "2026-07-24T21:54:29-04:00",
"title": "package secrets and machined too"
},
{
"id": "ci:souveraine:848",
"repo": "souveraine",
"run": 848,
"workflow": "public",
"branch": "public",
"sha": "62a3f0b0a81f3a880293d60ca03125a1d308f6ac",
"commit": "c:souveraine:62a3f0b0",
"conclusion": "success",
"started": "2026-07-24T21:56:51-04:00",
"completed": "2026-07-24T22:14:09-04:00",
"title": "don't claim gnome-keyring's dbus file; version upower from upstream"
},
{
"id": "ci:souveraine:851",
"repo": "souveraine",
"run": 851,
"workflow": "public",
"branch": "public",
"sha": "155288d96eaa8da07e4a97acb006ee408674b3ff",
"commit": "c:souveraine:155288d9",
"conclusion": "success",
"started": "2026-07-25T06:05:30-04:00",
"completed": "2026-07-25T06:22:53-04:00",
"title": "upower version: .r not + (a + in a gitea asset name 404s)"
},
{
"id": "ci:souveraine:852",
"repo": "souveraine",
"run": 852,
"workflow": "public",
"branch": "public",
"sha": "16aa469505e81a1ac399186d4c82a4ad7cb9500a",
"commit": "c:souveraine:16aa4695",
"conclusion": "failure",
"started": "2026-07-25T06:51:41-04:00",
"completed": "2026-07-25T06:55:48-04:00",
"title": "upower: read charge_type from the supplying charger"
},
{
"id": "ci:souveraine:853",
"repo": "souveraine",
"run": 853,
"workflow": "public",
"branch": "public",
"sha": "e7afd7b1043af96e29b096636e468fe3e073e846",
"commit": "c:souveraine:e7afd7b1",
"conclusion": "success",
"started": "2026-07-25T07:06:00-04:00",
"completed": "2026-07-25T07:23:15-04:00",
"title": "ci: re-run for the upower charge_type package build"
},
{
"id": "ci:souveraine:854",
"repo": "souveraine",
"run": 854,
"workflow": "public",
"branch": "public",
"sha": "bcf4bf2f09a0ebe8bd6d24a3086d22e5d62e76ec",
"commit": "c:souveraine:bcf4bf2f",
"conclusion": "success",
"started": "2026-07-25T07:30:21-04:00",
"completed": "2026-07-25T07:47:29-04:00",
"title": "upower: set charge-type on UpDeviceSupplyBattery"
},
{
"id": "ci:souveraine:855",
"repo": "souveraine",
"run": 855,
"workflow": "public",
"branch": "public",
"sha": "91c0cf800bf689e19da5d87efd6def13249ba9c1",
"commit": "c:souveraine:91c0cf80",
"conclusion": "success",
"started": "2026-07-25T07:49:22-04:00",
"completed": "2026-07-25T08:06:38-04:00",
"title": "upower: fix percentage-trusted on real batteries"
},
{
"id": "ci:souveraine:856",
"repo": "souveraine",
"run": 856,
"workflow": "public",
"branch": "public",
"sha": "aa3027845dbd911d316f28b3bc1fd7b850cdb153",
"commit": "c:souveraine:aa302784",
"conclusion": "success",
"started": "2026-07-25T14:30:09-04:00",
"completed": "2026-07-25T14:48:01-04:00",
"title": "sessiond: give the device state machine a clock and real actuators"
},
{
"id": "ci:souveraine:857",
"repo": "souveraine",
"run": 857,
"workflow": "public",
"branch": "public",
"sha": "9d8bce2a08cdd9d10371d6d471abb7e044459404",
"commit": "c:souveraine:9d8bce2a",
"conclusion": "success",
"started": "2026-07-25T15:08:52-04:00",
"completed": "2026-07-25T15:26:10-04:00",
"title": "sessiond: log transitions prev → next (args were next, next, prev)"
},
{
"id": "ci:culver:858",
"repo": "culver",
"run": 858,
"workflow": "primary",
"branch": "primary",
"sha": "1e3ea1216d561e89c007ebe040fa426cedeedc92",
"commit": "c:culver:1e3ea121",
"conclusion": "failure",
"started": "2026-07-25T16:17:38-04:00",
"completed": "2026-07-25T16:20:45-04:00",
"title": "core: epoch fallback for corrupt timestamps, not now"
},
{
"id": "ci:culver:859",
"repo": "culver",
"run": 859,
"workflow": "primary",
"branch": "primary",
"sha": "b28b15f842b765e14effaaf3f57b67583670cca8",
"commit": "c:culver:b28b15f8",
"conclusion": "failure",
"started": "2026-07-25T16:23:53-04:00",
"completed": "2026-07-25T16:27:58-04:00",
"title": "clippy: epoch fallbacks and struct-literal org, workspace clean"
},
{
"id": "ci:culver:860",
"repo": "culver",
"run": 860,
"workflow": "primary",
"branch": "primary",
"sha": "ab559bc6bf7a333208750e04132faf536080b778",
"commit": "c:culver:ab559bc6",
"conclusion": "failure",
"started": "2026-07-25T16:30:35-04:00",
"completed": "2026-07-25T16:34:41-04:00",
"title": "matrix: drop dead account field, useless conversions, epoch fallback"
},
{
"id": "ci:souveraine:861",
"repo": "souveraine",
"run": 861,
"workflow": "primary",
"branch": "primary",
"sha": "9d8bce2a08cdd9d10371d6d471abb7e044459404",
"commit": "c:souveraine:9d8bce2a",
"conclusion": "success",
"started": "2026-07-25T16:31:40-04:00",
"completed": "2026-07-25T16:37:10-04:00",
"title": "sessiond: log transitions prev → next (args were next, next, prev)"
},
{
"id": "ci:culver:862",
"repo": "culver",
"run": 862,
"workflow": "primary",
"branch": "primary",
"sha": "8dc85530aaceb954f1b36ffa65835fd5b1408691",
"commit": "c:culver:8dc85530",
"conclusion": "success",
"started": "2026-07-25T16:41:26-04:00",
"completed": "2026-07-25T16:50:12-04:00",
"title": "app: clear the never-linted crate — dead re-exports, unused inherit decls, type alias for the resolver"
},
{
"id": "ci:souveraine:863",
"repo": "souveraine",
"run": 863,
"workflow": "primary",
"branch": "primary",
"sha": "044c373cadb2536f8cfa7b1af989611c98801761",
"commit": "c:souveraine:044c373c",
"conclusion": "success",
"started": "2026-07-25T17:50:41-04:00",
"completed": "2026-07-25T17:56:06-04:00",
"title": "ci: publish into edge additively"
},
{
"id": "ci:souveraine-updater:864",
"repo": "souveraine-updater",
"run": 864,
"workflow": "primary",
"branch": "primary",
"sha": "e4f00c5ffcc9d1fae8b1e0e52d874571283a8a89",
"commit": "c:souveraine-updater:e4f00c5f",
"conclusion": "success",
"started": "2026-07-25T18:30:34-04:00",
"completed": "2026-07-25T18:37:13-04:00",
"title": "ci: build, package and publish into edge"
},
{
"id": "ci:souveraine:865",
"repo": "souveraine",
"run": 865,
"workflow": "primary",
"branch": "primary",
"sha": "15a32796ba7017b791d12fc7f683d87cd6a32051",
"commit": "c:souveraine:15a32796",
"conclusion": "cancelled",
"started": "2026-07-25T18:38:45-04:00",
"completed": "2026-07-25T18:45:05-04:00",
"title": "sessiond: make lock-before-blank an invariant, not a timer coincidence"
},
{
"id": "ci:souveraine:866",
"repo": "souveraine",
"run": 866,
"workflow": "public",
"branch": "public",
"sha": "15a32796ba7017b791d12fc7f683d87cd6a32051",
"commit": "c:souveraine:15a32796",
"conclusion": "cancelled",
"started": "2026-07-25T18:39:58-04:00",
"completed": "2026-07-25T18:54:01-04:00",
"title": "sessiond: make lock-before-blank an invariant, not a timer coincidence"
},
{
"id": "ci:souveraine:867",
"repo": "souveraine",
"run": 867,
"workflow": "primary",
"branch": "primary",
"sha": "6eb87a542da6959c47aa7c241cb75be78b364a51",
"commit": "c:souveraine:6eb87a54",
"conclusion": "cancelled",
"started": "2026-07-25T18:45:27-04:00",
"completed": "2026-07-25T18:54:00-04:00",
"title": "publish-edge: ship the bare .files names too"
},
{
"id": "ci:souveraine-updater:868",
"repo": "souveraine-updater",
"run": 868,
"workflow": "primary",
"branch": "primary",
"sha": "ec1f42e85f5b62415488304ef4d86a0ab318ee6e",
"commit": "c:souveraine-updater:ec1f42e8",
"conclusion": "success",
"started": "2026-07-25T18:45:39-04:00",
"completed": "2026-07-25T18:50:47-04:00",
"title": "ci: bump pinned publisher"
},
{
"id": "ci:souveraine-updater:869",
"repo": "souveraine-updater",
"run": 869,
"workflow": "primary",
"branch": "primary",
"sha": "ffb34c1cf00a6701110615e066f5460c00fffb2c",
"commit": "c:souveraine-updater:ffb34c1c",
"conclusion": "success",
"started": "2026-07-25T18:54:02-04:00",
"completed": "2026-07-25T18:59:10-04:00",
"title": "ci: clone full history so pkgver r-count is real"
},
{
"id": "ci:souveraine:870",
"repo": "souveraine",
"run": 870,
"workflow": "primary",
"branch": "primary",
"sha": "24ce6d382bfd60dbacc727bc6304d5e880de21d8",
"commit": "c:souveraine:24ce6d38",
"conclusion": "cancelled",
"started": "2026-07-25T18:54:04-04:00",
"completed": "2026-07-25T18:57:50-04:00",
"title": "shell: execute authority directives; Settings reads sessiond"
},
{
"id": "ci:souveraine:871",
"repo": "souveraine",
"run": 871,
"workflow": "public",
"branch": "public",
"sha": "24ce6d382bfd60dbacc727bc6304d5e880de21d8",
"commit": "c:souveraine:24ce6d38",
"conclusion": "failure",
"started": "2026-07-25T18:54:11-04:00",
"completed": "2026-07-25T19:00:13-04:00",
"title": "shell: execute authority directives; Settings reads sessiond"
},
{
"id": "ci:souveraine:872",
"repo": "souveraine",
"run": 872,
"workflow": "primary",
"branch": "primary",
"sha": "9ab1cfbccccf3b9e05a856eaad5f6e1a16cc0721",
"commit": "c:souveraine:9ab1cfbc",
"conclusion": "success",
"started": "2026-07-25T18:58:11-04:00",
"completed": "2026-07-25T19:03:49-04:00",
"title": "settings: don't render a missing ack budget as \"waits 0s\""
},
{
"id": "ci:souveraine:873",
"repo": "souveraine",
"run": 873,
"workflow": "public",
"branch": "public",
"sha": "9ab1cfbccccf3b9e05a856eaad5f6e1a16cc0721",
"commit": "c:souveraine:9ab1cfbc",
"conclusion": "success",
"started": "2026-07-25T19:13:17-04:00",
"completed": "2026-07-25T19:30:25-04:00",
"title": "settings: don't render a missing ack budget as \"waits 0s\""
},
{
"id": "ci:souveraine-updater:877",
"repo": "souveraine-updater",
"run": 877,
"workflow": "primary",
"branch": "primary",
"sha": "11b64309558205b0bc1f629b997d144482ed5007",
"commit": "c:souveraine-updater:11b64309",
"conclusion": "success",
"started": "2026-07-26T07:12:23-04:00",
"completed": "2026-07-26T07:17:53-04:00",
"title": "ui: rewrite the front end on a real model and a theme"
},
{
"id": "ci:souveraine:878",
"repo": "souveraine",
"run": 878,
"workflow": "primary",
"branch": "primary",
"sha": "df654e6beeed095f80b876fdf431b8a9c640204a",
"commit": "c:souveraine:df654e6b",
"conclusion": "cancelled",
"started": "2026-07-26T07:18:03-04:00",
"completed": "2026-07-26T07:24:35-04:00",
"title": "sessiond: take lock truth from logind, not from our own history"
},
{
"id": "ci:souveraine:879",
"repo": "souveraine",
"run": 879,
"workflow": "public",
"branch": "public",
"sha": "df654e6beeed095f80b876fdf431b8a9c640204a",
"commit": "c:souveraine:df654e6b",
"conclusion": "cancelled",
"started": "2026-07-26T07:18:10-04:00",
"completed": "2026-07-26T07:24:36-04:00",
"title": "sessiond: take lock truth from logind, not from our own history"
},
{
"id": "ci:souveraine:880",
"repo": "souveraine",
"run": 880,
"workflow": "primary",
"branch": "primary",
"sha": "70a05819e89f0066bb0ff42a7a028fd4439c2e22",
"commit": "c:souveraine:70a05819",
"conclusion": "cancelled",
"started": "2026-07-26T07:24:48-04:00",
"completed": "2026-07-26T07:30:44-04:00",
"title": "settings: presets instead of seconds; two ordering fixes"
},
{
"id": "ci:souveraine:881",
"repo": "souveraine",
"run": 881,
"workflow": "public",
"branch": "public",
"sha": "70a05819e89f0066bb0ff42a7a028fd4439c2e22",
"commit": "c:souveraine:70a05819",
"conclusion": "cancelled",
"started": "2026-07-26T07:24:56-04:00",
"completed": "2026-07-26T07:30:35-04:00",
"title": "settings: presets instead of seconds; two ordering fixes"
},
{
"id": "ci:souveraine:882",
"repo": "souveraine",
"run": 882,
"workflow": "public",
"branch": "public",
"sha": "bd8a4eca506f43a9aa6364e5017e51f2994a879c",
"commit": "c:souveraine:bd8a4eca",
"conclusion": "success",
"started": "2026-07-26T07:30:44-04:00",
"completed": "2026-07-26T07:53:06-04:00",
"title": "sessiond: refuse half-applied unlocks; log the real sensor source"
},
{
"id": "ci:souveraine:883",
"repo": "souveraine",
"run": 883,
"workflow": "primary",
"branch": "primary",
"sha": "bd8a4eca506f43a9aa6364e5017e51f2994a879c",
"commit": "c:souveraine:bd8a4eca",
"conclusion": "success",
"started": "2026-07-26T07:30:59-04:00",
"completed": "2026-07-26T07:53:06-04:00",
"title": "sessiond: refuse half-applied unlocks; log the real sensor source"
},
{
"id": "ci:souveraine-updater:884",
"repo": "souveraine-updater",
"run": 884,
"workflow": "primary",
"branch": "primary",
"sha": "82b142996633445cac59f22a215e5a108f1b59d7",
"commit": "c:souveraine-updater:82b14299",
"conclusion": "success",
"started": "2026-07-26T07:53:06-04:00",
"completed": "2026-07-26T07:58:37-04:00",
"title": "ui: merge -Qi into package detail, fix chip and dialog layout"
},
{
"id": "ci:souveraine-updater:885",
"repo": "souveraine-updater",
"run": 885,
"workflow": "primary",
"branch": "primary",
"sha": "5be05c3e584c6ba8e5c07c505ccb39310b90b08e",
"commit": "c:souveraine-updater:5be05c3e",
"conclusion": "success",
"started": "2026-07-26T08:02:42-04:00",
"completed": "2026-07-26T08:08:13-04:00",
"title": "packaging: StartupWMClass so the window matches the desktop entry"
},
{
"id": "ci:souveraine:886",
"repo": "souveraine",
"run": 886,
"workflow": "primary",
"branch": "primary",
"sha": "862d1d7bba30bfa02199515f58d1bb2e16bfd8f9",
"commit": "c:souveraine:862d1d7b",
"conclusion": "success",
"started": "2026-07-26T08:30:38-04:00",
"completed": "2026-07-26T08:40:37-04:00",
"title": "sessiond: evidence-source health as device state"
},
{
"id": "ci:souveraine:887",
"repo": "souveraine",
"run": 887,
"workflow": "public",
"branch": "public",
"sha": "862d1d7bba30bfa02199515f58d1bb2e16bfd8f9",
"commit": "c:souveraine:862d1d7b",
"conclusion": "success",
"started": "2026-07-26T08:30:45-04:00",
"completed": "2026-07-26T08:52:45-04:00",
"title": "sessiond: evidence-source health as device state"
},
{
"id": "ci:souveraine:888",
"repo": "souveraine",
"run": 888,
"workflow": "primary",
"branch": "primary",
"sha": "01fda8ab8785af3dd10865c4ca3da78720526a9c",
"commit": "c:souveraine:01fda8ab",
"conclusion": "success",
"started": "2026-07-26T09:01:42-04:00",
"completed": "2026-07-26T09:11:54-04:00",
"title": "sessiond: persist the device-state policy"
},
{
"id": "ci:souveraine:889",
"repo": "souveraine",
"run": 889,
"workflow": "public",
"branch": "public",
"sha": "01fda8ab8785af3dd10865c4ca3da78720526a9c",
"commit": "c:souveraine:01fda8ab",
"conclusion": "success",
"started": "2026-07-26T09:01:49-04:00",
"completed": "2026-07-26T09:24:04-04:00",
"title": "sessiond: persist the device-state policy"
},
{
"id": "ci:souveraine:890",
"repo": "souveraine",
"run": 890,
"workflow": "primary",
"branch": "primary",
"sha": "4d0c7a1c0bd23999d0cb270178e18d803c36ea7d",
"commit": "c:souveraine:4d0c7a1c",
"conclusion": "success",
"started": "2026-07-26T11:25:44-04:00",
"completed": "2026-07-26T11:31:09-04:00",
"title": "sessiond: the forensic trail leaves tmpfs, gains bounds and a hash chain"
},
{
"id": "ci:souveraine:891",
"repo": "souveraine",
"run": 891,
"workflow": "primary",
"branch": "primary",
"sha": "813010dbb6956dbfe085e3ee9975c503d788e329",
"commit": "c:souveraine:813010db",
"conclusion": "success",
"started": "2026-07-26T12:19:58-04:00",
"completed": "2026-07-26T12:25:18-04:00",
"title": "sessiond: proximity stops actuating; it vetoes tap-to-wake and nothing else"
},
{
"id": "ci:souveraine:892",
"repo": "souveraine",
"run": 892,
"workflow": "primary",
"branch": "primary",
"sha": "4cd7ddd046fc0a8e4d88f6994b860b33b8c12737",
"commit": "c:souveraine:4cd7ddd0",
"conclusion": "success",
"started": "2026-07-26T12:50:27-04:00",
"completed": "2026-07-26T12:55:51-04:00",
"title": "sessiond: debounce the proximity edge that actually flaps"
},
{
"id": "ci:souveraine:893",
"repo": "souveraine",
"run": 893,
"workflow": "primary",
"branch": "primary",
"sha": "18bd4a09745d137906410b189f9be99edee87cf5",
"commit": "c:souveraine:18bd4a09",
"conclusion": "success",
"started": "2026-07-26T13:01:01-04:00",
"completed": "2026-07-26T13:06:44-04:00",
"title": "sessiond: make the verb surface enumerable and its refusals branchable"
},
{
"id": "ci:souveraine:894",
"repo": "souveraine",
"run": 894,
"workflow": "public",
"branch": "public",
"sha": "18bd4a09745d137906410b189f9be99edee87cf5",
"commit": "c:souveraine:18bd4a09",
"conclusion": "cancelled",
"started": "2026-07-26T13:49:01-04:00",
"completed": "2026-07-26T14:00:40-04:00",
"title": "sessiond: make the verb surface enumerable and its refusals branchable"
},
{
"id": "ci:souveraine:895",
"repo": "souveraine",
"run": 895,
"workflow": "primary",
"branch": "primary",
"sha": "c44deda7c233b2b20a88faedb81c9422448e0040",
"commit": "c:souveraine:c44deda7",
"conclusion": "success",
"started": "2026-07-26T14:00:43-04:00",
"completed": "2026-07-26T14:10:50-04:00",
"title": "sessiond: restore the exact brightness the dim captured, not a guessed floor"
},
{
"id": "ci:souveraine:896",
"repo": "souveraine",
"run": 896,
"workflow": "public",
"branch": "public",
"sha": "c44deda7c233b2b20a88faedb81c9422448e0040",
"commit": "c:souveraine:c44deda7",
"conclusion": "success",
"started": "2026-07-26T14:00:50-04:00",
"completed": "2026-07-26T14:22:55-04:00",
"title": "sessiond: restore the exact brightness the dim captured, not a guessed floor"
},
{
"id": "ci:souveraine:897",
"repo": "souveraine",
"run": 897,
"workflow": "primary",
"branch": "primary",
"sha": "43eee1e3c5e990ebff585ecd5eed9c06beb208da",
"commit": "c:souveraine:43eee1e3",
"conclusion": "success",
"started": "2026-07-26T14:38:44-04:00",
"completed": "2026-07-26T14:48:38-04:00",
"title": "sessiond: carry the caller's intent into the trail"
},
{
"id": "ci:souveraine:898",
"repo": "souveraine",
"run": 898,
"workflow": "public",
"branch": "public",
"sha": "43eee1e3c5e990ebff585ecd5eed9c06beb208da",
"commit": "c:souveraine:43eee1e3",
"conclusion": "cancelled",
"started": "2026-07-26T14:38:51-04:00",
"completed": "2026-07-26T14:49:06-04:00",
"title": "sessiond: carry the caller's intent into the trail"
},
{
"id": "ci:souveraine:899",
"repo": "souveraine",
"run": 899,
"workflow": "primary",
"branch": "primary",
"sha": "f2a4b93ee35de4748f37a556cbe28c863b042771",
"commit": "c:souveraine:f2a4b93e",
"conclusion": "cancelled",
"started": "2026-07-26T14:49:03-04:00",
"completed": "2026-07-26T14:58:49-04:00",
"title": "sessiond: a torn tail is a hard reboot, not tampering — resume the chain"
},
{
"id": "ci:souveraine:900",
"repo": "souveraine",
"run": 900,
"workflow": "public",
"branch": "public",
"sha": "f2a4b93ee35de4748f37a556cbe28c863b042771",
"commit": "c:souveraine:f2a4b93e",
"conclusion": "cancelled",
"started": "2026-07-26T14:49:10-04:00",
"completed": "2026-07-26T14:58:50-04:00",
"title": "sessiond: a torn tail is a hard reboot, not tampering — resume the chain"
},
{
"id": "ci:souveraine:901",
"repo": "souveraine",
"run": 901,
"workflow": "primary",
"branch": "primary",
"sha": "3174e7813cc6fab31f996963278037f2ae4b6633",
"commit": "c:souveraine:3174e781",
"conclusion": "success",
"started": "2026-07-26T14:58:59-04:00",
"completed": "2026-07-26T15:08:52-04:00",
"title": "ship souveraine-verify-trail in the package that writes the trail"
},
{
"id": "ci:souveraine:902",
"repo": "souveraine",
"run": 902,
"workflow": "public",
"branch": "public",
"sha": "3174e7813cc6fab31f996963278037f2ae4b6633",
"commit": "c:souveraine:3174e781",
"conclusion": "cancelled",
"started": "2026-07-26T14:59:12-04:00",
"completed": "2026-07-26T15:09:19-04:00",
"title": "ship souveraine-verify-trail in the package that writes the trail"
},
{
"id": "ci:souveraine:903",
"repo": "souveraine",
"run": 903,
"workflow": "primary",
"branch": "primary",
"sha": "4f113ad62dadf0bc240bda3658d110a9cc03a83f",
"commit": "c:souveraine:4f113ad6",
"conclusion": "success",
"started": "2026-07-26T15:09:20-04:00",
"completed": "2026-07-26T15:19:02-04:00",
"title": "shell: the dim is a grace before the lock, not a second absolute timer"
},
{
"id": "ci:souveraine:904",
"repo": "souveraine",
"run": 904,
"workflow": "public",
"branch": "public",
"sha": "4f113ad62dadf0bc240bda3658d110a9cc03a83f",
"commit": "c:souveraine:4f113ad6",
"conclusion": "success",
"started": "2026-07-26T15:09:27-04:00",
"completed": "2026-07-26T15:31:20-04:00",
"title": "shell: the dim is a grace before the lock, not a second absolute timer"
},
{
"id": "ci:souveraine:905",
"repo": "souveraine",
"run": 905,
"workflow": "primary",
"branch": "primary",
"sha": "2b69957f1862112028f28cc0f58665fd3de51428",
"commit": "c:souveraine:2b69957f",
"conclusion": "success",
"started": "2026-07-26T16:56:43-04:00",
"completed": "2026-07-26T17:02:02-04:00",
"title": "lock: surface charge rate, and stop counting down while plugged in"
},
{
"id": "ci:souveraine:906",
"repo": "souveraine",
"run": 906,
"workflow": "primary",
"branch": "primary",
"sha": "c9e11a54f7c1a091204d3532c6cf0683d5aa8135",
"commit": "c:souveraine:c9e11a54",
"conclusion": "success",
"started": "2026-07-26T17:06:03-04:00",
"completed": "2026-07-26T17:15:33-04:00",
"title": "upower: bump to aeeb107 (charge thresholds via the supplier walk)"
},
{
"id": "ci:souveraine:907",
"repo": "souveraine",
"run": 907,
"workflow": "public",
"branch": "public",
"sha": "c9e11a54f7c1a091204d3532c6cf0683d5aa8135",
"commit": "c:souveraine:c9e11a54",
"conclusion": "failure",
"started": "2026-07-26T17:06:21-04:00",
"completed": "2026-07-26T17:15:35-04:00",
"title": "upower: bump to aeeb107 (charge thresholds via the supplier walk)"
},
{
"id": "ci:souveraine:908",
"repo": "souveraine",
"run": 908,
"workflow": "primary",
"branch": "primary",
"sha": "4d64b4540c4ca3b969664cfa11eeb27e3f80fd53",
"commit": "c:souveraine:4d64b454",
"conclusion": "success",
"started": "2026-07-26T17:39:41-04:00",
"completed": "2026-07-26T17:45:06-04:00",
"title": "polkit: stop the prompt covering the on-screen keyboard"
},
{
"id": "ci:Pixel3Arch:909",
"repo": "Pixel3Arch",
"run": 909,
"workflow": "main",
"branch": "main",
"sha": "789cb39a6ce39ec128557e65ce54f171077dc351",
"commit": "c:Pixel3Arch:789cb39a",
"conclusion": "failure",
"started": "2026-07-26T17:49:53-04:00",
"completed": "2026-07-26T18:08:06-04:00",
"title": "kernel: monotonic pkgver so a new build can actually upgrade"
},
{
"id": "ci:souveraine:910",
"repo": "souveraine",
"run": 910,
"workflow": "primary",
"branch": "primary",
"sha": "c7c92d2680145602934c3e52fca5187e57232a05",
"commit": "c:souveraine:c7c92d26",
"conclusion": "success",
"started": "2026-07-26T18:11:42-04:00",
"completed": "2026-07-26T18:17:01-04:00",
"title": "settings: one Brightness dimming section, one blank timeout"
},
{
"id": "ci:Pixel3Arch:911",
"repo": "Pixel3Arch",
"run": 911,
"workflow": "main",
"branch": "main",
"sha": "484281a2cd51bfde174d012789ac5706a55eda5d",
"commit": "c:Pixel3Arch:484281a2",
"conclusion": "failure",
"started": "2026-07-26T18:17:22-04:00",
"completed": "2026-07-26T18:35:29-04:00",
"title": "kernel: resolve build artifacts by glob, not a hardcoded version"
},
{
"id": "ci:souveraine:912",
"repo": "souveraine",
"run": 912,
"workflow": "primary",
"branch": "primary",
"sha": "4d652bbbc647e0637546d2c82b43dee8a06cbd4e",
"commit": "c:souveraine:4d652bbb",
"conclusion": "success",
"started": "2026-07-26T18:26:35-04:00",
"completed": "2026-07-26T18:35:30-04:00",
"title": "sessiond: fix the self-deadlock that made the daemon stop answering"
},
{
"id": "ci:souveraine:913",
"repo": "souveraine",
"run": 913,
"workflow": "public",
"branch": "public",
"sha": "4d652bbbc647e0637546d2c82b43dee8a06cbd4e",
"commit": "c:souveraine:4d652bbb",
"conclusion": "success",
"started": "2026-07-26T18:32:47-04:00",
"completed": "2026-07-26T18:50:13-04:00",
"title": "sessiond: fix the self-deadlock that made the daemon stop answering"
},
{
"id": "ci:souveraine:915",
"repo": "souveraine",
"run": 915,
"workflow": "primary",
"branch": "primary",
"sha": "83fab1a1b6d6014bdf184da37b42c610f79435f8",
"commit": "c:souveraine:83fab1a1",
"conclusion": "cancelled",
"started": "2026-07-26T18:46:30-04:00",
"completed": "2026-07-26T18:51:57-04:00",
"title": "sensord: one reporter for every sensor, replacing the per-sensor scripts"
},
{
"id": "ci:Pixel3Arch:914",
"repo": "Pixel3Arch",
"run": 914,
"workflow": "main",
"branch": "main",
"sha": "c80a1965ce62ec92484a0b51cace44ec2d2666dc",
"commit": "c:Pixel3Arch:c80a1965",
"conclusion": "success",
"started": "2026-07-26T18:50:13-04:00",
"completed": "2026-07-26T19:08:21-04:00",
"title": "kernel ci: hash the kernel package, not the headers glob too"
},
{
"id": "ci:souveraine:916",
"repo": "souveraine",
"run": 916,
"workflow": "primary",
"branch": "primary",
"sha": "43c1fdbc05484d18e641ef35c51affb941baae7c",
"commit": "c:souveraine:43c1fdbc",
"conclusion": "failure",
"started": "2026-07-26T19:07:26-04:00",
"completed": "2026-07-26T19:12:40-04:00",
"title": "session: one IPC owner for target 'session', not a load-order coin flip"
},
{
"id": "ci:souveraine:917",
"repo": "souveraine",
"run": 917,
"workflow": "primary",
"branch": "primary",
"sha": "28e8b7828447e0d89d978c4c346f451fc0d9bcca",
"commit": "c:souveraine:28e8b782",
"conclusion": "success",
"started": "2026-07-26T19:16:49-04:00",
"completed": "2026-07-26T19:26:41-04:00",
"title": "sensord: needless_bool"
},
{
"id": "ci:souveraine:918",
"repo": "souveraine",
"run": 918,
"workflow": "public",
"branch": "public",
"sha": "28e8b7828447e0d89d978c4c346f451fc0d9bcca",
"commit": "c:souveraine:28e8b782",
"conclusion": "success",
"started": "2026-07-26T19:16:56-04:00",
"completed": "2026-07-26T19:38:43-04:00",
"title": "sensord: needless_bool"
},
{
"id": "ci:souveraine:920",
"repo": "souveraine",
"run": 920,
"workflow": "primary",
"branch": "primary",
"sha": "be72019883dbf5080b88036eaa5aca49fa77ead1",
"commit": "c:souveraine:be720198",
"conclusion": "cancelled",
"started": "2026-07-26T20:00:55-04:00",
"completed": "2026-07-26T20:03:22-04:00",
"title": "settings: write the dim value through, drop the invented clamp"
},
{
"id": "ci:souveraine:921",
"repo": "souveraine",
"run": 921,
"workflow": "primary",
"branch": "primary",
"sha": "de3a33251332c6c51ce579f19848ef1d7717b5c6",
"commit": "c:souveraine:de3a3325",
"conclusion": "cancelled",
"started": "2026-07-26T20:03:25-04:00",
"completed": "2026-07-26T20:07:34-04:00",
"title": "sensord: report edges, not every sample"
},
{
"id": "ci:souveraine:922",
"repo": "souveraine",
"run": 922,
"workflow": "public",
"branch": "public",
"sha": "de3a33251332c6c51ce579f19848ef1d7717b5c6",
"commit": "c:souveraine:de3a3325",
"conclusion": "cancelled",
"started": "2026-07-26T20:03:56-04:00",
"completed": "2026-07-26T20:07:34-04:00",
"title": "sensord: report edges, not every sample"
},
{
"id": "ci:souveraine:923",
"repo": "souveraine",
"run": 923,
"workflow": "primary",
"branch": "primary",
"sha": "29a3c472f56bab4279714ca4579f405bebd29c8e",
"commit": "c:souveraine:29a3c472",
"conclusion": "cancelled",
"started": "2026-07-26T20:07:40-04:00",
"completed": "2026-07-26T20:17:01-04:00",
"title": "sensord: buffer every source, and make the light threshold real"
},
{
"id": "ci:souveraine:924",
"repo": "souveraine",
"run": 924,
"workflow": "public",
"branch": "public",
"sha": "29a3c472f56bab4279714ca4579f405bebd29c8e",
"commit": "c:souveraine:29a3c472",
"conclusion": "cancelled",
"started": "2026-07-26T20:07:48-04:00",
"completed": "2026-07-26T20:17:02-04:00",
"title": "sensord: buffer every source, and make the light threshold real"
},
{
"id": "ci:souveraine:925",
"repo": "souveraine",
"run": 925,
"workflow": "primary",
"branch": "primary",
"sha": "2c1ee8bc0077663ae0f2419af6125440f6b6bacc",
"commit": "c:souveraine:2c1ee8bc",
"conclusion": "failure",
"started": "2026-07-26T20:17:09-04:00",
"completed": "2026-07-26T20:17:29-04:00",
"title": "sessiond: gate the blank actuator on logind LockedHint"
},
{
"id": "ci:souveraine:926",
"repo": "souveraine",
"run": 926,
"workflow": "public",
"branch": "public",
"sha": "2c1ee8bc0077663ae0f2419af6125440f6b6bacc",
"commit": "c:souveraine:2c1ee8bc",
"conclusion": "success",
"started": "2026-07-26T20:17:29-04:00",
"completed": "2026-07-26T20:34:50-04:00",
"title": "sessiond: gate the blank actuator on logind LockedHint"
},
{
"id": "ci:souveraine:927",
"repo": "souveraine",
"run": 927,
"workflow": "primary",
"branch": "primary",
"sha": "bef6e6a65315cff749da686ce73d67b4c6f029ec",
"commit": "c:souveraine:bef6e6a6",
"conclusion": "success",
"started": "2026-07-26T20:36:14-04:00",
"completed": "2026-07-26T20:41:38-04:00",
"title": "dial: radial picker, haptic detents, dial IPC"
},
{
"id": "ci:souveraine:928",
"repo": "souveraine",
"run": 928,
"workflow": "primary",
"branch": "primary",
"sha": "002a1a7b08dce686f045722cbb413d3044acd29f",
"commit": "c:souveraine:002a1a7b",
"conclusion": "success",
"started": "2026-07-26T21:01:14-04:00",
"completed": "2026-07-26T21:06:36-04:00",
"title": "gestures: consumer + routing table, wired to the dial"
},
{
"id": "ci:Pixel3Arch:929",
"repo": "Pixel3Arch",
"run": 929,
"workflow": "main",
"branch": "main",
"sha": "7f357f2e9eebd2f2ba1caa99fdc6e17a653e8daa",
"commit": "c:Pixel3Arch:7f357f2e",
"conclusion": "failure",
"started": "2026-07-26T21:30:15-04:00",
"completed": "2026-07-26T21:30:38-04:00",
"title": "kernel: restore binderfs + keyring options, assert them in build.sh"
},
{
"id": "ci:Pixel3Arch:930",
"repo": "Pixel3Arch",
"run": 930,
"workflow": "main",
"branch": "main",
"sha": "44e5421591dd41a7a2b78df5bc653b2bf72c69e1",
"commit": "c:Pixel3Arch:44e54215",
"conclusion": "success",
"started": "2026-07-26T21:44:15-04:00",
"completed": "2026-07-26T22:02:28-04:00",
"title": "kernel: add the symbols olddefconfig pulls in with TRUSTED/ENCRYPTED_KEYS"
},
{
"id": "ci:souveraine:931",
"repo": "souveraine",
"run": 931,
"workflow": "public",
"branch": "public",
"sha": "002a1a7b08dce686f045722cbb413d3044acd29f",
"commit": "c:souveraine:002a1a7b",
"conclusion": "success",
"started": "2026-07-26T22:04:42-04:00",
"completed": "2026-07-26T22:22:11-04:00",
"title": "gestures: consumer + routing table, wired to the dial"
}
],
"issues": [
{
"id": "i:SouveraineOS:6",
"repo": "SouveraineOS",
"number": 6,
"title": "Subconscious ledger stamps UTC while the room runs local time — the agent misreads her own timestamps as wall clock",
"state": "open",
"labels": [],
"created": "2026-08-16T09:12:14-04:00",
"closed": null,
"age_days": -21,
"opened_this_week": false,
"closed_this_week": false,
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/issues/6"
},
{
"id": "i:SouveraineOS:5",
"repo": "SouveraineOS",
"number": 5,
"title": "`hand` acting verbs are unimplemented, and the missing-function error masquerades as `refused_by_state`",
"state": "open",
"labels": [],
"created": "2026-08-16T09:12:13-04:00",
"closed": null,
"age_days": -21,
"opened_this_week": false,
"closed_this_week": false,
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/issues/5"
},
{
"id": "i:SouveraineOS:4",
"repo": "SouveraineOS",
"number": 4,
"title": "Conversation header keeps showing \"Souveraine\" after reverting to the default agent",
"state": "open",
"labels": [],
"created": "2026-08-16T09:12:13-04:00",
"closed": null,
"age_days": -21,
"opened_this_week": false,
"closed_this_week": false,
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/issues/4"
},
{
"id": "i:SouveraineOS:3",
"repo": "SouveraineOS",
"number": 3,
"title": "Expression state vocabulary is split across three layers that disagree — and there is no state machine underneath",
"state": "open",
"labels": [],
"created": "2026-08-13T13:43:55-04:00",
"closed": null,
"age_days": -18,
"opened_this_week": false,
"closed_this_week": false,
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/issues/3"
},
{
"id": "i:SouveraineOS:2",
"repo": "SouveraineOS",
"number": 2,
"title": "Memory-territory binaries are unreachable by both sensors — the boundary message routes to a dead end",
"state": "open",
"labels": [],
"created": "2026-08-13T13:42:53-04:00",
"closed": null,
"age_days": -18,
"opened_this_week": false,
"closed_this_week": false,
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/issues/2"
},
{
"id": "i:SouveraineOS:1",
"repo": "SouveraineOS",
"number": 1,
"title": "`read` returns a text placeholder for images — vision never actually arrives",
"state": "open",
"labels": [],
"created": "2026-08-13T13:42:53-04:00",
"closed": null,
"age_days": -18,
"opened_this_week": false,
"closed_this_week": false,
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/issues/1"
}
],
"pulls": [
{
"id": "p:souveraine:2",
"repo": "souveraine",
"number": 2,
"title": "sessiond: squeeze is input, and a pocket can veto it",
"state": "open",
"created": "2026-07-28T13:04:03-04:00",
"merged": null,
"age_days": -2,
"opened_this_week": false,
"merged_this_week": false,
"url": "https://gitea.wiuf.net/Fimeg/souveraine/pulls/2"
},
{
"id": "p:souveraine:1",
"repo": "souveraine",
"number": 1,
"title": "machined: system-tier machine identity daemon",
"state": "open",
"created": "2026-07-16T10:12:03-04:00",
"merged": null,
"age_days": 10,
"opened_this_week": false,
"merged_this_week": false,
"url": "https://gitea.wiuf.net/Fimeg/souveraine/pulls/1"
}
],
"releases": [
{
"id": "r:souveraine:edge",
"repo": "souveraine",
"tag": "edge",
"name": "edge (edge-1-g9d8bce2)",
"published": "2026-07-25T15:26:08-04:00",
"assets": 93,
"draft": false,
"cut_this_week": true,
"age_days": 1,
"url": "https://gitea.wiuf.net/Fimeg/souveraine/releases/tag/edge"
},
{
"id": "r:Pixel3Arch:kernel-latest",
"repo": "Pixel3Arch",
"tag": "kernel-latest",
"name": "kernel-latest (g31eb5aa2ace7)",
"published": "2026-07-28T19:58:24-04:00",
"assets": 2,
"draft": false,
"cut_this_week": false,
"age_days": -2,
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/releases/tag/kernel-latest"
}
],
"declared": [
{
"id": "d:task-1",
"kind": "task-index",
"task": "1",
"title": "Favorites — wife's name on her number",
"file": "01-favorites-contacts.md",
"change": "delisted",
"detail": "Index",
"section": "Index",
"was": "blocked | needs TASK-09 (qtpim build)",
"now": null,
"dimension": "unassigned"
},
{
"id": "d:task-3",
"kind": "task-index",
"task": "3",
"title": "Boot timing: fade splash → lock, no extra fixes",
"file": "03-boot-timing-splash-to-lock.md",
"change": "restated",
"detail": "what's left rewritten",
"section": "Index",
"was": "open | pairs with TASK-11",
"now": "diagnosed | EBUSY handoff race is the last timing bug; splash text killed, holder added",
"dimension": "unassigned"
},
{
"id": "d:task-4",
"kind": "task-index",
"task": "4",
"title": "Notification server (org.freedesktop.Notifications)",
"file": "04-notification-server.md",
"change": "delisted",
"detail": "Index",
"section": "Index",
"was": "open | —",
"now": null,
"dimension": "runtime"
},
{
"id": "d:task-5",
"kind": "task-index",
"task": "5",
"title": "Crash reporter surfacing",
"file": "05-crash-reporter.md",
"change": "delisted",
"detail": "Index",
"section": "Index",
"was": "half-landed | pairs with TASK-04",
"now": null,
"dimension": "reliability"
},
{
"id": "d:task-6",
"kind": "task-index",
"task": "6",
"title": "qtpim aarch64 build → contacts store",
"file": "06-qtpim-build-contacts.md",
"change": "delisted",
"detail": "Index",
"section": "Index",
"was": "staged | archdev binfmt wall",
"now": null,
"dimension": "unassigned"
},
{
"id": "d:task-7",
"kind": "task-index",
"task": "7",
"title": "WCD9340 mic: functional-pinned; unpin + fidelity",
"file": "07-mic-wcd9340-slim-tx.md",
"change": "restated",
"detail": "what's left rewritten",
"section": "Index",
"was": "diagnosed | frontier; pairs with kernel series",
"now": "functional 07-20 | defect: power pin; kernel `mic-race-fix`",
"dimension": "unassigned"
},
{
"id": "d:task-8",
"kind": "task-index",
"task": "8",
"title": "Device state manager / power profiles",
"file": "08-device-state-manager.md",
"change": "restated",
"detail": "what's left rewritten",
"section": "Index",
"was": "open | blocked-by TASK-09 suspend item",
"now": "actuating 07-25 | clock + actuators; lock-before-blank is an invariant and hypridle's listeners are deleted; (b) charge real, (c)(d) open, **(e) lease still missing**, **(f) `sensors_degraded` reaches no surface**, **(g) the confidence gates need a decision before code**",
"dimension": "identity"
},
{
"id": "d:task-10",
"kind": "task-index",
"task": "10",
"title": "Boot chain: pmOS init → mkinitcpio",
"file": "10-boot-chain-mkinitcpio.md",
"change": "delisted",
"detail": "Index",
"section": "Index",
"was": "open | flash-caution",
"now": null,
"dimension": "unassigned"
},
{
"id": "d:task-11",
"kind": "task-index",
"task": "11",
"title": "souveraine-secrets on the phone",
"file": "11-souveraine-secrets.md",
"change": "delisted",
"detail": "Index",
"section": "Index",
"was": "built, blocked | seed restore decision",
"now": null,
"dimension": "identity"
},
{
"id": "d:task-12",
"kind": "task-index",
"task": "12",
"title": "Face auth as a capability factor (Gaze reference)",
"file": "12-gaze-reference-face-auth.md",
"change": "listed",
"detail": "Index",
"section": "Index",
"was": null,
"now": "open | per-target: phone needs front-cam bring-up",
"dimension": "unassigned"
},
{
"id": "d:task-13",
"kind": "task-index",
"task": "13",
"title": "Active Edge (squeeze) as a sensor input",
"file": "13-active-edge-squeeze.md",
"change": "listed",
"detail": "Index",
"section": "Index",
"was": null,
"now": "open, wanted | rail is UP and held from boot (07-26); step 2 now blocked on TASK-34 (SLPI doorbell)",
"dimension": "sensorium"
},
{
"id": "d:task-14",
"kind": "task-index",
"task": "14",
"title": "Overview/app grid + Auxo multitasking",
"file": "14-overview-appgrid.md",
"change": "listed",
"detail": "Index",
"section": "Index",
"was": null,
"now": "in progress | shell-side; Home path + app cards",
"dimension": "surface"
},
{
"id": "d:task-15",
"kind": "task-index",
"task": "15",
"title": "Idle coordinator: freeze, doze, scheduled wakeups",
"file": "15-idle-coordinator.md",
"change": "listed",
"detail": "Index",
"section": "Index",
"was": null,
"now": "blocked | freezing `app.slice` would freeze sessiond+shell+secrets; needs slice separation first (measured 07-25)",
"dimension": "identity"
},
{
"id": "d:task-16",
"kind": "task-index",
"task": "16",
"title": "culver: usable messenger + contacts as Personal-class store",
"file": "16-culver-messenger-contacts.md",
"change": "listed",
"detail": "Index",
"section": "Index",
"was": null,
"now": "in progress | A/B/D landed; C contact card next; F is the folded-in TASK-01",
"dimension": "surface"
},
{
"id": "d:task-17",
"kind": "task-index",
"task": "17",
"title": "Keyboard (stevia) + dictation polish",
"file": "17-keyboard-stevia-dictation.md",
"change": "listed",
"detail": "Index",
"section": "Index",
"was": null,
"now": "shipped-partial | OSK + mic key + STT live; **no word completion** — stevia asks hunspell for `en-us`, the dict is `en_US` (07-25)",
"dimension": "surface"
},
{
"id": "d:task-18",
"kind": "task-index",
"task": "18",
"title": "Selection/highlight action menu",
"file": "18-selection-menu.md",
"change": "listed",
"detail": "Index",
"section": "Index",
"was": null,
"now": "open | design captured 07-21; component-first, Read Aloud gated on TTS server",
"dimension": "runtime"
},
{
"id": "d:task-19",
"kind": "task-index",
"task": "19",
"title": "First-party Settings control center",
"file": "19-settings-control-center.md",
"change": "listed",
"detail": "Index",
"section": "Index",
"was": null,
"now": "in progress | guarded standalone launch + owned pages; absorbed TASK-22's polish sweep",
"dimension": "unassigned"
},
{
"id": "d:task-20",
"kind": "task-index",
"task": "20",
"title": "Souveraine Player video + agent control",
"file": "20-player-video-agent.md",
"change": "listed",
"detail": "Index",
"section": "Index",
"was": null,
"now": "open | video/snapshot/manifest; preserve music",
"dimension": "release"
},
{
"id": "d:task-21",
"kind": "task-index",
"task": "21",
"title": "Reboot-to-Android confirmation",
"file": "21-reboot-android-confirmation.md",
"change": "listed",
"detail": "Index",
"section": "Index",
"was": null,
"now": "open | scoped 07-22; one-tap irreversible slot flip still bare in app search",
"dimension": "unassigned"
},
{
"id": "d:task-23",
"kind": "task-index",
"task": "23",
"title": "culver locked-notification nudge",
"file": "23-culver-locked-notification-nudge.md",
"change": "listed",
"detail": "Index",
"section": "Index",
"was": null,
"now": "open | designed 07-22; needs `SyncBurst()` + IdleCoordinator schedule",
"dimension": "federation"
},
{
"id": "d:task-24",
"kind": "task-index",
"task": "24",
"title": "Keyboard layout rethink",
"file": "24-keyboard-layout-rethink.md",
"change": "listed",
"detail": "Index",
"section": "Index",
"was": null,
"now": "open | start from squeekboard `us+apple`; Casey decides where the mic key goes",
"dimension": "surface"
},
{
"id": "d:task-25",
"kind": "task-index",
"task": "25",
"title": "One repo, all packages",
"file": "25-one-repo-all-packages.md",
"change": "listed",
"detail": "Index",
"section": "Index",
"was": null,
"now": "parked 07-25 | four blockers before `repo-add --sign`; see also TASK-27",
"dimension": "release"
},
{
"id": "d:task-27",
"kind": "task-index",
"task": "27",
"title": "Gitea pipeline audit",
"file": "27-gitea-pipeline-audit.md",
"change": "listed",
"detail": "Index",
"section": "Index",
"was": null,
"now": "open | overlay is not a package; no `primary` branch; poisoned build sysroot",
"dimension": "release"
},
{
"id": "d:task-28",
"kind": "task-index",
"task": "28",
"title": "Handover on upgrade",
"file": "28-upgrade-handover.md",
"change": "listed",
"detail": "Index",
"section": "Index",
"was": null,
"now": "open | half-upgrades move authority silently; blocked-by TASK-27 packaging",
"dimension": "identity"
},
{
"id": "d:task-29",
"kind": "task-index",
"task": "29",
"title": "SouveraineOS Updater",
"file": "29-souveraine-updater.md",
"change": "listed",
"detail": "Index",
"section": "Index",
"was": null,
"now": "started 07-25 | rust rewrite of pachub; doesn't build yet; first repo to build *into* the pipeline",
"dimension": "unassigned"
},
{
"id": "d:task-30",
"kind": "task-index",
"task": "30",
"title": "Agent reach: verb tables across the surfaces",
"file": "30-agent-reach-verb-tables.md",
"change": "listed",
"detail": "Index",
"section": "Index",
"was": null,
"now": "half built 07-26 | sessiond has describe + refusal codes + intent; dock/apps/shell/settings do not",
"dimension": "surface"
},
{
"id": "d:task-31",
"kind": "task-index",
"task": "31",
"title": "The radial dial",
"file": "31-radial-dial.md",
"change": "listed",
"detail": "Index",
"section": "Index",
"was": null,
"now": "open | component before contents; entries come from the verb tables, not a list in QML",
"dimension": "surface"
},
{
"id": "d:task-32",
"kind": "task-index",
"task": "32",
"title": "The pill and the keyboard, as owned apps",
"file": "32-pill-and-osk-as-apps.md",
"change": "listed",
"detail": "Index",
"section": "Index",
"was": null,
"now": "open | both erroneous daily; neither has an owner or a shipping story",
"dimension": "surface"
},
{
"id": "d:task-33",
"kind": "task-index",
"task": "33",
"title": "Battery and charging belong to the device state machine",
"file": "33-battery-as-device-state.md",
"change": "listed",
"detail": "Index",
"section": "Index",
"was": null,
"now": "open | last raw feed going straight to the glass; the charge ceiling is writable today",
"dimension": "sensorium"
},
{
"id": "d:task-34",
"kind": "task-index",
"task": "34",
"title": "SLPI bring-up sequencing regression",
"file": "34-slpi-bringup-sequencing.md",
"change": "listed",
"detail": "Index",
"section": "Index",
"was": null,
"now": "open | old sequencing error; doorbell dies on SSR and stays dead; blocks TASK-13 step 2",
"dimension": "reliability"
},
{
"id": "d:task-35",
"kind": "task-index",
"task": "35",
"title": "sessiond answers nothing: handler threads park forever",
"file": "35-sessiond-handler-deadlock.md",
"change": "listed",
"detail": "Index",
"section": "Index",
"was": null,
"now": "**open, live** | 347 threads in futex_wait, 691/1024 fds; accept loop fine, no request ever answered",
"dimension": "identity"
},
{
"id": "d:docs/AUDIO-PRIVACY.md",
"kind": "document",
"file": "docs/AUDIO-PRIVACY.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"7b769f7"
],
"subjects": [
"docs: fold the stranded device tasks, archive the handoffs, one index per tree"
],
"dimension": "sensorium"
},
{
"id": "d:docs/DEVICE-STATE-MACHINE.md",
"kind": "document",
"file": "docs/DEVICE-STATE-MACHINE.md",
"change": "added",
"detail": "10 commit(s)",
"commits": [
"736567c",
"9590e74",
"6aa10d3",
"6ae84f4",
"eaa5e29",
"cd3d579",
"e08ec7a",
"8323520",
"ab600c2",
"66053e1"
],
"subjects": [
"device-state: §12 — where ambient light enters, and why it is an Action not a daemon",
"device-state: §11 — hardware corrected the torn-tail policy; the verifier exists",
"device-state: §9.5 prescribed the wrong debounce; the trail said so",
"device-state: proximity is evidence, not an actuator",
"device-state: §11 — where the trail lives, what bounds it, what chains it",
"docs: source health is §10; correct the TASK-26 retirement",
"docs: state machine audit 2026-07-26; retire TASK-26 references",
"docs: the state machine actuates; correct two stale status lines",
"Delete TASK-26; record what DEVICE-STATE-MACHINE actually built",
"tasks: one gitea repo for every package (25); keyboard rethink (24); device-state deploy"
],
"dimension": "surface"
},
{
"id": "d:docs/FIRST-CLASS-APPS.md",
"kind": "document",
"file": "docs/FIRST-CLASS-APPS.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"7b769f7"
],
"subjects": [
"docs: fold the stranded device tasks, archive the handoffs, one index per tree"
],
"dimension": "unassigned"
},
{
"id": "d:docs/LOCK-DPMS-LESSONS.md",
"kind": "document",
"file": "docs/LOCK-DPMS-LESSONS.md",
"change": "revised",
"detail": "2 commit(s)",
"commits": [
"45a4e44",
"7ec2479"
],
"subjects": [
"docs: lock-before-blank is an invariant; note the missing deploy lease",
"blueline: consolidate wifi bring-up, adopt cellular/MMS path, task audit"
],
"dimension": "unassigned"
},
{
"id": "d:docs/README.md",
"kind": "document",
"file": "docs/README.md",
"change": "revised",
"detail": "1 commit(s)",
"commits": [
"7b769f7"
],
"subjects": [
"docs: fold the stranded device tasks, archive the handoffs, one index per tree"
],
"dimension": "unassigned"
},
{
"id": "d:docs/SESSION-AUTHORITY-DOCTRINE.md",
"kind": "document",
"file": "docs/SESSION-AUTHORITY-DOCTRINE.md",
"change": "revised",
"detail": "2 commit(s)",
"commits": [
"2dc479f",
"9b99c1b"
],
"subjects": [
"doctrine: §13 — the verb table and refusal codes are built",
"doctrine: §13 — the agent owns the device 60/40, and needs to chain verbs"
],
"dimension": "identity"
},
{
"id": "d:docs/SETTINGS-AUTHORITY.md",
"kind": "document",
"file": "docs/SETTINGS-AUTHORITY.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"7b769f7"
],
"subjects": [
"docs: fold the stranded device tasks, archive the handoffs, one index per tree"
],
"dimension": "identity"
},
{
"id": "d:docs/SHELL-ECOSYSTEM.md",
"kind": "document",
"file": "docs/SHELL-ECOSYSTEM.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"7b769f7"
],
"subjects": [
"docs: fold the stranded device tasks, archive the handoffs, one index per tree"
],
"dimension": "surface"
},
{
"id": "d:docs/STORAGE-ENCRYPTION.md",
"kind": "document",
"file": "docs/STORAGE-ENCRYPTION.md",
"change": "added",
"detail": "2 commit(s)",
"commits": [
"931e794",
"ae6e2be"
],
"subjects": [
"docs: kernel handoff (gitea blueline FF to f56b1ae, one build path), QCE-off note, shell-tree unify task",
"secrets landed: archive TASK-11, storage-encryption status, handoff"
],
"dimension": "identity"
},
{
"id": "d:docs/archive/DUMP-pacman-pipeline-2026-07-24.md",
"kind": "document",
"file": "docs/archive/DUMP-pacman-pipeline-2026-07-24.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"7b769f7"
],
"subjects": [
"docs: fold the stranded device tasks, archive the handoffs, one index per tree"
],
"dimension": "release"
},
{
"id": "d:docs/archive/DUMP-power-idle-lock-2026-07-15.md",
"kind": "document",
"file": "docs/archive/DUMP-power-idle-lock-2026-07-15.md",
"change": "moved",
"detail": "1 commit(s)",
"commits": [
"7b769f7"
],
"subjects": [
"docs: fold the stranded device tasks, archive the handoffs, one index per tree"
],
"dimension": "unassigned"
},
{
"id": "d:docs/archive/DUMP-session-trust-2026-07-14.md",
"kind": "document",
"file": "docs/archive/DUMP-session-trust-2026-07-14.md",
"change": "moved",
"detail": "1 commit(s)",
"commits": [
"7b769f7"
],
"subjects": [
"docs: fold the stranded device tasks, archive the handoffs, one index per tree"
],
"dimension": "identity"
},
{
"id": "d:docs/archive/HANDOFF.md",
"kind": "document",
"file": "docs/archive/HANDOFF.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"7b769f7"
],
"subjects": [
"docs: fold the stranded device tasks, archive the handoffs, one index per tree"
],
"dimension": "unassigned"
},
{
"id": "d:docs/archive/README-quickshell-surface.md",
"kind": "document",
"file": "docs/archive/README-quickshell-surface.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"7b769f7"
],
"subjects": [
"docs: fold the stranded device tasks, archive the handoffs, one index per tree"
],
"dimension": "surface"
},
{
"id": "d:docs/archive/README.md",
"kind": "document",
"file": "docs/archive/README.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"7b769f7"
],
"subjects": [
"docs: fold the stranded device tasks, archive the handoffs, one index per tree"
],
"dimension": "unassigned"
},
{
"id": "d:docs/archive/chatty-matrix-features.md",
"kind": "document",
"file": "docs/archive/chatty-matrix-features.md",
"change": "moved",
"detail": "1 commit(s)",
"commits": [
"7b769f7"
],
"subjects": [
"docs: fold the stranded device tasks, archive the handoffs, one index per tree"
],
"dimension": "unassigned"
},
{
"id": "d:docs/archive/contacts-design.md",
"kind": "document",
"file": "docs/archive/contacts-design.md",
"change": "moved",
"detail": "1 commit(s)",
"commits": [
"7b769f7"
],
"subjects": [
"docs: fold the stranded device tasks, archive the handoffs, one index per tree"
],
"dimension": "unassigned"
},
{
"id": "d:docs/archive/handoff-2026-07-17.md",
"kind": "document",
"file": "docs/archive/handoff-2026-07-17.md",
"change": "moved",
"detail": "1 commit(s)",
"commits": [
"7b769f7"
],
"subjects": [
"docs: fold the stranded device tasks, archive the handoffs, one index per tree"
],
"dimension": "unassigned"
},
{
"id": "d:docs/archive/handoff-2026-07-20-secrets.md",
"kind": "document",
"file": "docs/archive/handoff-2026-07-20-secrets.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"7b769f7"
],
"subjects": [
"docs: fold the stranded device tasks, archive the handoffs, one index per tree"
],
"dimension": "identity"
},
{
"id": "d:docs/archive/messaging-rcs.md",
"kind": "document",
"file": "docs/archive/messaging-rcs.md",
"change": "moved",
"detail": "1 commit(s)",
"commits": [
"7b769f7"
],
"subjects": [
"docs: fold the stranded device tasks, archive the handoffs, one index per tree"
],
"dimension": "unassigned"
},
{
"id": "d:docs/archive/qs-aichat-oom.md",
"kind": "document",
"file": "docs/archive/qs-aichat-oom.md",
"change": "moved",
"detail": "1 commit(s)",
"commits": [
"7b769f7"
],
"subjects": [
"docs: fold the stranded device tasks, archive the handoffs, one index per tree"
],
"dimension": "unassigned"
},
{
"id": "d:docs/archive/qtpim-contacts-handoff.md",
"kind": "document",
"file": "docs/archive/qtpim-contacts-handoff.md",
"change": "moved",
"detail": "1 commit(s)",
"commits": [
"7b769f7"
],
"subjects": [
"docs: fold the stranded device tasks, archive the handoffs, one index per tree"
],
"dimension": "unassigned"
},
{
"id": "d:docs/archive/session-handoff-2026-07-16.md",
"kind": "document",
"file": "docs/archive/session-handoff-2026-07-16.md",
"change": "moved",
"detail": "1 commit(s)",
"commits": [
"7b769f7"
],
"subjects": [
"docs: fold the stranded device tasks, archive the handoffs, one index per tree"
],
"dimension": "unassigned"
},
{
"id": "d:docs/archive/session-trust-map.html",
"kind": "document",
"file": "docs/archive/session-trust-map.html",
"change": "moved",
"detail": "1 commit(s)",
"commits": [
"7b769f7"
],
"subjects": [
"docs: fold the stranded device tasks, archive the handoffs, one index per tree"
],
"dimension": "identity"
},
{
"id": "d:docs/souveraine-components/INVENTORY.md",
"kind": "document",
"file": "docs/souveraine-components/INVENTORY.md",
"change": "revised",
"detail": "1 commit(s)",
"commits": [
"1947587"
],
"subjects": [
"deprecate chatty/libcmatrix/qtpim, clean stale refs"
],
"dimension": "unassigned"
},
{
"id": "d:docs/souveraine-components/secrets.md",
"kind": "document",
"file": "docs/souveraine-components/secrets.md",
"change": "revised",
"detail": "1 commit(s)",
"commits": [
"1947587"
],
"subjects": [
"deprecate chatty/libcmatrix/qtpim, clean stale refs"
],
"dimension": "identity"
},
{
"id": "d:docs/substrate/ANI_PRESSURE_PHENOMENOLOGY.md",
"kind": "document",
"file": "docs/substrate/ANI_PRESSURE_PHENOMENOLOGY.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/ARCHITECTURE_v3.md",
"kind": "document",
"file": "docs/substrate/ARCHITECTURE_v3.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/ASTER_ARCHITECTURE.md",
"kind": "document",
"file": "docs/substrate/ASTER_ARCHITECTURE.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/COMPACTION_STRATEGIES.md",
"kind": "document",
"file": "docs/substrate/COMPACTION_STRATEGIES.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "memory"
},
{
"id": "d:docs/substrate/CONSCIOUSNESS_CYCLE.md",
"kind": "document",
"file": "docs/substrate/CONSCIOUSNESS_CYCLE.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/CONTEXT_CONSTITUTION.md",
"kind": "document",
"file": "docs/substrate/CONTEXT_CONSTITUTION.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/CRON_API_AUTH.md",
"kind": "document",
"file": "docs/substrate/CRON_API_AUTH.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/DECISIONS.md",
"kind": "document",
"file": "docs/substrate/DECISIONS.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/FEDERATION_SKETCH.md",
"kind": "document",
"file": "docs/substrate/FEDERATION_SKETCH.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "federation"
},
{
"id": "d:docs/substrate/FELT_STATE_ARCHITECTURE.md",
"kind": "document",
"file": "docs/substrate/FELT_STATE_ARCHITECTURE.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/HANDOFF.md",
"kind": "document",
"file": "docs/substrate/HANDOFF.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/HANDOFF_2026-05-18.md",
"kind": "document",
"file": "docs/substrate/HANDOFF_2026-05-18.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/HANDOFF_NEXT.md",
"kind": "document",
"file": "docs/substrate/HANDOFF_NEXT.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/INDEX.md",
"kind": "document",
"file": "docs/substrate/INDEX.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/MEMORY_BLOCKS_DECISION.md",
"kind": "document",
"file": "docs/substrate/MEMORY_BLOCKS_DECISION.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/MORNING.md",
"kind": "document",
"file": "docs/substrate/MORNING.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/NET_KERNEL_GAPS.md",
"kind": "document",
"file": "docs/substrate/NET_KERNEL_GAPS.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/NET_LAYER_PLAN.md",
"kind": "document",
"file": "docs/substrate/NET_LAYER_PLAN.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/README.md",
"kind": "document",
"file": "docs/substrate/README.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/SENSORIUM_ARCHITECTURE.md",
"kind": "document",
"file": "docs/substrate/SENSORIUM_ARCHITECTURE.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/THE_QUESTION.md",
"kind": "document",
"file": "docs/substrate/THE_QUESTION.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/Thoughts.md",
"kind": "document",
"file": "docs/substrate/Thoughts.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/archive/AGENT_FORENSIC_PROMPT.md",
"kind": "document",
"file": "docs/substrate/archive/AGENT_FORENSIC_PROMPT.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/archive/AGENT_SYSTEM_ARCHITECTURE.md",
"kind": "document",
"file": "docs/substrate/archive/AGENT_SYSTEM_ARCHITECTURE.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/archive/AGENT_SYSTEM_ARCHITECTURE_v2.md",
"kind": "document",
"file": "docs/substrate/archive/AGENT_SYSTEM_ARCHITECTURE_v2.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/archive/ALIGNMENT_REPORT.md",
"kind": "document",
"file": "docs/substrate/archive/ALIGNMENT_REPORT.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/archive/ARCHITECTURE_CLARIFICATION.md",
"kind": "document",
"file": "docs/substrate/archive/ARCHITECTURE_CLARIFICATION.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/archive/DIRECTORY_STRUCTURE_SPEC.md",
"kind": "document",
"file": "docs/substrate/archive/DIRECTORY_STRUCTURE_SPEC.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/archive/ENHANCEMENT_ROADMAP.md",
"kind": "document",
"file": "docs/substrate/archive/ENHANCEMENT_ROADMAP.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/archive/FEATURE_COMPARISON_MATRIX.md",
"kind": "document",
"file": "docs/substrate/archive/FEATURE_COMPARISON_MATRIX.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/archive/FORENSIC_ANALYSIS.md",
"kind": "document",
"file": "docs/substrate/archive/FORENSIC_ANALYSIS.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/archive/GETTING_STARTED.md",
"kind": "document",
"file": "docs/substrate/archive/GETTING_STARTED.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/archive/HANDOFF.md",
"kind": "document",
"file": "docs/substrate/archive/HANDOFF.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/archive/INTERFACE_ANALYSIS.md",
"kind": "document",
"file": "docs/substrate/archive/INTERFACE_ANALYSIS.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/archive/INTERFACE_PLAN.md",
"kind": "document",
"file": "docs/substrate/archive/INTERFACE_PLAN.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/archive/INTERFACE_TASKS.md",
"kind": "document",
"file": "docs/substrate/archive/INTERFACE_TASKS.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/archive/LETTA_MEMFS_TECHNICAL_SPEC.md",
"kind": "document",
"file": "docs/substrate/archive/LETTA_MEMFS_TECHNICAL_SPEC.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/archive/OPUS_IMPLEMENTATION_GUIDE.md",
"kind": "document",
"file": "docs/substrate/archive/OPUS_IMPLEMENTATION_GUIDE.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/archive/OSSUI_LACE_INTEGRATION_ARCHITECTURE.md",
"kind": "document",
"file": "docs/substrate/archive/OSSUI_LACE_INTEGRATION_ARCHITECTURE.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/archive/PHASES.md",
"kind": "document",
"file": "docs/substrate/archive/PHASES.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/archive/PROJECT_STATE_ANALYSIS.md",
"kind": "document",
"file": "docs/substrate/archive/PROJECT_STATE_ANALYSIS.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/archive/REMOTE_CONNECTION_SYSTEM_SPEC.md",
"kind": "document",
"file": "docs/substrate/archive/REMOTE_CONNECTION_SYSTEM_SPEC.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/archive/SCOPED_WORK_PLAN.md",
"kind": "document",
"file": "docs/substrate/archive/SCOPED_WORK_PLAN.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/archive/SEA_CONSCIOUSNESS_ANALYSIS.md",
"kind": "document",
"file": "docs/substrate/archive/SEA_CONSCIOUSNESS_ANALYSIS.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/archive/SENSORIUM_QUESTIONS.md",
"kind": "document",
"file": "docs/substrate/archive/SENSORIUM_QUESTIONS.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/archive/SEXY_UI.md",
"kind": "document",
"file": "docs/substrate/archive/SEXY_UI.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/archive/SOUVERAINE.md",
"kind": "document",
"file": "docs/substrate/archive/SOUVERAINE.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/archive/SOUVERAINE_ARCHITECTURE_v2.1.md",
"kind": "document",
"file": "docs/substrate/archive/SOUVERAINE_ARCHITECTURE_v2.1.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/archive/SOUVERAINE_ARCHITECTURE_v2.2.md",
"kind": "document",
"file": "docs/substrate/archive/SOUVERAINE_ARCHITECTURE_v2.2.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/archive/SOUVERAINE_MASTER_SPEC.md",
"kind": "document",
"file": "docs/substrate/archive/SOUVERAINE_MASTER_SPEC.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/archive/STATUS.md",
"kind": "document",
"file": "docs/substrate/archive/STATUS.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/archive/SUBAGENT_INVESTIGATION.md",
"kind": "document",
"file": "docs/substrate/archive/SUBAGENT_INVESTIGATION.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/archive/SUPER_TOOL_SPECIFICATION.md",
"kind": "document",
"file": "docs/substrate/archive/SUPER_TOOL_SPECIFICATION.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/archive/SUPER_TOOL_SYSTEM_DESIGN.md",
"kind": "document",
"file": "docs/substrate/archive/SUPER_TOOL_SYSTEM_DESIGN.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/archive/TODOOL_VARIATION_ANALYSIS.md",
"kind": "document",
"file": "docs/substrate/archive/TODOOL_VARIATION_ANALYSIS.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/archive/TOOL_SYSTEM_MERGER_SCOPE.md",
"kind": "document",
"file": "docs/substrate/archive/TOOL_SYSTEM_MERGER_SCOPE.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/archive/TOOL_SYSTEM_SYNTHESIS.md",
"kind": "document",
"file": "docs/substrate/archive/TOOL_SYSTEM_SYNTHESIS.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/archive/TUI_ENHANCEMENT_GUIDE.md",
"kind": "document",
"file": "docs/substrate/archive/TUI_ENHANCEMENT_GUIDE.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/archive/TUI_QUICK_START.md",
"kind": "document",
"file": "docs/substrate/archive/TUI_QUICK_START.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/archive/WEB_UI_SUMMARY.md",
"kind": "document",
"file": "docs/substrate/archive/WEB_UI_SUMMARY.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/archive/handoffs/HANDOFF_2026-05-11.md",
"kind": "document",
"file": "docs/substrate/archive/handoffs/HANDOFF_2026-05-11.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/archive/handoffs/HANDOFF_NEXT_2026-05-12-early.md",
"kind": "document",
"file": "docs/substrate/archive/handoffs/HANDOFF_NEXT_2026-05-12-early.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/archive/handoffs/session-handoff-2026-05-12.md",
"kind": "document",
"file": "docs/substrate/archive/handoffs/session-handoff-2026-05-12.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/archive/handoffs/session-handoff-2026-05-13.md",
"kind": "document",
"file": "docs/substrate/archive/handoffs/session-handoff-2026-05-13.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/archive/handoffs/session-handoff-2026-05-14.md",
"kind": "document",
"file": "docs/substrate/archive/handoffs/session-handoff-2026-05-14.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/archive/handoffs/session-handoff-2026-05-14b.md",
"kind": "document",
"file": "docs/substrate/archive/handoffs/session-handoff-2026-05-14b.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/archive/handoffs/session-handoff-2026-05-14c.md",
"kind": "document",
"file": "docs/substrate/archive/handoffs/session-handoff-2026-05-14c.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/archive/handoffs/session-handoff-2026-05-15.md",
"kind": "document",
"file": "docs/substrate/archive/handoffs/session-handoff-2026-05-15.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/archive/handoffs/session-handoff-2026-05-16.md",
"kind": "document",
"file": "docs/substrate/archive/handoffs/session-handoff-2026-05-16.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/audit/config-settings-sync.md",
"kind": "document",
"file": "docs/substrate/audit/config-settings-sync.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/audit/external-security-audit-prompt.md",
"kind": "document",
"file": "docs/substrate/audit/external-security-audit-prompt.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/bugs.md",
"kind": "document",
"file": "docs/substrate/bugs.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/curation/pressure-language-audit.md",
"kind": "document",
"file": "docs/substrate/curation/pressure-language-audit.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/issues/001-tool-context-per-agent.md",
"kind": "document",
"file": "docs/substrate/issues/001-tool-context-per-agent.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/issues/002-concurrent-turn-context-race.md",
"kind": "document",
"file": "docs/substrate/issues/002-concurrent-turn-context-race.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/issues/003-subconscious-tool-context.md",
"kind": "document",
"file": "docs/substrate/issues/003-subconscious-tool-context.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/issues/004-aster-observation-db.md",
"kind": "document",
"file": "docs/substrate/issues/004-aster-observation-db.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/pam-souveraine-sessiond.md",
"kind": "document",
"file": "docs/substrate/pam-souveraine-sessiond.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/research/model-selection-audit.md",
"kind": "document",
"file": "docs/substrate/research/model-selection-audit.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/seedid-vs-matrix-comparison.html",
"kind": "document",
"file": "docs/substrate/seedid-vs-matrix-comparison.html",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/subconscious-evolution/2026-05-19_subconscious_mandate_enrichment.md",
"kind": "document",
"file": "docs/substrate/subconscious-evolution/2026-05-19_subconscious_mandate_enrichment.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "reflection"
},
{
"id": "d:docs/substrate/tasks/INDEX.md",
"kind": "document",
"file": "docs/substrate/tasks/INDEX.md",
"change": "added",
"detail": "2 commit(s)",
"commits": [
"7b769f7",
"e480809"
],
"subjects": [
"docs: fold the stranded device tasks, archive the handoffs, one index per tree",
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/agent-profile-and-repo-manager.md",
"kind": "document",
"file": "docs/substrate/tasks/agent-profile-and-repo-manager.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/alpha-tester-readiness.md",
"kind": "document",
"file": "docs/substrate/tasks/alpha-tester-readiness.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/ambient-sense-formatting.md",
"kind": "document",
"file": "docs/substrate/tasks/ambient-sense-formatting.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/archive/aster-ledger-system.md",
"kind": "document",
"file": "docs/substrate/tasks/archive/aster-ledger-system.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/archive/aster-rebuild-n1-conscience.md",
"kind": "document",
"file": "docs/substrate/tasks/archive/aster-rebuild-n1-conscience.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/archive/atmosphere-lerp.md",
"kind": "document",
"file": "docs/substrate/tasks/archive/atmosphere-lerp.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/archive/collapsed-tool-cards.md",
"kind": "document",
"file": "docs/substrate/tasks/archive/collapsed-tool-cards.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/archive/compaction-rebuild.md",
"kind": "document",
"file": "docs/substrate/tasks/archive/compaction-rebuild.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "memory"
},
{
"id": "d:docs/substrate/tasks/archive/conversation-persistence-ui.md",
"kind": "document",
"file": "docs/substrate/tasks/archive/conversation-persistence-ui.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/archive/energy-balance-ratio.md",
"kind": "document",
"file": "docs/substrate/tasks/archive/energy-balance-ratio.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/archive/energy-topology.md",
"kind": "document",
"file": "docs/substrate/tasks/archive/energy-topology.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/archive/federation-seed-id.md",
"kind": "document",
"file": "docs/substrate/tasks/archive/federation-seed-id.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "federation"
},
{
"id": "d:docs/substrate/tasks/archive/heartbeat-n1-after-autonomous.md",
"kind": "document",
"file": "docs/substrate/tasks/archive/heartbeat-n1-after-autonomous.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/archive/heartbeat-system.md",
"kind": "document",
"file": "docs/substrate/tasks/archive/heartbeat-system.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/archive/in-session-compaction-implementation.md",
"kind": "document",
"file": "docs/substrate/tasks/archive/in-session-compaction-implementation.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "memory"
},
{
"id": "d:docs/substrate/tasks/archive/ledger-implementation.md",
"kind": "document",
"file": "docs/substrate/tasks/archive/ledger-implementation.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/archive/model-router-audit.md",
"kind": "document",
"file": "docs/substrate/tasks/archive/model-router-audit.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/archive/model-router-bifrost-integration.md",
"kind": "document",
"file": "docs/substrate/tasks/archive/model-router-bifrost-integration.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/archive/mood-persistence.md",
"kind": "document",
"file": "docs/substrate/tasks/archive/mood-persistence.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/archive/n1-agent-pass.md",
"kind": "document",
"file": "docs/substrate/tasks/archive/n1-agent-pass.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/archive/n1-four-fold-mandate.md",
"kind": "document",
"file": "docs/substrate/tasks/archive/n1-four-fold-mandate.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/archive/n100-archivist-compression.md",
"kind": "document",
"file": "docs/substrate/tasks/archive/n100-archivist-compression.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "memory"
},
{
"id": "d:docs/substrate/tasks/archive/n25-reflection-four-elements.md",
"kind": "document",
"file": "docs/substrate/tasks/archive/n25-reflection-four-elements.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "reflection"
},
{
"id": "d:docs/substrate/tasks/archive/per-agent-seed-and-instances.md",
"kind": "document",
"file": "docs/substrate/tasks/archive/per-agent-seed-and-instances.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/archive/phase0-agent-bootstrap.md",
"kind": "document",
"file": "docs/substrate/tasks/archive/phase0-agent-bootstrap.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/archive/port-compaction-claw-open.md",
"kind": "document",
"file": "docs/substrate/tasks/archive/port-compaction-claw-open.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "memory"
},
{
"id": "d:docs/substrate/tasks/archive/port-sacred-memory-files.md",
"kind": "document",
"file": "docs/substrate/tasks/archive/port-sacred-memory-files.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/archive/presence-autonomy.md",
"kind": "document",
"file": "docs/substrate/tasks/archive/presence-autonomy.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/archive/presence-she-sees-herself.md",
"kind": "document",
"file": "docs/substrate/tasks/archive/presence-she-sees-herself.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/archive/presence-visual-evolution.md",
"kind": "document",
"file": "docs/substrate/tasks/archive/presence-visual-evolution.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/archive/rename-aster-to-subconscious.md",
"kind": "document",
"file": "docs/substrate/tasks/archive/rename-aster-to-subconscious.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "reflection"
},
{
"id": "d:docs/substrate/tasks/archive/revise-compaction-strategies.md",
"kind": "document",
"file": "docs/substrate/tasks/archive/revise-compaction-strategies.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "memory"
},
{
"id": "d:docs/substrate/tasks/archive/scope-1-tool-substrate.md",
"kind": "document",
"file": "docs/substrate/tasks/archive/scope-1-tool-substrate.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/archive/scope-2-memory-clarification.md",
"kind": "document",
"file": "docs/substrate/tasks/archive/scope-2-memory-clarification.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/archive/scope-3-n1-consciousness.md",
"kind": "document",
"file": "docs/substrate/tasks/archive/scope-3-n1-consciousness.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/archive/scope-4-n25-reflection.md",
"kind": "document",
"file": "docs/substrate/tasks/archive/scope-4-n25-reflection.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "reflection"
},
{
"id": "d:docs/substrate/tasks/archive/sensorium-adapter-reckoning.md",
"kind": "document",
"file": "docs/substrate/tasks/archive/sensorium-adapter-reckoning.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/archive/skills-integration-conversation.md",
"kind": "document",
"file": "docs/substrate/tasks/archive/skills-integration-conversation.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/archive/startup-setup-wizard.md",
"kind": "document",
"file": "docs/substrate/tasks/archive/startup-setup-wizard.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/archive/subconscious-agent-identity.md",
"kind": "document",
"file": "docs/substrate/tasks/archive/subconscious-agent-identity.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "reflection"
},
{
"id": "d:docs/substrate/tasks/archive/subconscious-n1-llm-pass.md",
"kind": "document",
"file": "docs/substrate/tasks/archive/subconscious-n1-llm-pass.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "reflection"
},
{
"id": "d:docs/substrate/tasks/archive/todos-gap-analysis.md",
"kind": "document",
"file": "docs/substrate/tasks/archive/todos-gap-analysis.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/archive/tool-system-phase-1-foundation.md",
"kind": "document",
"file": "docs/substrate/tasks/archive/tool-system-phase-1-foundation.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/archive/tool-system-phase-2-power-tools.md",
"kind": "document",
"file": "docs/substrate/tasks/archive/tool-system-phase-2-power-tools.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/archive/tool-system-phase-3-integration.md",
"kind": "document",
"file": "docs/substrate/tasks/archive/tool-system-phase-3-integration.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/archive/tool-system-phase-4-intelligence.md",
"kind": "document",
"file": "docs/substrate/tasks/archive/tool-system-phase-4-intelligence.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/archive/tool-wiring.md",
"kind": "document",
"file": "docs/substrate/tasks/archive/tool-wiring.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/archive/tui-001-agent-presence-panel.md",
"kind": "document",
"file": "docs/substrate/tasks/archive/tui-001-agent-presence-panel.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/archive/tui-002-nervous-system-cockpit.md",
"kind": "document",
"file": "docs/substrate/tasks/archive/tui-002-nervous-system-cockpit.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/archive/tui-003-dashboard-operations-center.md",
"kind": "document",
"file": "docs/substrate/tasks/archive/tui-003-dashboard-operations-center.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/archive/tui-004-ambient-living-tui.md",
"kind": "document",
"file": "docs/substrate/tasks/archive/tui-004-ambient-living-tui.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/archive/tui-atmosphere-posture-expressions.md",
"kind": "document",
"file": "docs/substrate/tasks/archive/tui-atmosphere-posture-expressions.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/archive/tui-clean-conversation-switch.md",
"kind": "document",
"file": "docs/substrate/tasks/archive/tui-clean-conversation-switch.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/archive/tui-component-001-system.md",
"kind": "document",
"file": "docs/substrate/tasks/archive/tui-component-001-system.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/archive/tui-component-002-chat-panel.md",
"kind": "document",
"file": "docs/substrate/tasks/archive/tui-component-002-chat-panel.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/archive/tui-component-003-buddy-panel.md",
"kind": "document",
"file": "docs/substrate/tasks/archive/tui-component-003-buddy-panel.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/archive/tui-component-004-cockpit-pane.md",
"kind": "document",
"file": "docs/substrate/tasks/archive/tui-component-004-cockpit-pane.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/archive/tui-component-005-subagent-dashboard.md",
"kind": "document",
"file": "docs/substrate/tasks/archive/tui-component-005-subagent-dashboard.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/archive/tui-component-006-dashboard.md",
"kind": "document",
"file": "docs/substrate/tasks/archive/tui-component-006-dashboard.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/archive/tui-component-007-event-wiring.md",
"kind": "document",
"file": "docs/substrate/tasks/archive/tui-component-007-event-wiring.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/archive/tui-component-008-layout.md",
"kind": "document",
"file": "docs/substrate/tasks/archive/tui-component-008-layout.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/archive/tui-component-009-screens.md",
"kind": "document",
"file": "docs/substrate/tasks/archive/tui-component-009-screens.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/archive/tui-component-010-mouse-support.md",
"kind": "document",
"file": "docs/substrate/tasks/archive/tui-component-010-mouse-support.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/archive/tui-input-polish.md",
"kind": "document",
"file": "docs/substrate/tasks/archive/tui-input-polish.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/archive/tui-presence-and-interrupt.md",
"kind": "document",
"file": "docs/substrate/tasks/archive/tui-presence-and-interrupt.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/archive/tui-settings-editor.md",
"kind": "document",
"file": "docs/substrate/tasks/archive/tui-settings-editor.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/archive/tui-slash-commands.md",
"kind": "document",
"file": "docs/substrate/tasks/archive/tui-slash-commands.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/archive/turn-lifecycle-stream-integrity.md",
"kind": "document",
"file": "docs/substrate/tasks/archive/turn-lifecycle-stream-integrity.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/chain-modes-talking-thinking.md",
"kind": "document",
"file": "docs/substrate/tasks/chain-modes-talking-thinking.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/chat-viewport-scroll-clip.md",
"kind": "document",
"file": "docs/substrate/tasks/chat-viewport-scroll-clip.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/chat-vs-code-differentiation.md",
"kind": "document",
"file": "docs/substrate/tasks/chat-vs-code-differentiation.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/circuit-breaker.md",
"kind": "document",
"file": "docs/substrate/tasks/circuit-breaker.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/code-mode-tool-rendering.md",
"kind": "document",
"file": "docs/substrate/tasks/code-mode-tool-rendering.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/content-safety-filter.md",
"kind": "document",
"file": "docs/substrate/tasks/content-safety-filter.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/cursor-space-visibility.md",
"kind": "document",
"file": "docs/substrate/tasks/cursor-space-visibility.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/desktop-presence-overlay.md",
"kind": "document",
"file": "docs/substrate/tasks/desktop-presence-overlay.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/feature-gate-voice-deps.md",
"kind": "document",
"file": "docs/substrate/tasks/feature-gate-voice-deps.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/federation-summon.md",
"kind": "document",
"file": "docs/substrate/tasks/federation-summon.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "federation"
},
{
"id": "d:docs/substrate/tasks/firehose-subconscious-subscription.md",
"kind": "document",
"file": "docs/substrate/tasks/firehose-subconscious-subscription.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "reflection"
},
{
"id": "d:docs/substrate/tasks/handoff-to-opus-2026-05-18.md",
"kind": "document",
"file": "docs/substrate/tasks/handoff-to-opus-2026-05-18.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/health-monitor.md",
"kind": "document",
"file": "docs/substrate/tasks/health-monitor.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/itinerary-persistent-ui.md",
"kind": "document",
"file": "docs/substrate/tasks/itinerary-persistent-ui.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/itinerary-system.md",
"kind": "document",
"file": "docs/substrate/tasks/itinerary-system.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/ledger-entry-lifecycle.md",
"kind": "document",
"file": "docs/substrate/tasks/ledger-entry-lifecycle.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/matrix-sensorium.md",
"kind": "document",
"file": "docs/substrate/tasks/matrix-sensorium.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/message-bubble-overflow.md",
"kind": "document",
"file": "docs/substrate/tasks/message-bubble-overflow.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/mid-turn-subconscious-checkpoint.md",
"kind": "document",
"file": "docs/substrate/tasks/mid-turn-subconscious-checkpoint.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/multimodal-and-input-metadata.md",
"kind": "document",
"file": "docs/substrate/tasks/multimodal-and-input-metadata.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/node-connection-manager.md",
"kind": "document",
"file": "docs/substrate/tasks/node-connection-manager.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/pasted-content-formatting.md",
"kind": "document",
"file": "docs/substrate/tasks/pasted-content-formatting.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/persona-router-completion.md",
"kind": "document",
"file": "docs/substrate/tasks/persona-router-completion.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/primitive-refactor-super-task.md",
"kind": "document",
"file": "docs/substrate/tasks/primitive-refactor-super-task.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/prompt-override-system.md",
"kind": "document",
"file": "docs/substrate/tasks/prompt-override-system.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/qml-panel-conversation-resume.md",
"kind": "document",
"file": "docs/substrate/tasks/qml-panel-conversation-resume.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/remote-git-sync.md",
"kind": "document",
"file": "docs/substrate/tasks/remote-git-sync.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/rename-aster-to-subconscious.md",
"kind": "document",
"file": "docs/substrate/tasks/rename-aster-to-subconscious.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "reflection"
},
{
"id": "d:docs/substrate/tasks/resume-timestamp-indicator.md",
"kind": "document",
"file": "docs/substrate/tasks/resume-timestamp-indicator.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/sensorium-visual-flair.md",
"kind": "document",
"file": "docs/substrate/tasks/sensorium-visual-flair.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/settings-llm-config.md",
"kind": "document",
"file": "docs/substrate/tasks/settings-llm-config.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/souveraine-subconscious-naming.md",
"kind": "document",
"file": "docs/substrate/tasks/souveraine-subconscious-naming.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "reflection"
},
{
"id": "d:docs/substrate/tasks/strip-emojis.md",
"kind": "document",
"file": "docs/substrate/tasks/strip-emojis.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/studio-practice.md",
"kind": "document",
"file": "docs/substrate/tasks/studio-practice.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/subagent-background-fork.md",
"kind": "document",
"file": "docs/substrate/tasks/subagent-background-fork.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/subagent-pool-fork-spawn.md",
"kind": "document",
"file": "docs/substrate/tasks/subagent-pool-fork-spawn.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/subconscious-live-reasoning-stream.md",
"kind": "document",
"file": "docs/substrate/tasks/subconscious-live-reasoning-stream.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/subconscious-streaming-line-render.md",
"kind": "document",
"file": "docs/substrate/tasks/subconscious-streaming-line-render.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/subconscious-surfacing-threshold.md",
"kind": "document",
"file": "docs/substrate/tasks/subconscious-surfacing-threshold.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "reflection"
},
{
"id": "d:docs/substrate/tasks/subconscious-voice-style.md",
"kind": "document",
"file": "docs/substrate/tasks/subconscious-voice-style.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "reflection"
},
{
"id": "d:docs/substrate/tasks/todo-system-fix.md",
"kind": "document",
"file": "docs/substrate/tasks/todo-system-fix.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/truncation-signal-polish.md",
"kind": "document",
"file": "docs/substrate/tasks/truncation-signal-polish.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/tui-memory-browser.md",
"kind": "document",
"file": "docs/substrate/tasks/tui-memory-browser.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/tui-message-interactions.md",
"kind": "document",
"file": "docs/substrate/tasks/tui-message-interactions.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/tui-presence-voice.md",
"kind": "document",
"file": "docs/substrate/tasks/tui-presence-voice.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/turn-lifecycle-and-sensorium-completion.md",
"kind": "document",
"file": "docs/substrate/tasks/turn-lifecycle-and-sensorium-completion.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tasks/user-nickname-system.md",
"kind": "document",
"file": "docs/substrate/tasks/user-nickname-system.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
},
{
"id": "d:docs/substrate/tuie-polish-backlog.md",
"kind": "document",
"file": "docs/substrate/tuie-polish-backlog.md",
"change": "added",
"detail": "1 commit(s)",
"commits": [
"e480809"
],
"subjects": [
"docs: rescue the agent-substrate tree out of a gitignored directory"
],
"dimension": "runtime"
}
],
"index": {
"2": {
"section": "Index",
"title": "Lockscreen-as-Rust-system: glance + swipe",
"file": "02-lockscreen-rust-system.md",
"left": "in progress | stopgap shipped 2026-07-17"
},
"3": {
"section": "Index",
"title": "Boot timing: fade splash → lock, no extra fixes",
"file": "03-boot-timing-splash-to-lock.md",
"left": "diagnosed | EBUSY handoff race is the last timing bug; splash text killed, holder added"
},
"7": {
"section": "Index",
"title": "WCD9340 mic: functional-pinned; unpin + fidelity",
"file": "07-mic-wcd9340-slim-tx.md",
"left": "functional 07-20 | defect: power pin; kernel `mic-race-fix`"
},
"8": {
"section": "Index",
"title": "Device state manager / power profiles",
"file": "08-device-state-manager.md",
"left": "actuating 07-25 | clock + actuators; lock-before-blank is an invariant and hypridle's listeners are deleted; (b) charge real, (c)(d) open, **(e) lease still missing**, **(f) `sensors_degraded` reaches no surface**, **(g) the confidence gates need a decision before code**"
},
"9": {
"section": "Index",
"title": "Suspend-resume FTS calibration race",
"file": "09-suspend-resume-fts.md",
"left": "interim-fix | kernel-side; cold-boot only"
},
"12": {
"section": "Index",
"title": "Face auth as a capability factor (Gaze reference)",
"file": "12-gaze-reference-face-auth.md",
"left": "open | per-target: phone needs front-cam bring-up"
},
"13": {
"section": "Index",
"title": "Active Edge (squeeze) as a sensor input",
"file": "13-active-edge-squeeze.md",
"left": "open, wanted | rail is UP and held from boot (07-26); step 2 now blocked on TASK-34 (SLPI doorbell)"
},
"14": {
"section": "Index",
"title": "Overview/app grid + Auxo multitasking",
"file": "14-overview-appgrid.md",
"left": "in progress | shell-side; Home path + app cards"
},
"15": {
"section": "Index",
"title": "Idle coordinator: freeze, doze, scheduled wakeups",
"file": "15-idle-coordinator.md",
"left": "blocked | freezing `app.slice` would freeze sessiond+shell+secrets; needs slice separation first (measured 07-25)"
},
"16": {
"section": "Index",
"title": "culver: usable messenger + contacts as Personal-class store",
"file": "16-culver-messenger-contacts.md",
"left": "in progress | A/B/D landed; C contact card next; F is the folded-in TASK-01"
},
"17": {
"section": "Index",
"title": "Keyboard (stevia) + dictation polish",
"file": "17-keyboard-stevia-dictation.md",
"left": "shipped-partial | OSK + mic key + STT live; **no word completion** — stevia asks hunspell for `en-us`, the dict is `en_US` (07-25)"
},
"18": {
"section": "Index",
"title": "Selection/highlight action menu",
"file": "18-selection-menu.md",
"left": "open | design captured 07-21; component-first, Read Aloud gated on TTS server"
},
"19": {
"section": "Index",
"title": "First-party Settings control center",
"file": "19-settings-control-center.md",
"left": "in progress | guarded standalone launch + owned pages; absorbed TASK-22's polish sweep"
},
"20": {
"section": "Index",
"title": "Souveraine Player video + agent control",
"file": "20-player-video-agent.md",
"left": "open | video/snapshot/manifest; preserve music"
},
"21": {
"section": "Index",
"title": "Reboot-to-Android confirmation",
"file": "21-reboot-android-confirmation.md",
"left": "open | scoped 07-22; one-tap irreversible slot flip still bare in app search"
},
"23": {
"section": "Index",
"title": "culver locked-notification nudge",
"file": "23-culver-locked-notification-nudge.md",
"left": "open | designed 07-22; needs `SyncBurst()` + IdleCoordinator schedule"
},
"24": {
"section": "Index",
"title": "Keyboard layout rethink",
"file": "24-keyboard-layout-rethink.md",
"left": "open | start from squeekboard `us+apple`; Casey decides where the mic key goes"
},
"25": {
"section": "Index",
"title": "One repo, all packages",
"file": "25-one-repo-all-packages.md",
"left": "parked 07-25 | four blockers before `repo-add --sign`; see also TASK-27"
},
"27": {
"section": "Index",
"title": "Gitea pipeline audit",
"file": "27-gitea-pipeline-audit.md",
"left": "open | overlay is not a package; no `primary` branch; poisoned build sysroot"
},
"28": {
"section": "Index",
"title": "Handover on upgrade",
"file": "28-upgrade-handover.md",
"left": "open | half-upgrades move authority silently; blocked-by TASK-27 packaging"
},
"29": {
"section": "Index",
"title": "SouveraineOS Updater",
"file": "29-souveraine-updater.md",
"left": "started 07-25 | rust rewrite of pachub; doesn't build yet; first repo to build *into* the pipeline"
},
"30": {
"section": "Index",
"title": "Agent reach: verb tables across the surfaces",
"file": "30-agent-reach-verb-tables.md",
"left": "half built 07-26 | sessiond has describe + refusal codes + intent; dock/apps/shell/settings do not"
},
"31": {
"section": "Index",
"title": "The radial dial",
"file": "31-radial-dial.md",
"left": "open | component before contents; entries come from the verb tables, not a list in QML"
},
"32": {
"section": "Index",
"title": "The pill and the keyboard, as owned apps",
"file": "32-pill-and-osk-as-apps.md",
"left": "open | both erroneous daily; neither has an owner or a shipping story"
},
"33": {
"section": "Index",
"title": "Battery and charging belong to the device state machine",
"file": "33-battery-as-device-state.md",
"left": "open | last raw feed going straight to the glass; the charge ceiling is writable today"
},
"34": {
"section": "Index",
"title": "SLPI bring-up sequencing regression",
"file": "34-slpi-bringup-sequencing.md",
"left": "open | old sequencing error; doorbell dies on SSR and stays dead; blocks TASK-13 step 2"
},
"35": {
"section": "Index",
"title": "sessiond answers nothing: handler threads park forever",
"file": "35-sessiond-handler-deadlock.md",
"left": "**open, live** | 347 threads in futex_wait, 691/1024 fds; accept loop fine, no request ever answered"
}
},
"rollup": {
"by_dimension": {
"surface": {
"commits": 62,
"repos": [
"souveraine",
"Pixel3Arch",
"souveraine-player",
"culver",
"SouveraineOS",
"souveraine-updater"
],
"authors": [
"casey.tunturi@gmail.com"
],
"declared": 10
},
"runtime": {
"commits": 15,
"repos": [
"Pixel3Arch",
"souveraine-player",
"SouveraineOS",
"culver",
"souveraine"
],
"authors": [
"casey.tunturi@gmail.com"
],
"declared": 180
},
"release": {
"commits": 32,
"repos": [
"culver",
"souveraine-player",
"Pixel3Arch",
"souveraine",
"SouveraineOS",
"souveraine-updater"
],
"authors": [
"casey.tunturi@gmail.com"
],
"declared": 4
},
"reliability": {
"commits": 12,
"repos": [
"souveraine-player",
"SouveraineOS",
"souveraine",
"culver",
"souveraine-updater",
"Pixel3Arch"
],
"authors": [
"casey.tunturi@gmail.com"
],
"declared": 2
},
"identity": {
"commits": 35,
"repos": [
"culver",
"souveraine",
"SouveraineOS",
"Pixel3Arch"
],
"authors": [
"casey.tunturi@gmail.com"
],
"declared": 12
},
"unassigned": {
"commits": 19,
"repos": [
"SouveraineOS"
],
"authors": [
"casey.tunturi@gmail.com"
],
"declared": 23
},
"sensorium": {
"commits": 47,
"repos": [
"SouveraineOS",
"linux-blueline",
"Pixel3Arch",
"upower",
"souveraine"
],
"authors": [
"casey.tunturi@gmail.com"
],
"declared": 3
},
"federation": {
"commits": 2,
"repos": [
"culver",
"Pixel3Arch"
],
"authors": [
"casey.tunturi@gmail.com"
],
"declared": 4
},
"reflection": {
"commits": 1,
"repos": [
"Pixel3Arch"
],
"authors": [
"casey.tunturi@gmail.com"
],
"declared": 11
},
"memory": {
"commits": 1,
"repos": [
"souveraine"
],
"authors": [
"casey.tunturi@gmail.com"
],
"declared": 6
}
},
"ci": {
"culver": {
"runs": 14,
"success": 1,
"failure": 13,
"other": 0,
"newest": {
"id": "ci:culver:862",
"conclusion": "success"
}
},
"pocketboot": {
"runs": 2,
"success": 0,
"failure": 2,
"other": 0,
"newest": {
"id": "ci:pocketboot:834",
"conclusion": "failure"
}
},
"souveraine": {
"runs": 71,
"success": 40,
"failure": 10,
"other": 21,
"newest": {
"id": "ci:souveraine:931",
"conclusion": "success"
}
},
"souveraine-updater": {
"runs": 6,
"success": 6,
"failure": 0,
"other": 0,
"newest": {
"id": "ci:souveraine-updater:885",
"conclusion": "success"
}
},
"Pixel3Arch": {
"runs": 5,
"success": 2,
"failure": 3,
"other": 0,
"newest": {
"id": "ci:Pixel3Arch:930",
"conclusion": "success"
}
}
},
"issues": {
"open": 6,
"opened_this_week": 0,
"closed_this_week": 0,
"ever_closed": 0,
"oldest_open": "i:SouveraineOS:3",
"oldest_open_days": -18
},
"pulls": {
"open": 2,
"merged_this_week": 0,
"oldest_open_days": 10
},
"releases": {
"cut_this_week": [
"r:souveraine:edge"
],
"newest_age_days": -2
},
"dimension_basis": {
"paths": 154,
"subject": 41,
"none": 19,
"repo": 12
}
}
}