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.
6393 lines
262 KiB
JSON
6393 lines
262 KiB
JSON
{
|
|
"week": "2026-W32",
|
|
"range": {
|
|
"start": "2026-08-03",
|
|
"end": "2026-08-09",
|
|
"tz": "America/Toronto",
|
|
"start_utc": "2026-08-03T04:00:00Z",
|
|
"end_utc": "2026-08-10T04:00:00Z"
|
|
},
|
|
"collected_at": "2026-08-18T22:46:38Z",
|
|
"collector": {
|
|
"tool": "tools/project-state/collect.py",
|
|
"version": 1,
|
|
"forge": "gitea 1.25.5",
|
|
"api_calls": 91,
|
|
"redacted": false,
|
|
"repos": {
|
|
"souveraine": {
|
|
"commits": 77,
|
|
"checkout": true
|
|
},
|
|
"SouveraineOS": {
|
|
"commits": 45,
|
|
"checkout": true
|
|
},
|
|
"Pixel3Arch": {
|
|
"commits": 33,
|
|
"checkout": true
|
|
},
|
|
"souveraine-viewtop": {
|
|
"commits": 45,
|
|
"checkout": true
|
|
},
|
|
"souveraine-updater": {
|
|
"commits": 0,
|
|
"checkout": true
|
|
},
|
|
"souveraine-lens": {
|
|
"commits": 0,
|
|
"checkout": true
|
|
},
|
|
"souveraine-speech": {
|
|
"commits": 0,
|
|
"checkout": true
|
|
},
|
|
"souveraine-player": {
|
|
"commits": 0,
|
|
"checkout": true
|
|
},
|
|
"souveraine-usb": {
|
|
"commits": 0,
|
|
"checkout": true
|
|
},
|
|
"culver": {
|
|
"commits": 0,
|
|
"checkout": true
|
|
},
|
|
"linux-blueline": {
|
|
"commits": 0,
|
|
"checkout": false
|
|
},
|
|
"hexagonrpc": {
|
|
"commits": 0,
|
|
"checkout": true
|
|
},
|
|
"smithay": {
|
|
"commits": 1,
|
|
"checkout": true
|
|
},
|
|
"pocketboot": {
|
|
"commits": 0,
|
|
"checkout": true
|
|
},
|
|
"libcmatrix": {
|
|
"commits": 0,
|
|
"checkout": false
|
|
},
|
|
"upower": {
|
|
"commits": 0,
|
|
"checkout": true
|
|
}
|
|
},
|
|
"notes": []
|
|
},
|
|
"commits": [
|
|
{
|
|
"id": "c:souveraine:6cb24549",
|
|
"repo": "souveraine",
|
|
"sha": "6cb245492ec118aabde693ef431461d3170de853",
|
|
"branch": "primary",
|
|
"at": "2026-08-03T15:16:09-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "sessiond: record the wake, so the trail can tell it from nothing",
|
|
"detail": "apply_gesture's dark-panel branch returned Unblank+Restore without a\nrecord_decision, while the blank branch records panel-off or\nlock-before-blank. The trail showed 'button-gesture recognised' and then\nsilence, so a press that woke the panel and a press that was swallowed\nleft identical evidence — which is the one question anyone debugging a\ndark phone is asking.",
|
|
"dimension": "identity",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"src/sessiond/device_state.rs"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/6cb245492ec118aabde693ef431461d3170de853"
|
|
},
|
|
{
|
|
"id": "c:SouveraineOS:dd92ecc7",
|
|
"repo": "SouveraineOS",
|
|
"sha": "dd92ecc71856f160a5ec544b59d9ebf11c4b4ee6",
|
|
"branch": "main",
|
|
"at": "2026-08-03T15:16:10-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "audit: what our own code is missing, 2026-08-03",
|
|
"detail": "Five protocol filters admit every client, two of them keystroke paths.\nA wake leaves no trail entry. The device flaps Locked/Observed with no\nhysteresis. Four behaviours recognised and bound to nothing. Three\nshipping paths that silently do not ship.",
|
|
"dimension": "unassigned",
|
|
"basis": "none",
|
|
"paths": [
|
|
"docs/AUDIT-2026-08-03.md"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/dd92ecc71856f160a5ec544b59d9ebf11c4b4ee6"
|
|
},
|
|
{
|
|
"id": "c:SouveraineOS:1a73e3f4",
|
|
"repo": "SouveraineOS",
|
|
"sha": "1a73e3f4dc0aeeca2c1bb49abcdf98f2eb3b95e6",
|
|
"branch": "main",
|
|
"at": "2026-08-03T15:18:35-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "audit: drop the report; the findings belong in the code and the tasks",
|
|
"detail": "",
|
|
"dimension": "unassigned",
|
|
"basis": "none",
|
|
"paths": [
|
|
"docs/AUDIT-2026-08-03.md"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/1a73e3f4dc0aeeca2c1bb49abcdf98f2eb3b95e6"
|
|
},
|
|
{
|
|
"id": "c:SouveraineOS:5c9a652d",
|
|
"repo": "SouveraineOS",
|
|
"sha": "5c9a652dfddd7dc8dd1fa11a44958e2c2722e137",
|
|
"branch": "main",
|
|
"at": "2026-08-03T15:31:56-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "docs: correct three claims that were false, in place",
|
|
"detail": "START-HERE §6 said the phone has no wifi away from home because the\nSSIDs are pinned. It joined a foreign SSID on 2026-08-02 and sat there\nworking while that paragraph sent the reader hunting for a cable. It\nnow says how to pass the address, and records that a phone off the home\nnet reaches the repo through the laptop rather than by bringing the\nphone's tunnel up.",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"START-HERE.md",
|
|
"docs/SECURITY-AUDIT.md",
|
|
"docs/tasks/51-viewtop-to-daily-driver.md"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/5c9a652dfddd7dc8dd1fa11a44958e2c2722e137"
|
|
},
|
|
{
|
|
"id": "c:souveraine-viewtop:ded525a7",
|
|
"repo": "souveraine-viewtop",
|
|
"sha": "ded525a730b67a8adae2d8cba0f8fe29b05316ff",
|
|
"branch": "main",
|
|
"at": "2026-08-03T15:44:02-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "compositor: windows reclaim the room a closing keyboard gives back",
|
|
"detail": "The resize fix only worked one way. The zone check lives on the layer\ncommit path and an unmap is not a commit, so nothing re-tiled when the\nkeyboard went away. Measured on the phone: kitty went 96x82 to 96x55\nwhen the keyboard opened and stayed 96x55 after it hid.",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"crates/compositor/src/wayland.rs"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine-viewtop/commit/ded525a730b67a8adae2d8cba0f8fe29b05316ff"
|
|
},
|
|
{
|
|
"id": "c:souveraine-viewtop:243a8373",
|
|
"repo": "souveraine-viewtop",
|
|
"sha": "243a837347420e8032324b730e1dafb2bf9cbbe1",
|
|
"branch": "main",
|
|
"at": "2026-08-03T15:44:14-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "compositor: privileged globals answer to the gate, not to everyone",
|
|
"detail": "Five globals were created with `|_| true` — the argument whose whole\npurpose is deciding who may bind. Four of them let a client act on a\nsession it does not own: read what was copied, decide what an\nunauthenticated screen shows, type into another window, or stand between\na keystroke and the application it was meant for. None needs a surface,\nfocus, or the user's attention. Verified live on the phone before the\nfix: `wtype` from an ssh session typed into a terminal and the text was\ncaptured verbatim.",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"crates/compositor/src/gate.rs"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine-viewtop/commit/243a837347420e8032324b730e1dafb2bf9cbbe1"
|
|
},
|
|
{
|
|
"id": "c:souveraine-viewtop:9bcc0138",
|
|
"repo": "souveraine-viewtop",
|
|
"sha": "9bcc0138518538348cbe78fbad298156a460618a",
|
|
"branch": "main",
|
|
"at": "2026-08-03T15:54:52-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "compositor: record who connected, or the gate refuses everyone",
|
|
"detail": "The bind filters read ClientState::peer, and nothing ever set it. Every\nclient was inserted with ClientState::default(), so peer was None for\nall of them — indistinguishable, to a filter that fails closed, from a\nconnection carrying no credentials at all.",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"crates/compositor/src/bin/viewtop.rs",
|
|
"crates/compositor/src/wayland.rs"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine-viewtop/commit/9bcc0138518538348cbe78fbad298156a460618a"
|
|
},
|
|
{
|
|
"id": "c:souveraine:1f028c12",
|
|
"repo": "souveraine",
|
|
"sha": "1f028c129e228ef95c1ffcb64b5052f76f5f3320",
|
|
"branch": "primary",
|
|
"at": "2026-08-03T16:03:36-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "sessiond: a one-second proximity blip no longer flaps the state",
|
|
"detail": "The phone's trail was almost entirely Locked -> Observed -> Locked. The\nsnapshots said why: prox=true on the way in, prox=false one second later\non the way out, over and over. `near` must hold 700 ms to be believed\nand `far` is believed instantly, so a one-second episode is long enough\nto enter and its end is immediate.",
|
|
"dimension": "identity",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"src/sessiond/device_state.rs"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/1f028c129e228ef95c1ffcb64b5052f76f5f3320"
|
|
},
|
|
{
|
|
"id": "c:Pixel3Arch:f234928f",
|
|
"repo": "Pixel3Arch",
|
|
"sha": "f234928fb9430a113b5c31a9fdd707b5eec0338d",
|
|
"branch": "main",
|
|
"at": "2026-08-03T16:06:03-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "usb-gadget: flush the stale address, because the directive did not",
|
|
"detail": "IgnoreCarrierLoss=5s is in this package and its comment says it\ndeconfigures a gadget that really lost carrier \"instead of relying on a\nmanual flush\". Measured on the phone with the package installed:",
|
|
"dimension": "release",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"pkgs/blueline-usb-gadget/PKGBUILD",
|
|
"pkgs/blueline-usb-gadget/blueline-usb-flush-stale.service",
|
|
"pkgs/blueline-usb-gadget/usb-flush-stale"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/f234928fb9430a113b5c31a9fdd707b5eec0338d"
|
|
},
|
|
{
|
|
"id": "c:souveraine:ca44b0be",
|
|
"repo": "souveraine",
|
|
"sha": "ca44b0be2a328db6d1b2b245308a576fce67b7af",
|
|
"branch": "primary",
|
|
"at": "2026-08-03T16:53:06-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "shell: the keyboard owns the bottom edge, and nothing measures it",
|
|
"detail": "Two bugs with one cause — the bottom edge was being reasoned about\ntwice, by hand, against a compositor that is gone.",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"surfaces/quickshell/modules/ii/dock/Dock.qml",
|
|
"surfaces/quickshell/modules/souveraine/navigation/SystemGestureRail.qml"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/ca44b0be2a328db6d1b2b245308a576fce67b7af"
|
|
},
|
|
{
|
|
"id": "c:souveraine-viewtop:24d743bf",
|
|
"repo": "souveraine-viewtop",
|
|
"sha": "24d743bf5d4c99cd28f12cada5d8abc35c748087",
|
|
"branch": "main",
|
|
"at": "2026-08-03T17:09:20-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "compositor: draw the border it promised, and let three fingers carry a window",
|
|
"detail": "new_decoration answers server-side, always, and refuses to negotiate —\nthen drew nothing. Every window arrived with no frame and no way to tell\ntwo of them apart. A protocol commitment the code does not keep is the\nsame defect as a doc that lies, so this is not the compositor authoring\nUI; it is the compositor doing what it already told every client it\nwould do.",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"crates/compositor/src/wayland.rs"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine-viewtop/commit/24d743bf5d4c99cd28f12cada5d8abc35c748087"
|
|
},
|
|
{
|
|
"id": "c:souveraine:c21bd1d7",
|
|
"repo": "souveraine",
|
|
"sha": "c21bd1d7d9de452991dc0c2e567418b6cf1caebf",
|
|
"branch": "primary",
|
|
"at": "2026-08-03T17:17:01-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "shell: stop gating the dock on a flag the keyboard flaps",
|
|
"detail": "Suppressing the dock whenever oskOpen was true, above effectivePinned so\nit applied in every state, hid the dock permanently on the device.",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"surfaces/quickshell/modules/ii/dock/Dock.qml"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/c21bd1d7d9de452991dc0c2e567418b6cf1caebf"
|
|
},
|
|
{
|
|
"id": "c:SouveraineOS:384cd945",
|
|
"repo": "SouveraineOS",
|
|
"sha": "384cd9453e2b497273a7d7d850329e33be26d0cd",
|
|
"branch": "main",
|
|
"at": "2026-08-03T17:18:01-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "task 51: what the window-action overlay is actually blocked on",
|
|
"detail": "Three fingers should raise an overlay with move/resize/close and the\nscaled, sliding visuals the reference shell has. Reading how that shell\ndoes it: its compositor publishes a texture_id AND full geometry per\nwindow on the wire, and the shell draws that texture wherever and at\nwhatever scale it likes. That is the whole trick behind scaled cards and\nevery sliding transition.",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"docs/tasks/51-viewtop-to-daily-driver.md"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/384cd9453e2b497273a7d7d850329e33be26d0cd"
|
|
},
|
|
{
|
|
"id": "c:souveraine-viewtop:47268660",
|
|
"repo": "souveraine-viewtop",
|
|
"sha": "47268660a48c2976d00e28fe0a4dab106aa59a50",
|
|
"branch": "main",
|
|
"at": "2026-08-03T17:26:07-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "wire: publish where a window is, not only how big it is",
|
|
"detail": "The registry carried size and never position, deliberately — the space\nowns where a window sits, and a second home for one idea is the shadow\ncopy doctrine forbids. That argument is about authority and it still\nholds: this is published, never accepted. `place` remains the only way\nposition changes and this is whatever the space says afterwards.",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"crates/compositor/src/registry.rs",
|
|
"crates/compositor/src/wayland.rs",
|
|
"crates/wire/src/lib.rs"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine-viewtop/commit/47268660a48c2976d00e28fe0a4dab106aa59a50"
|
|
},
|
|
{
|
|
"id": "c:Pixel3Arch:dfb2763d",
|
|
"repo": "Pixel3Arch",
|
|
"sha": "dfb2763d0a86f5fbf39276fcb2b2fc84dcaabcb3",
|
|
"branch": "main",
|
|
"at": "2026-08-03T17:44:33-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "pkgs: viewtop is a package, not a binary someone remembered to copy",
|
|
"detail": "viewtop was hand-scp'd to /usr/local/bin from the day it first ran,\nowned by nothing, beside a row of .prev-* copies of itself. That is the\npattern this repo's README names outright, and it is how sessiond once\nsat five days stale while every session believed it was current. There\nwas no path for a compositor fix to reach the phone except a human\nremembering.",
|
|
"dimension": "release",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"pkgs/souveraine-viewtop/PKGBUILD",
|
|
"pkgs/souveraine-viewtop/souveraine-session-viewtop"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/dfb2763d0a86f5fbf39276fcb2b2fc84dcaabcb3"
|
|
},
|
|
{
|
|
"id": "c:souveraine-viewtop:c896759e",
|
|
"repo": "souveraine-viewtop",
|
|
"sha": "c896759e03d0851d0c1bbc5ed550e023f85bf1bf",
|
|
"branch": "main",
|
|
"at": "2026-08-03T18:01:18-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "compositor: the shell can copy one window, not only the whole screen",
|
|
"detail": "The only capture source served was per-output, so a shell could copy the\npanel and nothing smaller. That is the second half of what blocks the\nwindow-action overlay: an overview card, an action sheet and every\nscaled or sliding window visual are made of a window's pixels on their\nown, and a shell that can only copy the screen cannot draw a window\nanywhere but where it already is.",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"crates/compositor/src/wayland.rs"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine-viewtop/commit/c896759e03d0851d0c1bbc5ed550e023f85bf1bf"
|
|
},
|
|
{
|
|
"id": "c:souveraine-viewtop:0eda51e6",
|
|
"repo": "souveraine-viewtop",
|
|
"sha": "0eda51e62c6111856b2d111fa6f3a22aaa171dab",
|
|
"branch": "main",
|
|
"at": "2026-08-03T18:03:48-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "compositor: standard toplevel handles carry title and app_id",
|
|
"detail": "The handles minted for per-window capture went out nameless. A shell\ndrawing an overview card would have had to join two protocols by hand to\nlabel it — wlr for the strings, the standard list for the handle the\npixels are addressed by. Both now come from the same place, published\nfrom publish_toplevel, which already runs on every change that can move\nthem. send_done after both, per the protocol: title and app_id are\npending state that done commits.",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"crates/compositor/src/wayland.rs"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine-viewtop/commit/0eda51e62c6111856b2d111fa6f3a22aaa171dab"
|
|
},
|
|
{
|
|
"id": "c:Pixel3Arch:f240848b",
|
|
"repo": "Pixel3Arch",
|
|
"sha": "f240848b22a45dcd713f84495f10e58da07812a5",
|
|
"branch": "main",
|
|
"at": "2026-08-03T18:05:12-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "triage: report the viewtop package, not the path it left",
|
|
"detail": "The version line read /usr/local/bin/viewtop and captioned it\n'hand-copied — TASK-25'. Once the package landed that printed an empty\nversion beside a caption that was no longer true, which is a diagnostic\nstating the opposite of the facts.",
|
|
"dimension": "surface",
|
|
"basis": "subject",
|
|
"paths": [
|
|
"tools/phone-triage.sh"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/f240848b22a45dcd713f84495f10e58da07812a5"
|
|
},
|
|
{
|
|
"id": "c:souveraine-viewtop:84cfe18d",
|
|
"repo": "souveraine-viewtop",
|
|
"sha": "84cfe18de19b61e1b6b40fc2134f8878bd9a4e91",
|
|
"branch": "main",
|
|
"at": "2026-08-03T18:06:39-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "Revert \"compositor: standard toplevel handles carry title and app_id\"",
|
|
"detail": "This reverts commit 0eda51e62c6111856b2d111fa6f3a22aaa171dab.",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"crates/compositor/src/wayland.rs"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine-viewtop/commit/84cfe18de19b61e1b6b40fc2134f8878bd9a4e91"
|
|
},
|
|
{
|
|
"id": "c:souveraine-viewtop:57af6bfd",
|
|
"repo": "souveraine-viewtop",
|
|
"sha": "57af6bfdc894e367abfdd9e6d4793cb86b4457ce",
|
|
"branch": "main",
|
|
"at": "2026-08-03T18:27:20-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "compositor: keep window frames inside the zone, and let them be turned off",
|
|
"detail": "Two faults, both visible the moment they shipped.",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"crates/compositor/src/control.rs",
|
|
"crates/compositor/src/wayland.rs"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine-viewtop/commit/57af6bfdc894e367abfdd9e6d4793cb86b4457ce"
|
|
},
|
|
{
|
|
"id": "c:souveraine:fdb0acfd",
|
|
"repo": "souveraine",
|
|
"sha": "fdb0acfdce8c23238c8fe3cefdaf2f664ccc39cf",
|
|
"branch": "primary",
|
|
"at": "2026-08-03T18:37:56-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "shell: the overview shows windows, because there are no workspaces here",
|
|
"detail": "OverviewWidget draws a grid of workspaces and places windows in them by\nHyprland coordinates — HyprlandData.windowList, monitorData,\nHyprland.monitorFor. Under viewtop none of it resolves, and more to the\npoint viewtop has no workspaces at all: one space, a tiling layout. The\nold overview could not be repaired by repointing it at another data\nsource, because the thing it draws does not exist. It rendered an empty\nframe, which reads as the overview being broken.",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"surfaces/quickshell/modules/ii/overview/Overview.qml",
|
|
"surfaces/quickshell/modules/souveraine/navigation/WindowOverview.qml",
|
|
"surfaces/quickshell/modules/souveraine/navigation/qmldir"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/fdb0acfdce8c23238c8fe3cefdaf2f664ccc39cf"
|
|
},
|
|
{
|
|
"id": "c:souveraine:8c41f454",
|
|
"repo": "souveraine",
|
|
"sha": "8c41f454201a63fa0395dcbdbb2794e0ea8b1285",
|
|
"branch": "primary",
|
|
"at": "2026-08-03T19:15:18-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "shell: the overview swipes sideways, and stops rejecting its own buffer",
|
|
"detail": "Two faults in the first cut.",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"surfaces/quickshell/modules/souveraine/navigation/WindowOverview.qml"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/8c41f454201a63fa0395dcbdbb2794e0ea8b1285"
|
|
},
|
|
{
|
|
"id": "c:souveraine-viewtop:4e67b414",
|
|
"repo": "souveraine-viewtop",
|
|
"sha": "4e67b4148f82600130c6876e64a71b56bbccea4f",
|
|
"branch": "main",
|
|
"at": "2026-08-03T19:25:41-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "compositor: her hand on the glass, and the pose the hit test has to undo",
|
|
"detail": "TASK-50, both halves.",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"crates/compositor/src/wayland.rs"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine-viewtop/commit/4e67b4148f82600130c6876e64a71b56bbccea4f"
|
|
},
|
|
{
|
|
"id": "c:souveraine-viewtop:92aeeeba",
|
|
"repo": "souveraine-viewtop",
|
|
"sha": "92aeeeba63353c497b4ee92a95f76042b9e9fec8",
|
|
"branch": "main",
|
|
"at": "2026-08-03T19:51:28-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "compositor: workspaces that flow, shift, and come and go",
|
|
"detail": "Hyprland's ten numbered rooms died with Hyprland\n(INTERFACE-ARCHITECTURE §4: hl.gesture{fingers=3,horizontal} was\nHyprland-native), and they are not what is wanted back. Casey:\n\"the workspaces are like... flowing... shifting and dynamic\",\n\"flexible and splitable\".",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"crates/compositor/src/lib.rs",
|
|
"crates/compositor/src/wayland.rs",
|
|
"crates/compositor/src/workspace.rs"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine-viewtop/commit/92aeeeba63353c497b4ee92a95f76042b9e9fec8"
|
|
},
|
|
{
|
|
"id": "c:souveraine-viewtop:acf22877",
|
|
"repo": "souveraine-viewtop",
|
|
"sha": "acf22877612c480a008bf85cbfd0e3b40570b68d",
|
|
"branch": "main",
|
|
"at": "2026-08-03T20:04:57-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "compositor: the strip springs home instead of teleporting",
|
|
"detail": "It felt like crap and the reason was one line: drag_end snapped offset\nto the target, so a smooth drag ended in an instant jump. Worse than no\ndrag at all — the hand is still moving when it lets go, and the world\narrived before it did.",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"crates/compositor/src/wayland.rs",
|
|
"crates/compositor/src/workspace.rs"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine-viewtop/commit/acf22877612c480a008bf85cbfd0e3b40570b68d"
|
|
},
|
|
{
|
|
"id": "c:souveraine-viewtop:b6726364",
|
|
"repo": "souveraine-viewtop",
|
|
"sha": "b6726364f812ecd14afeefa88027a9142413afe4",
|
|
"branch": "main",
|
|
"at": "2026-08-03T20:08:23-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "compositor: fullscreen takes a workspace, and the strip is on the socket",
|
|
"detail": "HOW-IT-WORKS already draws the line this needs: fullscreen is \"whole\ndisplay, no borders or gaps\", maximized \"keeps the normal workspace\nlayout margins\". A window asking for the whole display is asking not to\nshare, so it gets a workspace of its own and whatever it was tiled\nbeside is one swipe away instead of underneath it. Only when it is\nactually sharing — a window already alone would grow the strip for\nnothing.",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"crates/compositor/src/control.rs",
|
|
"crates/compositor/src/wayland.rs"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine-viewtop/commit/b6726364f812ecd14afeefa88027a9142413afe4"
|
|
},
|
|
{
|
|
"id": "c:souveraine-viewtop:31af8662",
|
|
"repo": "souveraine-viewtop",
|
|
"sha": "31af8662281980e12cd47ce1cbc3f0d18fd67a5e",
|
|
"branch": "main",
|
|
"at": "2026-08-03T20:38:10-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "compositor: stop deadlocking against the layer map on every window",
|
|
"detail": "Apps launched and never appeared. The log stopped dead at the first\n\"toplevel mapped\" and the control socket timed out, while the shell was\nstill active and nothing had errored — a frozen compositor looks exactly\nlike a healthy one from outside, which is why every gate stayed green.",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"crates/compositor/src/wayland.rs"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine-viewtop/commit/31af8662281980e12cd47ce1cbc3f0d18fd67a5e"
|
|
},
|
|
{
|
|
"id": "c:souveraine:91ea54eb",
|
|
"repo": "souveraine",
|
|
"sha": "91ea54ebf50dc7e5f2f3b5c20831327b74f619cd",
|
|
"branch": "primary",
|
|
"at": "2026-08-03T20:53:18-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "sessiond: touch gestures are a verb, so the compositor stops deciding",
|
|
"detail": "viewtop recognises three fingers and had nowhere to send it. The obvious\nmove — have the compositor call `qs ipc call overview toggle` itself —\nis the eighth blind actor §12 forbids by name, and wiuf-vpn-gate is what\nthat costs: 652 tunnel recycles in ninety minutes with no way to turn it\noff.",
|
|
"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/91ea54ebf50dc7e5f2f3b5c20831327b74f619cd"
|
|
},
|
|
{
|
|
"id": "c:souveraine:133daa94",
|
|
"repo": "souveraine",
|
|
"sha": "133daa94ef527a53029c5dfa5f67269c2fe0593b",
|
|
"branch": "primary",
|
|
"at": "2026-08-03T21:12:36-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "sessiond: the wake latch is per button, not one field for all of them",
|
|
"detail": "An audit found the fix from earlier tonight reintroduced through a\nsecond button. A tap never resolves on the UP edge — the recogniser\nreturns None and the tap lands when the 300 ms multi-tap window closes\non a later tick, up to about 1.3 s after the press — so a single shared\nlatch had to survive that whole gap, and any other button's DOWN edge\ninside it overwrote the answer.",
|
|
"dimension": "identity",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"src/sessiond/device_state.rs"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/133daa94ef527a53029c5dfa5f67269c2fe0593b"
|
|
},
|
|
{
|
|
"id": "c:souveraine-viewtop:a6dc4d8d",
|
|
"repo": "souveraine-viewtop",
|
|
"sha": "a6dc4d8dff2aea61f68110c152927451fa616271",
|
|
"branch": "main",
|
|
"at": "2026-08-03T21:17:29-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "compositor: an audit's worth of fixes, worst first",
|
|
"detail": "THE STRIP NEVER MOVED. Gesture::Drag's `from` is the PREVIOUS centroid,\nnot where the gesture began — only the first event carries the origin —\nso `to - from` is a few pixels and drag_to, whose contract is cumulative\ntravel and which recomputes the offset from drag_from every call, never\naccumulated. A whole-screen swipe moved the strip 1.7% of one workspace\nand settled back where it started. The three-finger swipe did nothing at\nall, on a feature shipped as \"flowing\". The field now documents the trap\nat the source; the caller keeps the gesture origin.",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"crates/compositor/src/control.rs",
|
|
"crates/compositor/src/gesture.rs",
|
|
"crates/compositor/src/input.rs",
|
|
"crates/compositor/src/wayland.rs",
|
|
"crates/compositor/src/workspace.rs"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine-viewtop/commit/a6dc4d8dff2aea61f68110c152927451fa616271"
|
|
},
|
|
{
|
|
"id": "c:souveraine-viewtop:c98f4c87",
|
|
"repo": "souveraine-viewtop",
|
|
"sha": "c98f4c87103874116720e8b67ecee0925ad0cac1",
|
|
"branch": "main",
|
|
"at": "2026-08-03T21:24:51-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "compositor: a window capture can answer what size it is",
|
|
"detail": "capture_constraints asked only for a WeakOutput, and a toplevel source\nnever has one — toplevel_source_created stores a ForeignToplevelWeakHandle\n— so the `?` returned None for every per-window session. smithay answers\nNone by stopping the session at creation, so frame() was never called and\ncopy_window_into never ran once. Every overview card was a transparent\nbox, on a compositor whose commit message said the shell could copy one\nwindow.",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"crates/compositor/src/wayland.rs"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine-viewtop/commit/c98f4c87103874116720e8b67ecee0925ad0cac1"
|
|
},
|
|
{
|
|
"id": "c:souveraine:cc4bb835",
|
|
"repo": "souveraine",
|
|
"sha": "cc4bb835734e1ef5c1d4bdb07a02da578609a500",
|
|
"branch": "primary",
|
|
"at": "2026-08-03T22:18:43-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "shell: the overview arrives as one surface, and mission control finally lands",
|
|
"detail": "Everything drove off a visible/not-visible flag, so the cards appeared\nrather than the overview opening. One shared `progress` now: the strip\nslides 24px, each card takes its own share of it staggered by index and\ncapped at the fifth, and scale runs 0.86 to 1.0 — the reference shell's\nnumbers, driven from the same clock instead of a timer per card. The cap\nis what stops the tenth card starting half a second after the first,\nwhich reads as loading rather than opening.",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"surfaces/quickshell/modules/ii/overview/Overview.qml",
|
|
"surfaces/quickshell/modules/souveraine/navigation/WindowOverview.qml"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/cc4bb835734e1ef5c1d4bdb07a02da578609a500"
|
|
},
|
|
{
|
|
"id": "c:souveraine:914e48f2",
|
|
"repo": "souveraine",
|
|
"sha": "914e48f2d3135bee3ad766e8286fa895def647ba",
|
|
"branch": "primary",
|
|
"at": "2026-08-03T22:20:51-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "shell: locking closes the keyboard, and unlocking does not bring it back",
|
|
"detail": "The hold machinery remembers whether the keyboard was up when the first\nhold was taken, so releasing the last hold restores rather than clobbers\nit. Across a lock that restore is wrong: the keyboard was up because of\nsomething being typed before the phone went down, and the first thing\nyou see on unlocking is a keyboard sitting over whatever you came back\nfor.",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"surfaces/quickshell/GlobalStates.qml"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/914e48f2d3135bee3ad766e8286fa895def647ba"
|
|
},
|
|
{
|
|
"id": "c:SouveraineOS:0a36a4df",
|
|
"repo": "SouveraineOS",
|
|
"sha": "0a36a4df5a61c727e3851462f8dd8a6628de86d8",
|
|
"branch": "main",
|
|
"at": "2026-08-04T08:07:06-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "task 53: what the compositor audit left open",
|
|
"detail": "Nine findings from an adversarial read of the night's work, ranked.\nSix others from the same audit are already fixed; these are the rest.",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"docs/tasks/53-viewtop-audit-open.md",
|
|
"docs/tasks/README.md"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/0a36a4df5a61c727e3851462f8dd8a6628de86d8"
|
|
},
|
|
{
|
|
"id": "c:souveraine-viewtop:e0ad2c4e",
|
|
"repo": "souveraine-viewtop",
|
|
"sha": "e0ad2c4efa0d340396cc0c2c4d31ef28193c8d81",
|
|
"branch": "main",
|
|
"at": "2026-08-04T08:12:51-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "compositor: the three-finger tap is named and sent, not decided here",
|
|
"detail": "`on_gesture` called `toggle_float` directly, which made the compositor\nboth the recogniser and the binder — the eighth blind actor\nDEVICE-STATE-MACHINE §12 forbids by name, and what wiuf-vpn-gate cost:\n652 tunnel recycles in ninety minutes with no way to turn it off.",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"crates/compositor/src/evidence.rs",
|
|
"crates/compositor/src/wayland.rs",
|
|
"crates/sessiond-client/src/lib.rs"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine-viewtop/commit/e0ad2c4efa0d340396cc0c2c4d31ef28193c8d81"
|
|
},
|
|
{
|
|
"id": "c:SouveraineOS:f2827473",
|
|
"repo": "SouveraineOS",
|
|
"sha": "f28274730fdb2ffe8335f5f817d7e836f5dcbabb",
|
|
"branch": "main",
|
|
"at": "2026-08-04T08:12:52-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "task 53: un-floating a window has no verb",
|
|
"detail": "toggle_float was the only caller-visible un-float and it went with the\nthree-finger binding when that became a sessiond verb. Recorded rather\nthan left as dead code with a comment.",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"docs/tasks/53-viewtop-audit-open.md"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/f28274730fdb2ffe8335f5f817d7e836f5dcbabb"
|
|
},
|
|
{
|
|
"id": "c:souveraine-viewtop:ba82168e",
|
|
"repo": "souveraine-viewtop",
|
|
"sha": "ba82168e30b36df65d17ecdea0d978c641a33351",
|
|
"branch": "main",
|
|
"at": "2026-08-04T09:28:16-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "compositor: the rest of the audit — one hit test, bounded contacts, a way back from floating",
|
|
"detail": "TASK-53 §1-§10.",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"crates/compositor/src/foreign_toplevel.rs",
|
|
"crates/compositor/src/gate.rs",
|
|
"crates/compositor/src/input.rs",
|
|
"crates/compositor/src/wayland.rs",
|
|
"crates/compositor/src/workspace.rs",
|
|
"crates/wire/src/lib.rs",
|
|
"crates/wire/src/verbs.rs"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine-viewtop/commit/ba82168e30b36df65d17ecdea0d978c641a33351"
|
|
},
|
|
{
|
|
"id": "c:SouveraineOS:8ac3267c",
|
|
"repo": "SouveraineOS",
|
|
"sha": "8ac3267cc1713616dcaf3292a839c2d3b75fb82e",
|
|
"branch": "main",
|
|
"at": "2026-08-04T09:31:44-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "task 53: all ten fixed and pushed; unverified on glass",
|
|
"detail": "",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"docs/tasks/53-viewtop-audit-open.md",
|
|
"docs/tasks/README.md"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/8ac3267cc1713616dcaf3292a839c2d3b75fb82e"
|
|
},
|
|
{
|
|
"id": "c:souveraine:356cfc64",
|
|
"repo": "souveraine",
|
|
"sha": "356cfc646236e51daf6fc60573358e45144a8239",
|
|
"branch": "primary",
|
|
"at": "2026-08-04T09:32:03-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "overview: viewtop has workspaces; the header said it did not",
|
|
"detail": "",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"surfaces/quickshell/modules/souveraine/navigation/WindowOverview.qml"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/356cfc646236e51daf6fc60573358e45144a8239"
|
|
},
|
|
{
|
|
"id": "c:souveraine-viewtop:b7d3ebb4",
|
|
"repo": "souveraine-viewtop",
|
|
"sha": "b7d3ebb4c8c95a972a4673ac8a6fc6eae0a4b857",
|
|
"branch": "main",
|
|
"at": "2026-08-04T09:35:07-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "compositor: a render that drew nothing does not retire a flip already in flight",
|
|
"detail": "",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"crates/compositor/src/wayland.rs"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine-viewtop/commit/b7d3ebb4c8c95a972a4673ac8a6fc6eae0a4b857"
|
|
},
|
|
{
|
|
"id": "c:souveraine:d0c64880",
|
|
"repo": "souveraine",
|
|
"sha": "d0c6488099665e7a13745efdfb0723ce0be60afb",
|
|
"branch": "primary",
|
|
"at": "2026-08-04T09:39:00-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "deploy: WindowOverview is in the qmldir and was not in the manifest",
|
|
"detail": "",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"surfaces/quickshell/deploy.sh"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/d0c6488099665e7a13745efdfb0723ce0be60afb"
|
|
},
|
|
{
|
|
"id": "c:souveraine-viewtop:bed1ed6e",
|
|
"repo": "souveraine-viewtop",
|
|
"sha": "bed1ed6e25e105a14c4a1c51bd7770eb4e4a098c",
|
|
"branch": "main",
|
|
"at": "2026-08-04T09:45:55-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "compositor: delivered means it reached a client, not that the slot is held",
|
|
"detail": "Found on the phone: touch_down on a locked session answered\n{\"delivered\": true} while resolve had withheld the contact. A withheld\ncontact stays tracked on purpose — evidence is about the finger — so\nis_down was the wrong question.",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"crates/compositor/src/input.rs",
|
|
"crates/compositor/src/wayland.rs"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine-viewtop/commit/bed1ed6e25e105a14c4a1c51bd7770eb4e4a098c"
|
|
},
|
|
{
|
|
"id": "c:souveraine-viewtop:64463867",
|
|
"repo": "souveraine-viewtop",
|
|
"sha": "64463867a7a61b1e4a517636a05c48afda942084",
|
|
"branch": "main",
|
|
"at": "2026-08-04T09:50:38-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "compositor: a close removes its own membership, so the drift warning means drift",
|
|
"detail": "",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"crates/compositor/src/wayland.rs"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine-viewtop/commit/64463867a7a61b1e4a517636a05c48afda942084"
|
|
},
|
|
{
|
|
"id": "c:SouveraineOS:74c653a2",
|
|
"repo": "SouveraineOS",
|
|
"sha": "74c653a2627a467482891381a19888d02f59ffa6",
|
|
"branch": "main",
|
|
"at": "2026-08-04T09:52:55-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "task 53: verified on the phone; two more found by running it",
|
|
"detail": "",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"docs/tasks/53-viewtop-audit-open.md",
|
|
"docs/tasks/README.md"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/74c653a2627a467482891381a19888d02f59ffa6"
|
|
},
|
|
{
|
|
"id": "c:SouveraineOS:6b38f643",
|
|
"repo": "SouveraineOS",
|
|
"sha": "6b38f643bf747fdab332755acad712104f145181",
|
|
"branch": "main",
|
|
"at": "2026-08-04T10:03:53-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "task 53: shipped as a package, cold boot verified",
|
|
"detail": "",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"docs/tasks/53-viewtop-audit-open.md",
|
|
"docs/tasks/README.md"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/6b38f643bf747fdab332755acad712104f145181"
|
|
},
|
|
{
|
|
"id": "c:souveraine-viewtop:6c9614c2",
|
|
"repo": "souveraine-viewtop",
|
|
"sha": "6c9614c20471551a8990ef1c069fd335da75851c",
|
|
"branch": "main",
|
|
"at": "2026-08-04T10:34:01-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "compositor: a missing sessiond is a wait, not a verdict",
|
|
"detail": "Cold boot 2026-08-04: viewtop looked for the socket 0.46s into its life,\nsessiond's user unit bound it a moment later, and both callers returned for\ngood — every button edge, gesture, wake and touch report discarded for the\nlife of the process, and observe_authority never fed. The phone came up with\na working screen and a dead power button; sessiond still read touch: unknown\nan hour later.",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"crates/compositor/src/bin/viewtop.rs",
|
|
"crates/compositor/src/evidence.rs",
|
|
"crates/sessiond-client/src/lib.rs"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine-viewtop/commit/6c9614c20471551a8990ef1c069fd335da75851c"
|
|
},
|
|
{
|
|
"id": "c:SouveraineOS:271e22cf",
|
|
"repo": "SouveraineOS",
|
|
"sha": "271e22cf6ada2e8d84468b4a11b7087dc1e2575c",
|
|
"branch": "main",
|
|
"at": "2026-08-04T10:39:19-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "task 53: the third defect the hardware found — discovery gave up on sessiond",
|
|
"detail": "",
|
|
"dimension": "identity",
|
|
"basis": "subject",
|
|
"paths": [
|
|
"docs/tasks/53-viewtop-audit-open.md",
|
|
"docs/tasks/README.md"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/271e22cf6ada2e8d84468b4a11b7087dc1e2575c"
|
|
},
|
|
{
|
|
"id": "c:souveraine:1a3c24fa",
|
|
"repo": "souveraine",
|
|
"sha": "1a3c24fadba59ec4997429a3a68c71bd73270931",
|
|
"branch": "primary",
|
|
"at": "2026-08-04T11:27:13-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "claude: fix Opus 5 wire incompatibilities",
|
|
"detail": "Drop temperature for models that removed sampling params (400 otherwise).\nPreserve signed thinking blocks across tool rounds — Anthropic rejects a\ntool_use whose preceding thinking block was dropped. Raise default\nmax_tokens to 32k for thinking-by-default models and request summarized\ndisplay so the reasoning pane is fed.",
|
|
"dimension": "runtime",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"src/bridge/bifrost.rs",
|
|
"src/bridge/claude_subscription.rs",
|
|
"src/bridge/providers/responses.rs",
|
|
"src/core/reflection/mod.rs",
|
|
"src/server/consciousness_engine.rs",
|
|
"src/server/subagent.rs",
|
|
"src/server/turn.rs"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/1a3c24fadba59ec4997429a3a68c71bd73270931"
|
|
},
|
|
{
|
|
"id": "c:Pixel3Arch:5453d685",
|
|
"repo": "Pixel3Arch",
|
|
"sha": "5453d685990976351675bd9b78701aa970f281b1",
|
|
"branch": "main",
|
|
"at": "2026-08-04T14:24:45Z",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "souveraine-viewtop: pkgver to the built tip",
|
|
"detail": "",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"pkgs/souveraine-viewtop/PKGBUILD"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/5453d685990976351675bd9b78701aa970f281b1"
|
|
},
|
|
{
|
|
"id": "c:souveraine:44a54330",
|
|
"repo": "souveraine",
|
|
"sha": "44a54330c2da13b3ef2ae49499d5577b8dafbe1b",
|
|
"branch": "primary",
|
|
"at": "2026-08-04T14:43:35-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "shell: mission control draws the cards it was already building",
|
|
"detail": "The panel, its mask and the loader all moved to overviewOpen ||\nmissionControlOpen when mission control landed; the Column holding them\ndid not. So the second-stage pill swipe raised a panel whose entire\ncontents were invisible — WindowOverview instantiated, laid out, and never\nshown.",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"surfaces/quickshell/modules/ii/overview/Overview.qml"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/44a54330c2da13b3ef2ae49499d5577b8dafbe1b"
|
|
},
|
|
{
|
|
"id": "c:souveraine-viewtop:86d0f939",
|
|
"repo": "souveraine-viewtop",
|
|
"sha": "86d0f939a9debeecd9f9965e699a61e2280addeb",
|
|
"branch": "main",
|
|
"at": "2026-08-04T14:55:17-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "compositor: serve the window capture the shell actually asks for",
|
|
"detail": "quickshell holds wlr toplevel handles — that is the protocol with activate\nand close, so it is the only one that can carry the dock. An ext capture\nsource is named by an ext_foreign_toplevel_handle_v1 from a different\nprotocol, and nothing correlates the two, so the standard per-window path\nserved here was unreachable. Measured: assigning a Toplevel to a\nScreencopyView logs \"Capture source set to non captureable object\" and\nthis compositor is never asked. Every overview card and dock preview was a\ntitle over a transparent box while the code to fill it sat here, complete.",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"Cargo.lock",
|
|
"crates/compositor/Cargo.toml",
|
|
"crates/compositor/protocols/hyprland-toplevel-export-v1.xml",
|
|
"crates/compositor/src/gate.rs",
|
|
"crates/compositor/src/lib.rs",
|
|
"crates/compositor/src/toplevel_export.rs",
|
|
"crates/compositor/src/wayland.rs"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine-viewtop/commit/86d0f939a9debeecd9f9965e699a61e2280addeb"
|
|
},
|
|
{
|
|
"id": "c:souveraine:f320a022",
|
|
"repo": "souveraine",
|
|
"sha": "f320a0221d8a424cd26a2eaf4f8a0dda1fb5a9dc",
|
|
"branch": "primary",
|
|
"at": "2026-08-04T15:02:34-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "shell: answer to the ipc target sessiond actually calls",
|
|
"detail": "Action::Overview shells out to `ipc call overview toggle`. The only handler\nhere was `search`, so that call reached nothing and the three-finger tap\ndid nothing, without an error anyone would see.",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"surfaces/quickshell/modules/ii/overview/Overview.qml"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/f320a0221d8a424cd26a2eaf4f8a0dda1fb5a9dc"
|
|
},
|
|
{
|
|
"id": "c:Pixel3Arch:aee40a07",
|
|
"repo": "Pixel3Arch",
|
|
"sha": "aee40a076d46c32a50917f06a9d2c99552d1c62b",
|
|
"branch": "main",
|
|
"at": "2026-08-04T15:23:09-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "packages: build souveraine-viewtop, which nothing ever did",
|
|
"detail": "The PKGBUILD has been in pkgs/ since the hand-scp era and appears in none\nof the build lists here, so the package it exists to replace kept being\nmade by hand on archdev. The device ran r74 while main was several commits\nahead, and a green run on the viewtop repo said nothing about that: its CI\nonly checks — fmt, clippy, test, cross-build — and never publishes.",
|
|
"dimension": "release",
|
|
"basis": "paths",
|
|
"paths": [
|
|
".gitea/workflows/packages.yml"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/aee40a076d46c32a50917f06a9d2c99552d1c62b"
|
|
},
|
|
{
|
|
"id": "c:Pixel3Arch:af17845b",
|
|
"repo": "Pixel3Arch",
|
|
"sha": "af17845b7430b32866489aa7362640a1d31b7f57",
|
|
"branch": "main",
|
|
"at": "2026-08-04T15:28:50-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "packages: viewtop's clone needs credentials, it is the only one that does",
|
|
"detail": "souveraine-viewtop is the only PKGBUILD whose source= is a repo on our own\nGitea; everything else fetches from a public host or from this checkout. So\nit was the only clone makepkg could not authenticate, and it died with\n\"could not read Username\" after twenty minutes of other packages built.",
|
|
"dimension": "release",
|
|
"basis": "paths",
|
|
"paths": [
|
|
".gitea/workflows/packages.yml"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/af17845b7430b32866489aa7362640a1d31b7f57"
|
|
},
|
|
{
|
|
"id": "c:Pixel3Arch:64495406",
|
|
"repo": "Pixel3Arch",
|
|
"sha": "644954060203d92c934c5887ee1b4f4fb7e5d875",
|
|
"branch": "main",
|
|
"at": "2026-08-04T15:36:11-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "packages: viewtop clones anonymously, like every other source",
|
|
"detail": "The repo is public now, so makepkg needs no credentials and the extraheader\nattempt comes back out — it did not work anyway (global git config does not\nreach makepkg's clone), and config that looks like it authenticates but\ndoes not is worse than none.",
|
|
"dimension": "release",
|
|
"basis": "paths",
|
|
"paths": [
|
|
".gitea/workflows/packages.yml"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/644954060203d92c934c5887ee1b4f4fb7e5d875"
|
|
},
|
|
{
|
|
"id": "c:Pixel3Arch:a3d5df9a",
|
|
"repo": "Pixel3Arch",
|
|
"sha": "a3d5df9ab14191f858c44708ada82c40932e4638",
|
|
"branch": "main",
|
|
"at": "2026-08-04T15:41:22-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "packages: authenticate viewtop's clone via GIT_CONFIG env",
|
|
"detail": "Gitea requires sign-in instance-wide, so a public repo still 403s anonymously.\nmakepkg spawns its own git and git config --global does not reach it; the\nGIT_CONFIG_COUNT/KEY/VALUE form does, since git reads it per process.",
|
|
"dimension": "release",
|
|
"basis": "paths",
|
|
"paths": [
|
|
".gitea/workflows/packages.yml"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/a3d5df9ab14191f858c44708ada82c40932e4638"
|
|
},
|
|
{
|
|
"id": "c:souveraine:6b67512c",
|
|
"repo": "souveraine",
|
|
"sha": "6b67512c4f70d9c16347485abf7f12a9013cdd75",
|
|
"branch": "primary",
|
|
"at": "2026-08-04T16:17:21-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "sensord: stop claiming the accelerometer",
|
|
"detail": "Measured on the phone, idle, screen on, same session, one flag apart:",
|
|
"dimension": "sensorium",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"src/bin/souveraine-sensord.rs"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/6b67512c4f70d9c16347485abf7f12a9013cdd75"
|
|
},
|
|
{
|
|
"id": "c:souveraine-viewtop:f25c2b22",
|
|
"repo": "souveraine-viewtop",
|
|
"sha": "f25c2b22fba8f4fa07dec8208949e5c6c1b2faae",
|
|
"branch": "main",
|
|
"at": "2026-08-04T16:45:24-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "compositor: publish a window's title when it sets one",
|
|
"detail": "publish_toplevel ran at map, on focus change, and on maximize/fullscreen —\nnever on commit. Clients set xdg_toplevel.title *after* mapping and change\nit constantly after that: a terminal per command, a browser per tab. So the\none publish at map time carried the empty string and nothing corrected it.",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"crates/compositor/src/wayland.rs"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine-viewtop/commit/f25c2b22fba8f4fa07dec8208949e5c6c1b2faae"
|
|
},
|
|
{
|
|
"id": "c:SouveraineOS:18c58fc0",
|
|
"repo": "SouveraineOS",
|
|
"sha": "18c58fc079c561b6664988b2a972a9b95c46351a",
|
|
"branch": "main",
|
|
"at": "2026-08-04T18:18:17-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "docs: the day viewtop got its package, its titles and its borders",
|
|
"detail": "STATE.md was five days stale. It now carries what is on the phone\n(viewtop r76, souveraine r333) and the four defects fixed on the glass:\nper-window capture was unreachable because quickshell holds wlr handles and\nthe ext capture source is named by an ext handle with nothing correlating\nthem; titles were never republished on commit; the border was a filled slab\nthat relied on the client covering its middle; capture came back flipped.",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"STATE.md",
|
|
"USB/README.md",
|
|
"docs/tasks/08-device-state-manager.md",
|
|
"docs/tasks/15-idle-coordinator.md",
|
|
"docs/tasks/54-drawing-what-nobody-sees.md",
|
|
"docs/tasks/55-hand-verbs-on-the-glass.md",
|
|
"docs/tasks/56-island-and-the-bars-honest-face.md",
|
|
"docs/tasks/57-pi-dock-head.md",
|
|
"docs/tasks/58-host-power-smb2-boost.md",
|
|
"docs/tasks/README.md"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/18c58fc079c561b6664988b2a972a9b95c46351a"
|
|
},
|
|
{
|
|
"id": "c:souveraine-viewtop:3d1cbe2c",
|
|
"repo": "souveraine-viewtop",
|
|
"sha": "3d1cbe2cf710c992a95a2800a2c8665a962fefca",
|
|
"branch": "main",
|
|
"at": "2026-08-04T19:16:20-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "compositor: publish an identity for this run, so the shell can tell it apart",
|
|
"detail": "The shell's answer to \"did the session just come up, or did I reload?\" was\nHYPRLAND_INSTANCE_SIGNATURE. That is unset here, so Persistent.qml compared\nthe empty string to the empty string and concluded \"not a new instance\"\nevery time. `lock.launchOnStartup` is gated on exactly that flag and has\ntherefore never fired once under viewtop; idle behaviour hangs off it too.",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"crates/compositor/src/control.rs",
|
|
"crates/compositor/src/wayland.rs"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine-viewtop/commit/3d1cbe2cf710c992a95a2800a2c8665a962fefca"
|
|
},
|
|
{
|
|
"id": "c:souveraine:95dd21b9",
|
|
"repo": "souveraine",
|
|
"sha": "95dd21b998b0cc3c393364e10d200614f152d623",
|
|
"branch": "primary",
|
|
"at": "2026-08-04T19:19:31-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "shell: take the instance signature from viewtop, not from Hyprland's env",
|
|
"detail": "HYPRLAND_INSTANCE_SIGNATURE is unset under viewtop, so this compared \"\" to\n\"\" and isNewHyprlandInstance was false on every start. It gates\nlock.launchOnStartup, which has therefore never fired once under viewtop,\nand both Idle.qml copies read it as well.",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"surfaces/quickshell/modules/common/Persistent.qml"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/95dd21b998b0cc3c393364e10d200614f152d623"
|
|
},
|
|
{
|
|
"id": "c:souveraine:80cb4b28",
|
|
"repo": "souveraine",
|
|
"sha": "80cb4b289db455891b79e1ebec962e9ceec6fb68",
|
|
"branch": "primary",
|
|
"at": "2026-08-04T19:25:59-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "shell: read the instance file synchronously, or it is empty when asked",
|
|
"detail": "FileView loads async, so text() was still empty when onReadyChanged read it\nonce to decide whether this is a new session. It fell through to the unset\nenv var and persisted \"\" — the same bug, reached by a different route.\nVerified on device: the stored signature now matches viewtop.instance.",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"surfaces/quickshell/modules/common/Persistent.qml"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/80cb4b289db455891b79e1ebec962e9ceec6fb68"
|
|
},
|
|
{
|
|
"id": "c:souveraine:ca272d1d",
|
|
"repo": "souveraine",
|
|
"sha": "ca272d1d7dd8b6a4f8e9361352644997873eae09",
|
|
"branch": "primary",
|
|
"at": "2026-08-04T19:27:53-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "shell: the bar claims its space instead of asking to be ignored",
|
|
"detail": "exclusionMode was ExclusionMode.Ignore, which tells the compositor to\ndisregard the exclusive zone outright — so the expression below it computed\na height that was thrown away and every window laid out underneath the bar.\nThe bar is not app space while it is visible.",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"surfaces/quickshell/ii-base/modules/ii/bar/Bar.qml"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/ca272d1d7dd8b6a4f8e9361352644997873eae09"
|
|
},
|
|
{
|
|
"id": "c:souveraine:bc094803",
|
|
"repo": "souveraine",
|
|
"sha": "bc0948037540f65ef73517a426f584d3206a870e",
|
|
"branch": "primary",
|
|
"at": "2026-08-04T20:25:24-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "claude: adopt rotated credentials instead of failing until restart",
|
|
"detail": "The credential file is shared with `claude` itself and its refresh token is\none-time-use, so whichever process refreshes first rotates the other's copy to\nspent. On a failed refresh the provider kept the stale token and 400d every\nturn until the service was restarted by hand — measured 2026-08-05, invalid_grant\nfrom 00:03 onward while the file on disk already held a valid pair written at\n00:08.",
|
|
"dimension": "identity",
|
|
"basis": "subject",
|
|
"paths": [
|
|
"src/bridge/claude_subscription.rs"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/bc0948037540f65ef73517a426f584d3206a870e"
|
|
},
|
|
{
|
|
"id": "c:souveraine:d7a04f27",
|
|
"repo": "souveraine",
|
|
"sha": "d7a04f27d53402181d512845f233b24b335ba5bf",
|
|
"branch": "primary",
|
|
"at": "2026-08-05T07:34:53-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "shell: an owner change is not a visibility event",
|
|
"detail": "sm.puri.OSK0 is a name, not a process. Boot, a crash-restart and an\nosk-switch swap each put a fresh keyboard behind it, and the visibility\nmonitor mirrored the newcomer's opening claim into oskOpen as though the\nuser had asked for a keyboard. Measured: shell up 03:03:38, self-showed\nat 03:03:43, nobody near the phone.",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"surfaces/quickshell/modules/ii/onScreenKeyboard/OnScreenKeyboard.qml"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/d7a04f27d53402181d512845f233b24b335ba5bf"
|
|
},
|
|
{
|
|
"id": "c:souveraine:3aea8398",
|
|
"repo": "souveraine",
|
|
"sha": "3aea8398a90bef229d473e5fbfc10ae8bab6620d",
|
|
"branch": "primary",
|
|
"at": "2026-08-05T07:41:02-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "shell: intent wins the settle window, and a swap is a request for a keyboard",
|
|
"detail": "Two gaps in the owner-change handling, both found on device.",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"surfaces/quickshell/modules/ii/onScreenKeyboard/OnScreenKeyboard.qml",
|
|
"surfaces/quickshell/services/Gestures.qml"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/3aea8398a90bef229d473e5fbfc10ae8bab6620d"
|
|
},
|
|
{
|
|
"id": "c:souveraine-viewtop:9e898ddf",
|
|
"repo": "souveraine-viewtop",
|
|
"sha": "9e898ddfcdc2a9cb41b29960d97575d91437d463",
|
|
"branch": "main",
|
|
"at": "2026-08-05T14:12:14-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "gesture: tap carries its window; add kill",
|
|
"detail": "",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"crates/compositor/src/evidence.rs",
|
|
"crates/compositor/src/wayland.rs",
|
|
"crates/sessiond-client/src/lib.rs",
|
|
"crates/wire/src/lib.rs",
|
|
"crates/wire/src/verbs.rs"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine-viewtop/commit/9e898ddfcdc2a9cb41b29960d97575d91437d463"
|
|
},
|
|
{
|
|
"id": "c:souveraine:bf8bc013",
|
|
"repo": "souveraine",
|
|
"sha": "bf8bc013efdfa80ece914577abf0965f42fb5bb0",
|
|
"branch": "primary",
|
|
"at": "2026-08-05T14:12:22-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "three-finger tap opens a window sheet, not the overview",
|
|
"detail": "",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"src/sessiond/device_state.rs",
|
|
"src/sessiond/protocol.rs",
|
|
"src/sessiond/server.rs",
|
|
"surfaces/quickshell/SettingsWindow.qml",
|
|
"surfaces/quickshell/deploy.sh",
|
|
"surfaces/quickshell/ii-phone/scripts/ai/gemini-categorize-wallpaper.sh",
|
|
"surfaces/quickshell/modules/common/Config.qml",
|
|
"surfaces/quickshell/modules/common/widgets/FloatingActionButton.qml",
|
|
"surfaces/quickshell/modules/ii/background/widgets/clock/CookieClock.qml",
|
|
"surfaces/quickshell/modules/ii/overview/AppGrid.qml",
|
|
"surfaces/quickshell/modules/ii/overview/Overview.qml",
|
|
"surfaces/quickshell/modules/ii/overview/qmldir",
|
|
"surfaces/quickshell/modules/settings/OverviewConfig.qml",
|
|
"surfaces/quickshell/modules/settings/qmldir",
|
|
"surfaces/quickshell/modules/souveraine/windowSheet/SheetButton.qml",
|
|
"surfaces/quickshell/modules/souveraine/windowSheet/WindowSheet.qml",
|
|
"surfaces/quickshell/modules/souveraine/windowSheet/qmldir",
|
|
"surfaces/quickshell/panelFamilies/SouveraineFamily.qml",
|
|
"surfaces/quickshell/services/ViewtopControl.qml",
|
|
"surfaces/quickshell/services/qmldir",
|
|
"surfaces/quickshell/settings.qml"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/bf8bc013efdfa80ece914577abf0965f42fb5bb0"
|
|
},
|
|
{
|
|
"id": "c:souveraine:f7eba9f6",
|
|
"repo": "souveraine",
|
|
"sha": "f7eba9f65887c6177891b7c1e4a92a39b6af2d76",
|
|
"branch": "primary",
|
|
"at": "2026-08-05T14:37:56-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "hold power for a device menu; usb-c state shown, not faked",
|
|
"detail": "",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"src/sessiond/device_state.rs",
|
|
"src/sessiond/server.rs",
|
|
"surfaces/quickshell/deploy.sh",
|
|
"surfaces/quickshell/modules/souveraine/windowSheet/PowerMenu.qml",
|
|
"surfaces/quickshell/modules/souveraine/windowSheet/qmldir",
|
|
"surfaces/quickshell/panelFamilies/SouveraineFamily.qml"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/f7eba9f65887c6177891b7c1e4a92a39b6af2d76"
|
|
},
|
|
{
|
|
"id": "c:souveraine:b0688bc3",
|
|
"repo": "souveraine",
|
|
"sha": "b0688bc30b07d24f4b6d6710a7b931f479ea2040",
|
|
"branch": "primary",
|
|
"at": "2026-08-05T14:52:48-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "split chooser, home reaches the compositor, idle-inhibit comment was backwards",
|
|
"detail": "",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"src/sessiond/idle.rs",
|
|
"surfaces/quickshell/modules/souveraine/navigation/SystemGestureRail.qml",
|
|
"surfaces/quickshell/modules/souveraine/windowSheet/WindowSheet.qml",
|
|
"surfaces/quickshell/services/ViewtopControl.qml"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/b0688bc30b07d24f4b6d6710a7b931f479ea2040"
|
|
},
|
|
{
|
|
"id": "c:SouveraineOS:2e77529b",
|
|
"repo": "SouveraineOS",
|
|
"sha": "2e77529b401a9ecc7600844f47f5a2d758230280",
|
|
"branch": "main",
|
|
"at": "2026-08-05T14:53:04-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "55: sheet, split chooser, power menu; viewtop ships by pacman",
|
|
"detail": "",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"START-HERE.md",
|
|
"docs/tasks/14-overview-appgrid.md",
|
|
"docs/tasks/51-viewtop-to-daily-driver.md",
|
|
"docs/tasks/53-viewtop-audit-open.md",
|
|
"docs/tasks/55-hand-verbs-on-the-glass.md",
|
|
"docs/tasks/README.md"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/2e77529b401a9ecc7600844f47f5a2d758230280"
|
|
},
|
|
{
|
|
"id": "c:souveraine-viewtop:bac4177f",
|
|
"repo": "souveraine-viewtop",
|
|
"sha": "bac4177fc5153251571a6525dca0632512ec2e07",
|
|
"branch": "main",
|
|
"at": "2026-08-05T15:32:23-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "three fingers only open the sheet; grab replaces the carry; home zone stays clear",
|
|
"detail": "",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"crates/compositor/src/wayland.rs",
|
|
"crates/compositor/src/workspace.rs",
|
|
"crates/wire/src/lib.rs",
|
|
"crates/wire/src/verbs.rs"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine-viewtop/commit/bac4177fc5153251571a6525dca0632512ec2e07"
|
|
},
|
|
{
|
|
"id": "c:souveraine-viewtop:875e97ed",
|
|
"repo": "souveraine-viewtop",
|
|
"sha": "875e97edd01c6a27d0bb1dc63a9e84a4423835ee",
|
|
"branch": "main",
|
|
"at": "2026-08-05T15:34:45-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "ci: publish on green main; a passing run shipped nothing before",
|
|
"detail": "",
|
|
"dimension": "reliability",
|
|
"basis": "paths",
|
|
"paths": [
|
|
".gitea/workflows/ci.yml"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine-viewtop/commit/875e97edd01c6a27d0bb1dc63a9e84a4423835ee"
|
|
},
|
|
{
|
|
"id": "c:souveraine:c3f998f1",
|
|
"repo": "souveraine",
|
|
"sha": "c3f998f17aea4414519afd61979fe31b7a0281b5",
|
|
"branch": "primary",
|
|
"at": "2026-08-05T15:35:40-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "move is a mode: grab, drag, done",
|
|
"detail": "",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"surfaces/quickshell/modules/souveraine/navigation/SystemGestureRail.qml",
|
|
"surfaces/quickshell/modules/souveraine/windowSheet/WindowSheet.qml",
|
|
"surfaces/quickshell/services/ViewtopControl.qml"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/c3f998f17aea4414519afd61979fe31b7a0281b5"
|
|
},
|
|
{
|
|
"id": "c:SouveraineOS:db729470",
|
|
"repo": "SouveraineOS",
|
|
"sha": "db729470f5337f3a0be2f51180d9aa08898fa5b3",
|
|
"branch": "main",
|
|
"at": "2026-08-05T15:48:05-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "59: her face on the glass",
|
|
"detail": "",
|
|
"dimension": "unassigned",
|
|
"basis": "none",
|
|
"paths": [
|
|
"docs/tasks/59-her-face-on-the-glass.md",
|
|
"docs/tasks/README.md"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/db729470f5337f3a0be2f51180d9aa08898fa5b3"
|
|
},
|
|
{
|
|
"id": "c:SouveraineOS:60d903a8",
|
|
"repo": "SouveraineOS",
|
|
"sha": "60d903a813b80d4399f1f389edf37a0603d5d60a",
|
|
"branch": "main",
|
|
"at": "2026-08-05T15:51:38-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "59: ship the reference rig; 55: what actually landed",
|
|
"detail": "",
|
|
"dimension": "unassigned",
|
|
"basis": "none",
|
|
"paths": [
|
|
"docs/tasks/59-her-face-on-the-glass.md",
|
|
"docs/tasks/README.md"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/60d903a813b80d4399f1f389edf37a0603d5d60a"
|
|
},
|
|
{
|
|
"id": "c:SouveraineOS:67923009",
|
|
"repo": "SouveraineOS",
|
|
"sha": "67923009c28741ec3fa742ee0152a91081558e77",
|
|
"branch": "main",
|
|
"at": "2026-08-05T16:00:29-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "59: licences, the mobile blocklist, and the naming problem",
|
|
"detail": "",
|
|
"dimension": "adoption",
|
|
"basis": "subject",
|
|
"paths": [
|
|
"docs/tasks/59-her-face-on-the-glass.md"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/67923009c28741ec3fa742ee0152a91081558e77"
|
|
},
|
|
{
|
|
"id": "c:SouveraineOS:ec552a82",
|
|
"repo": "SouveraineOS",
|
|
"sha": "ec552a82a24443350ad904268612297d5e4998b2",
|
|
"branch": "main",
|
|
"at": "2026-08-05T16:10:41-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "59: phase 1 passes on hardware, ~58fps with the rig drawing",
|
|
"detail": "",
|
|
"dimension": "runtime",
|
|
"basis": "subject",
|
|
"paths": [
|
|
"docs/tasks/59-her-face-on-the-glass.md",
|
|
"docs/tasks/README.md"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/ec552a82a24443350ad904268612297d5e4998b2"
|
|
},
|
|
{
|
|
"id": "c:souveraine:277a0d2b",
|
|
"repo": "souveraine",
|
|
"sha": "277a0d2b32b64ec6356c1f1ac8b9fcc33e532389",
|
|
"branch": "primary",
|
|
"at": "2026-08-05T16:17:47-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "dock lives on zone one; short swipe multitasks, big swipe goes home",
|
|
"detail": "",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"surfaces/quickshell/modules/ii/dock/Dock.qml",
|
|
"surfaces/quickshell/modules/souveraine/navigation/SystemGestureRail.qml",
|
|
"surfaces/quickshell/services/ViewtopControl.qml"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/277a0d2b32b64ec6356c1f1ac8b9fcc33e532389"
|
|
},
|
|
{
|
|
"id": "c:souveraine-viewtop:0858f666",
|
|
"repo": "souveraine-viewtop",
|
|
"sha": "0858f6662a2c482f68430ea3fc3430ee8bc21dc1",
|
|
"branch": "main",
|
|
"at": "2026-08-05T16:25:54-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "grabbed windows swallow the finger; CSD shadows no longer shift the paint",
|
|
"detail": "",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"crates/compositor/src/wayland.rs"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine-viewtop/commit/0858f6662a2c482f68430ea3fc3430ee8bc21dc1"
|
|
},
|
|
{
|
|
"id": "c:souveraine-viewtop:bbffc633",
|
|
"repo": "souveraine-viewtop",
|
|
"sha": "bbffc633b6823409054e6340cb28fc507f55ced4",
|
|
"branch": "main",
|
|
"at": "2026-08-05T16:34:49-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "one membership entry per window, not two",
|
|
"detail": "",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"crates/compositor/src/wayland.rs"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine-viewtop/commit/bbffc633b6823409054e6340cb28fc507f55ced4"
|
|
},
|
|
{
|
|
"id": "c:souveraine:0e7dec53",
|
|
"repo": "souveraine",
|
|
"sha": "0e7dec53d120d7c07e0c708a5a2de68afd829e25",
|
|
"branch": "primary",
|
|
"at": "2026-08-05T16:34:51-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "the app scales into multitasking; pill has two destinations",
|
|
"detail": "",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"surfaces/quickshell/modules/souveraine/navigation/SystemGestureRail.qml",
|
|
"surfaces/quickshell/modules/souveraine/windowSheet/WindowSheet.qml",
|
|
"surfaces/quickshell/services/ViewtopControl.qml"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/0e7dec53d120d7c07e0c708a5a2de68afd829e25"
|
|
},
|
|
{
|
|
"id": "c:souveraine-viewtop:72b7ed67",
|
|
"repo": "souveraine-viewtop",
|
|
"sha": "72b7ed670021dec9af268a917e37aa5debc44273",
|
|
"branch": "main",
|
|
"at": "2026-08-05T16:42:15-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "workspaces reports window geometry",
|
|
"detail": "",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"crates/compositor/src/wayland.rs"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine-viewtop/commit/72b7ed670021dec9af268a917e37aa5debc44273"
|
|
},
|
|
{
|
|
"id": "c:souveraine:6c0730a7",
|
|
"repo": "souveraine",
|
|
"sha": "6c0730a7908422dbac83e8974ded06e8a1005a35",
|
|
"branch": "primary",
|
|
"at": "2026-08-05T16:43:14-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "the sheet scrims its own window, not the screen",
|
|
"detail": "",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"surfaces/quickshell/modules/souveraine/windowSheet/WindowSheet.qml"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/6c0730a7908422dbac83e8974ded06e8a1005a35"
|
|
},
|
|
{
|
|
"id": "c:souveraine-viewtop:2d0ffdcd",
|
|
"repo": "souveraine-viewtop",
|
|
"sha": "2d0ffdcd2ec0bf1595df3c8e9b09dc9323e3b6d7",
|
|
"branch": "main",
|
|
"at": "2026-08-05T16:49:22-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "pose actually scales the content, not just its origin",
|
|
"detail": "",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"crates/compositor/src/wayland.rs"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine-viewtop/commit/2d0ffdcd2ec0bf1595df3c8e9b09dc9323e3b6d7"
|
|
},
|
|
{
|
|
"id": "c:souveraine-viewtop:8e6700b6",
|
|
"repo": "souveraine-viewtop",
|
|
"sha": "8e6700b6d9ec6fd5f70f68d04d2c6d393550c949",
|
|
"branch": "main",
|
|
"at": "2026-08-05T18:02:03-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "workspaces reports focus, app_id and title",
|
|
"detail": "",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"crates/compositor/src/wayland.rs"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine-viewtop/commit/8e6700b6d9ec6fd5f70f68d04d2c6d393550c949"
|
|
},
|
|
{
|
|
"id": "c:souveraine:d7965a57",
|
|
"repo": "souveraine",
|
|
"sha": "d7965a57fde53ed0838c0648eca55fc45d19e79b",
|
|
"branch": "primary",
|
|
"at": "2026-08-05T19:16:41-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "two swipes, one progress; home is zone 0; pocket is a belief",
|
|
"detail": "",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"examples/demo.rs",
|
|
"src/api/auth.rs",
|
|
"src/api/handlers.rs",
|
|
"src/api/mod.rs",
|
|
"src/api/models.rs",
|
|
"src/backend/local/consciousness.rs",
|
|
"src/backend/local/mod.rs",
|
|
"src/backend/mod.rs",
|
|
"src/backend/remote.rs",
|
|
"src/bin/souveraine-machined.rs",
|
|
"src/bin/souveraine-secrets.rs",
|
|
"src/bin/souveraine-sensord.rs",
|
|
"src/bin/souveraine-sessiond.rs",
|
|
"src/bridge/bifrost.rs",
|
|
"src/bridge/claude_subscription.rs",
|
|
"src/bridge/mod.rs",
|
|
"src/bridge/model_router.rs",
|
|
"src/bridge/oauth/refresh.rs",
|
|
"src/bridge/providers/openai_oauth.rs",
|
|
"src/bridge/providers/responses.rs",
|
|
"src/cli/commands.rs",
|
|
"src/core/archivist/mod.rs",
|
|
"src/core/bootstrap.rs",
|
|
"src/core/chain/mod.rs",
|
|
"src/core/compact/config.rs",
|
|
"src/core/compact/mod.rs",
|
|
"src/core/compact/plan.rs",
|
|
"src/core/compact/strategy.rs",
|
|
"src/core/config.rs",
|
|
"src/core/conversation/store.rs",
|
|
"src/core/identity/seed.rs",
|
|
"src/core/image.rs",
|
|
"src/core/memory/mod.rs",
|
|
"src/core/mod.rs",
|
|
"src/core/model_cache.rs",
|
|
"src/core/nervous/cron.rs",
|
|
"src/core/nervous/event_log.rs",
|
|
"src/core/nervous/handler.rs",
|
|
"src/core/nervous/turn_dispatcher.rs",
|
|
"src/core/prompt.rs"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/d7965a57fde53ed0838c0648eca55fc45d19e79b"
|
|
},
|
|
{
|
|
"id": "c:SouveraineOS:1aa61030",
|
|
"repo": "SouveraineOS",
|
|
"sha": "1aa61030dde803a505f17054224d4cccaf41629d",
|
|
"branch": "main",
|
|
"at": "2026-08-05T19:16:41-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "compositor pushes the strip; float, gamma",
|
|
"detail": "",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"HANDOFF-2026-08-05-navigation.md",
|
|
"docs/tasks/45-haptics-cs40l20.md",
|
|
"docs/tasks/60-the-multitasking-view.md",
|
|
"docs/tasks/61-color-gamma-panel.md",
|
|
"docs/tasks/README.md"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/1aa61030dde803a505f17054224d4cccaf41629d"
|
|
},
|
|
{
|
|
"id": "c:souveraine-viewtop:4d53abc2",
|
|
"repo": "souveraine-viewtop",
|
|
"sha": "4d53abc2c30c63cac4ee1f0bd76f933fdb5697f7",
|
|
"branch": "main",
|
|
"at": "2026-08-05T19:16:49-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "subscribe pushes the strip; float and gamma verbs",
|
|
"detail": "",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"crates/compositor/src/bin/viewtop.rs",
|
|
"crates/compositor/src/control.rs",
|
|
"crates/compositor/src/kms.rs",
|
|
"crates/compositor/src/wayland.rs",
|
|
"crates/wire/src/lib.rs",
|
|
"crates/wire/src/verbs.rs"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine-viewtop/commit/4d53abc2c30c63cac4ee1f0bd76f933fdb5697f7"
|
|
},
|
|
{
|
|
"id": "c:souveraine:9ec031c8",
|
|
"repo": "souveraine",
|
|
"sha": "9ec031c8a87f9111c0f25f11486145caa5f37b54",
|
|
"branch": "primary",
|
|
"at": "2026-08-05T19:39:50-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "wry host: sites as apps, the rig as a face; join loads the expression skill",
|
|
"detail": "",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
".gitea/workflows/ci.yml",
|
|
".gitignore",
|
|
"Cargo.lock",
|
|
"Cargo.toml",
|
|
"assets/face/index.html",
|
|
"packaging/arch/PKGBUILD.prebuilt",
|
|
"src/bin/souveraine-web.rs",
|
|
"surfaces/quickshell/deploy.sh",
|
|
"surfaces/quickshell/ii-phone/modules/ii/bar/ClockWidget.qml",
|
|
"surfaces/quickshell/services/Face.qml",
|
|
"surfaces/quickshell/services/Souveraine.qml",
|
|
"surfaces/quickshell/services/qmldir"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/9ec031c8a87f9111c0f25f11486145caa5f37b54"
|
|
},
|
|
{
|
|
"id": "c:souveraine:9b470b8e",
|
|
"repo": "souveraine",
|
|
"sha": "9b470b8e22050ab216d463d7a05174f4e10ef56e",
|
|
"branch": "primary",
|
|
"at": "2026-08-05T19:45:07-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "split chooser names its windows and brings the pick to the zone",
|
|
"detail": "",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"surfaces/quickshell/modules/souveraine/windowSheet/WindowSheet.qml",
|
|
"surfaces/quickshell/services/ViewtopControl.qml"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/9b470b8e22050ab216d463d7a05174f4e10ef56e"
|
|
},
|
|
{
|
|
"id": "c:souveraine:b71f9c9d",
|
|
"repo": "souveraine",
|
|
"sha": "b71f9c9d4fdc9b74d5b082fa4aaf9957aa3c1ab7",
|
|
"branch": "primary",
|
|
"at": "2026-08-05T19:50:53-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "a refused subscribe stays refused; it was re-arming its own retry",
|
|
"detail": "",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"surfaces/quickshell/services/ViewtopControl.qml"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/b71f9c9d4fdc9b74d5b082fa4aaf9957aa3c1ab7"
|
|
},
|
|
{
|
|
"id": "c:souveraine:425693a2",
|
|
"repo": "souveraine",
|
|
"sha": "425693a2984d00dd6d510d6cc9d84788ce81b4e1",
|
|
"branch": "primary",
|
|
"at": "2026-08-05T19:59:29-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "placement compiles: one field per snapshot, and it deserialises",
|
|
"detail": "",
|
|
"dimension": "identity",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"src/bin/souveraine-web.rs",
|
|
"src/sessiond/device_state.rs",
|
|
"src/ui/health_panel.rs"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/425693a2984d00dd6d510d6cc9d84788ce81b4e1"
|
|
},
|
|
{
|
|
"id": "c:souveraine:1ac33afb",
|
|
"repo": "souveraine",
|
|
"sha": "1ac33afb25be3c23dd612ea69dbce7097859a332",
|
|
"branch": "primary",
|
|
"at": "2026-08-05T20:04:45-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "dock is home's alone; the pill stops riding above it",
|
|
"detail": "",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"surfaces/quickshell/modules/ii/dock/Dock.qml",
|
|
"surfaces/quickshell/modules/souveraine/navigation/SystemGestureRail.qml"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/1ac33afb25be3c23dd612ea69dbce7097859a332"
|
|
},
|
|
{
|
|
"id": "c:souveraine:bb817810",
|
|
"repo": "souveraine",
|
|
"sha": "bb8178100718919d032c758fa26003927e6a4d5b",
|
|
"branch": "primary",
|
|
"at": "2026-08-05T20:10:40-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "the backdrop is the input region, so it owes the way out",
|
|
"detail": "",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"surfaces/quickshell/modules/ii/overview/Overview.qml"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/bb8178100718919d032c758fa26003927e6a4d5b"
|
|
},
|
|
{
|
|
"id": "c:souveraine:8e3120c5",
|
|
"repo": "souveraine",
|
|
"sha": "8e3120c5a09ceae22b9c0f29515a2de85f2bc604",
|
|
"branch": "primary",
|
|
"at": "2026-08-05T20:11:31-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "the face stays quiet when the rig is not staged; add stage-face.sh",
|
|
"detail": "",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"surfaces/quickshell/services/Face.qml",
|
|
"tools/stage-face.sh"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/8e3120c5a09ceae22b9c0f29515a2de85f2bc604"
|
|
},
|
|
{
|
|
"id": "c:souveraine:fe48bb76",
|
|
"repo": "souveraine",
|
|
"sha": "fe48bb76c524dc877892289d22348400685a5291",
|
|
"branch": "primary",
|
|
"at": "2026-08-05T20:11:49-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "the rig ships with the repo; it is self-hosted",
|
|
"detail": "",
|
|
"dimension": "sensorium",
|
|
"basis": "paths",
|
|
"paths": [
|
|
".gitignore",
|
|
"assets/face/live2d/css/live2d.css",
|
|
"assets/face/live2d/images/info.png",
|
|
"assets/face/live2d/images/music.png",
|
|
"assets/face/live2d/images/pasue.png",
|
|
"assets/face/live2d/images/quite.png",
|
|
"assets/face/live2d/images/talk.png",
|
|
"assets/face/live2d/images/youdu.png",
|
|
"assets/face/live2d/js/live2d.js",
|
|
"assets/face/live2d/js/message.js",
|
|
"assets/face/live2d/message.json",
|
|
"assets/face/live2d/model/histoire/histoire.1024/texture_00.png",
|
|
"assets/face/live2d/model/histoire/histoire.1024/texture_01.png",
|
|
"assets/face/live2d/model/histoire/histoire.1024/texture_02.png",
|
|
"assets/face/live2d/model/histoire/histoire.1024/texture_03.png",
|
|
"assets/face/live2d/model/histoire/ico_histoire.png",
|
|
"assets/face/live2d/model/histoire/model.json",
|
|
"assets/face/live2d/model/histoire/model.moc",
|
|
"assets/face/live2d/model/histoire/motions/idle/NOZOMU_M01.mtn",
|
|
"assets/face/live2d/model/histoire/motions/idle/NOZOMU_M02.mtn",
|
|
"assets/face/live2d/model/histoire/motions/idle/NOZOMU_M04.mtn",
|
|
"assets/face/live2d/model/histoire/motions/tap/DK_NOZOMU_0011.mtn",
|
|
"assets/face/live2d/model/histoire/motions/tap/DK_NOZOMU_0041.mtn",
|
|
"assets/face/live2d/model/histoire/motions/tap/DK_NOZOMU_0061.mtn",
|
|
"assets/face/live2d/model/histoire/motions/tap/DK_NOZOMU_0067.mtn",
|
|
"assets/face/live2d/model/histoire/motions/tap/m_06.mtn",
|
|
"assets/face/live2d/model/histoire/motions/tap/m_13.mtn",
|
|
"assets/face/live2d/model/histoire/motions/tap/nep_touch_boobs_1.mtn",
|
|
"assets/face/live2d/model/histoire/motions/tap/tsumiki_m_01.mtn",
|
|
"assets/face/live2d/model/histoire/motions/tap/tsumiki_m_09.mtn",
|
|
"assets/face/live2d/model/histoire/motions/tap/tsumiki_m_13.mtn",
|
|
"assets/face/live2d/model/histoire/motions/tap/tsumiki_m_14.mtn",
|
|
"assets/face/live2d/model/histoire/motions/tap/tsumiki_m_19.mtn",
|
|
"assets/face/live2d/model/histoire/motions/tap/tsumiki_m_21.mtn",
|
|
"tools/stage-face.sh"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/fe48bb76c524dc877892289d22348400685a5291"
|
|
},
|
|
{
|
|
"id": "c:souveraine:620c7d31",
|
|
"repo": "souveraine",
|
|
"sha": "620c7d313d6aa7f9a29a28053919bbb9421ae6cd",
|
|
"branch": "primary",
|
|
"at": "2026-08-05T20:23:29-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "placement grades a covered sensor instead of gating on it; squeeze test follows the fix",
|
|
"detail": "",
|
|
"dimension": "identity",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"src/sessiond/device_state.rs",
|
|
"src/sessiond/server.rs"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/620c7d313d6aa7f9a29a28053919bbb9421ae6cd"
|
|
},
|
|
{
|
|
"id": "c:souveraine:d4f9213a",
|
|
"repo": "souveraine",
|
|
"sha": "d4f9213a34565ae8880e5211470f6b6f8232092f",
|
|
"branch": "primary",
|
|
"at": "2026-08-05T21:00:35-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "wry host compiles: tao 0.36 event loop, Cow bodies, app id is the program name",
|
|
"detail": "",
|
|
"dimension": "runtime",
|
|
"basis": "repo",
|
|
"paths": [
|
|
"Cargo.lock",
|
|
"Cargo.toml",
|
|
"src/bin/souveraine-web.rs"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/d4f9213a34565ae8880e5211470f6b6f8232092f"
|
|
},
|
|
{
|
|
"id": "c:souveraine:269c1518",
|
|
"repo": "souveraine",
|
|
"sha": "269c1518990a584bea70b07b56ed0701e8ffd5a4",
|
|
"branch": "primary",
|
|
"at": "2026-08-05T21:29:24-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "the wry host is optional through the whole pipeline; it must not block sessiond",
|
|
"detail": "",
|
|
"dimension": "identity",
|
|
"basis": "subject",
|
|
"paths": [
|
|
".gitea/workflows/ci.yml",
|
|
"packaging/arch/PKGBUILD.prebuilt"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/269c1518990a584bea70b07b56ed0701e8ffd5a4"
|
|
},
|
|
{
|
|
"id": "c:souveraine:a5f0fadb",
|
|
"repo": "souveraine",
|
|
"sha": "a5f0fadba8ea1115a15a7c03571c0b9e879f1cbc",
|
|
"branch": "primary",
|
|
"at": "2026-08-05T21:55:11-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "unlocking closes a keyboard nobody asked for",
|
|
"detail": "",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"surfaces/quickshell/modules/ii/onScreenKeyboard/OnScreenKeyboard.qml"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/a5f0fadba8ea1115a15a7c03571c0b9e879f1cbc"
|
|
},
|
|
{
|
|
"id": "c:souveraine:3d3eb2cc",
|
|
"repo": "souveraine",
|
|
"sha": "3d3eb2cc8e9170b07ca6864e08be1cfb48b83d75",
|
|
"branch": "primary",
|
|
"at": "2026-08-05T22:14:07-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "the avatar draws: serve the rig over loopback, not the opaque scheme",
|
|
"detail": "",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"src/bin/souveraine-web.rs",
|
|
"surfaces/quickshell/ii-phone/modules/ii/bar/ClockWidget.qml",
|
|
"surfaces/quickshell/modules/ii/background/widgets/clock/CookieClock.qml",
|
|
"surfaces/quickshell/services/Face.qml"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/3d3eb2cc8e9170b07ca6864e08be1cfb48b83d75"
|
|
},
|
|
{
|
|
"id": "c:SouveraineOS:e2fb113e",
|
|
"repo": "SouveraineOS",
|
|
"sha": "e2fb113eb236a3f16d26642a1024cd08ccf3b1ca",
|
|
"branch": "main",
|
|
"at": "2026-08-06T09:02:56-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "59: the face is home-layer furniture, not a zone occupant",
|
|
"detail": "",
|
|
"dimension": "unassigned",
|
|
"basis": "none",
|
|
"paths": [
|
|
"docs/tasks/59-her-face-on-the-glass.md"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/e2fb113eb236a3f16d26642a1024cd08ccf3b1ca"
|
|
},
|
|
{
|
|
"id": "c:SouveraineOS:30852cbb",
|
|
"repo": "SouveraineOS",
|
|
"sha": "30852cbb938bf1b4ca14f41fc1951c2bf497870a",
|
|
"branch": "main",
|
|
"at": "2026-08-06T10:14:24-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "59: she is the face of the voice pipeline, not a chat keyboard",
|
|
"detail": "",
|
|
"dimension": "surface",
|
|
"basis": "subject",
|
|
"paths": [
|
|
"docs/tasks/59-her-face-on-the-glass.md"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/30852cbb938bf1b4ca14f41fc1951c2bf497870a"
|
|
},
|
|
{
|
|
"id": "c:SouveraineOS:bbb25b5b",
|
|
"repo": "SouveraineOS",
|
|
"sha": "bbb25b5bc6798b1a597a3e9dd159757a913e3364",
|
|
"branch": "main",
|
|
"at": "2026-08-06T10:29:55-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "bug list: sessiond dead, r84 running, split default, screencopy open",
|
|
"detail": "",
|
|
"dimension": "identity",
|
|
"basis": "subject",
|
|
"paths": [
|
|
"docs/DUMP-bugs-2026-08-06.md"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/bbb25b5bc6798b1a597a3e9dd159757a913e3364"
|
|
},
|
|
{
|
|
"id": "c:souveraine-viewtop:bb390239",
|
|
"repo": "souveraine-viewtop",
|
|
"sha": "bb3902393dc905a0b392533df3dbff1a39978532",
|
|
"branch": "main",
|
|
"at": "2026-08-06T10:34:19-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "a new window assumes its own zone; splitting is a directed act",
|
|
"detail": "",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"crates/compositor/src/wayland.rs"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine-viewtop/commit/bb3902393dc905a0b392533df3dbff1a39978532"
|
|
},
|
|
{
|
|
"id": "c:souveraine:d1e580ee",
|
|
"repo": "souveraine",
|
|
"sha": "d1e580ee00a9d6653b5203180b57bc2db07a7ef0",
|
|
"branch": "primary",
|
|
"at": "2026-08-06T11:03:47-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "drawer: the search field stops auto-focusing on the phone; tapping it summons the keyboard",
|
|
"detail": "",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"surfaces/quickshell/ii-base/modules/ii/overview/SearchBar.qml"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/d1e580ee00a9d6653b5203180b57bc2db07a7ef0"
|
|
},
|
|
{
|
|
"id": "c:souveraine:7f294a5f",
|
|
"repo": "souveraine",
|
|
"sha": "7f294a5fa26a9f9c8f0bd9e44b261c8fcdc63fd8",
|
|
"branch": "primary",
|
|
"at": "2026-08-06T11:18:23-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "the face draws: relative asset paths over loopback, and a dead socket stops being a gate",
|
|
"detail": "",
|
|
"dimension": "runtime",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"assets/face/index.html",
|
|
"src/bin/souveraine-web.rs"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/7f294a5fa26a9f9c8f0bd9e44b261c8fcdc63fd8"
|
|
},
|
|
{
|
|
"id": "c:souveraine-viewtop:54f35b88",
|
|
"repo": "souveraine-viewtop",
|
|
"sha": "54f35b8807cb9d2d607cc3def4aa7ab6b613e743",
|
|
"branch": "main",
|
|
"at": "2026-08-06T11:54:06-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "dock taps go to the window's zone before raising",
|
|
"detail": "",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"crates/compositor/src/wayland.rs"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine-viewtop/commit/54f35b8807cb9d2d607cc3def4aa7ab6b613e743"
|
|
},
|
|
{
|
|
"id": "c:souveraine:c2dcbe7b",
|
|
"repo": "souveraine",
|
|
"sha": "c2dcbe7b7feb12dd71b3a55be6b10d651428c6a7",
|
|
"branch": "primary",
|
|
"at": "2026-08-06T11:54:45-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "rail: a keyboard-up climb means only a swap, never navigation",
|
|
"detail": "",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"surfaces/quickshell/modules/souveraine/navigation/SystemGestureRail.qml"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/c2dcbe7b7feb12dd71b3a55be6b10d651428c6a7"
|
|
},
|
|
{
|
|
"id": "c:souveraine-viewtop:60ff7641",
|
|
"repo": "souveraine-viewtop",
|
|
"sha": "60ff76415c4a05dfe8cf1bd14f2b1dda01fc34f5",
|
|
"branch": "main",
|
|
"at": "2026-08-06T14:39:33-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "zone minting: an occupied zone-1 is never reused from home (TASK-86)",
|
|
"detail": "Opening a second app from home claimed zone 1 unconditionally once it\nexisted, so both apps shared one workspace and placement.rs split that\nzone top/bottom. The home path now checks occupancy the same way the\nnon-home path does; an occupied neighbour mints a fresh zone instead of\ndividing the first one.",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"crates/compositor/src/wayland.rs"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine-viewtop/commit/60ff76415c4a05dfe8cf1bd14f2b1dda01fc34f5"
|
|
},
|
|
{
|
|
"id": "c:souveraine-viewtop:90d6b846",
|
|
"repo": "souveraine-viewtop",
|
|
"sha": "90d6b846e5a99d6509afb6b9b015c849420b3d8c",
|
|
"branch": "main",
|
|
"at": "2026-08-06T18:56:07-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "scan-out formats: offer 10-bit behind VIEWTOP_10BIT, default off (TASK-61)",
|
|
"detail": "",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"crates/compositor/src/kms.rs"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine-viewtop/commit/90d6b846e5a99d6509afb6b9b015c849420b3d8c"
|
|
},
|
|
{
|
|
"id": "c:souveraine:4ff8d2e2",
|
|
"repo": "souveraine",
|
|
"sha": "4ff8d2e236a85324bc94bad78677c350d40082fd",
|
|
"branch": "primary",
|
|
"at": "2026-08-06T18:57:01-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "gamma: the brightness slider drives viewtop's LUT, not hyprctl (TASK-61)",
|
|
"detail": "",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"surfaces/quickshell/deploy.sh",
|
|
"surfaces/quickshell/services/Hyprsunset.qml",
|
|
"surfaces/quickshell/services/ViewtopControl.qml"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/4ff8d2e236a85324bc94bad78677c350d40082fd"
|
|
},
|
|
{
|
|
"id": "c:SouveraineOS:1eae558a",
|
|
"repo": "SouveraineOS",
|
|
"sha": "1eae558a97496e77b30230b72da8d8cb61666e36",
|
|
"branch": "main",
|
|
"at": "2026-08-06T18:57:09-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "61: gamma landed and measured; the DPU exposes CTM, the LUT is 1024",
|
|
"detail": "",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"docs/tasks/61-color-gamma-panel.md"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/1eae558a97496e77b30230b72da8d8cb61666e36"
|
|
},
|
|
{
|
|
"id": "c:SouveraineOS:f5dd985c",
|
|
"repo": "SouveraineOS",
|
|
"sha": "f5dd985c9639f6799ec859a5ca7b175bea76b5ac",
|
|
"branch": "main",
|
|
"at": "2026-08-06T23:43:48-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "58: samcday's pmic-typec-smb2 covers most of phase 2, unrun on hardware",
|
|
"detail": "",
|
|
"dimension": "unassigned",
|
|
"basis": "none",
|
|
"paths": [
|
|
"docs/tasks/58-host-power-smb2-boost.md"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/f5dd985c9639f6799ec859a5ca7b175bea76b5ac"
|
|
},
|
|
{
|
|
"id": "c:smithay:645961c7",
|
|
"repo": "smithay",
|
|
"sha": "645961c768a5e5cdf520289347f92e109986b5f6",
|
|
"branch": "teal",
|
|
"at": "2026-08-07T00:07:42-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "gles: optional linear-space gamut transform on sampled textures",
|
|
"detail": "The transform rides on a uniform rather than a shader variant, so an\nunmanaged draw takes no colour arithmetic at all and stays byte-through.\nUn-premultiplies around the sRGB transfer functions: a 3x3 commutes with\nthe alpha scalar, the transfer curve does not, so decoding premultiplied\nvalues shifts hue at every alpha but 1.",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"src/backend/renderer/gles/mod.rs",
|
|
"src/backend/renderer/gles/shaders/implicit/mod.rs",
|
|
"src/backend/renderer/gles/shaders/implicit/texture.frag",
|
|
"src/backend/renderer/gles/shaders/mod.rs"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/smithay/commit/645961c768a5e5cdf520289347f92e109986b5f6"
|
|
},
|
|
{
|
|
"id": "c:souveraine-viewtop:21882c90",
|
|
"repo": "souveraine-viewtop",
|
|
"sha": "21882c90c29812653748ae9b32f03b842c820143",
|
|
"branch": "main",
|
|
"at": "2026-08-07T00:20:01-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "colour management: map sRGB into the panel's primaries",
|
|
"detail": "blueline's SW43408 has no EDID and viewtop has been scanning out raw sRGB\nonto a ~P3 panel since the move off Hyprland, so everything reads\noversaturated. The linear-light transform lives in the GLES fork; this side\nowns which matrix, because only the compositor knows which device it is.",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"Cargo.lock",
|
|
"Cargo.toml",
|
|
"crates/compositor/src/color.rs",
|
|
"crates/compositor/src/kms.rs",
|
|
"crates/compositor/src/lib.rs"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine-viewtop/commit/21882c90c29812653748ae9b32f03b842c820143"
|
|
},
|
|
{
|
|
"id": "c:souveraine-viewtop:bb953078",
|
|
"repo": "souveraine-viewtop",
|
|
"sha": "bb9530780f7e7c9888bdb03cc1920c3fda9e5ece",
|
|
"branch": "main",
|
|
"at": "2026-08-07T00:20:11-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "furniture: a role for the face, and honour input regions",
|
|
"detail": "A toplevel is classified at its first commit rather than at map, because\nxdg_toplevel is created before the client sends set_app_id — so the old code\nminted a zone, moved the strip, took the keyboard and told the dock about a\nwindow it had not yet identified. Furniture (org.souveraine.face) takes no\nzone, is announced to nobody, wears no frame, keeps its own size, and hangs\nfrom the top of the zone with the room below it left free.",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"crates/compositor/src/wayland.rs"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine-viewtop/commit/bb9530780f7e7c9888bdb03cc1920c3fda9e5ece"
|
|
},
|
|
{
|
|
"id": "c:souveraine:ae432e76",
|
|
"repo": "souveraine",
|
|
"sha": "ae432e7654ff4b7847709bf23c9db6e334e6aae0",
|
|
"branch": "primary",
|
|
"at": "2026-08-07T00:24:12-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "dial: hold the camera to record the screen",
|
|
"detail": "Entries may carry a hold verb beside verb; the ring fills while it charges so\nthe commitment is visible while it is still cancellable, and sliding off\ncancels. Holding the camera starts a recording, tapping or holding it again\nstops it — the same seat, because the dial is muscle memory.",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"surfaces/quickshell/modules/souveraine/dial/DialHost.qml",
|
|
"surfaces/quickshell/modules/souveraine/dial/RadialDial.qml"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/ae432e7654ff4b7847709bf23c9db6e334e6aae0"
|
|
},
|
|
{
|
|
"id": "c:souveraine:ac35b343",
|
|
"repo": "souveraine",
|
|
"sha": "ac35b3436b5998bdd915c3836e64f7072d83116d",
|
|
"branch": "primary",
|
|
"at": "2026-08-07T00:24:12-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "her face on the glass: it draws, it listens, and it gets out of the way",
|
|
"detail": "The rig never drew. live2d.js is not only the Cubism runtime — it carries the\nreference's character layer, which reads #live_talk every update as its\nmotion-state slot. Our page omitted the element, so it threw on the first\nframe after the model and all four textures had loaded: assets 200, WebGL\nlive, no error reaching Rust, blank canvas.",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"assets/face/index.html",
|
|
"src/bin/souveraine-web.rs",
|
|
"surfaces/quickshell/deploy.sh",
|
|
"surfaces/quickshell/modules/ii/background/widgets/clock/CookieClock.qml",
|
|
"surfaces/quickshell/modules/ii/background/widgets/clock/CookieQuote.qml",
|
|
"surfaces/quickshell/services/Face.qml"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/ac35b3436b5998bdd915c3836e64f7072d83116d"
|
|
},
|
|
{
|
|
"id": "c:souveraine:78496e10",
|
|
"repo": "souveraine",
|
|
"sha": "78496e10e1268ce2d872e9d82666785dbec20a43",
|
|
"branch": "primary",
|
|
"at": "2026-08-07T00:24:12-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "gamma goes to the compositor, not to a binary that is not there",
|
|
"detail": "hyprsunset does not exist under viewtop and execDetached cannot fail loudly,\nso the brightness slider and the night light have done nothing since the\nmove. Same public surface, pointed at viewtop's gamma verb. TASK-61.",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"surfaces/quickshell/services/Hyprsunset.qml"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/78496e10e1268ce2d872e9d82666785dbec20a43"
|
|
},
|
|
{
|
|
"id": "c:souveraine-viewtop:d7a6760b",
|
|
"repo": "souveraine-viewtop",
|
|
"sha": "d7a6760b2966e54836d7234ff428da1b9f17a322",
|
|
"branch": "main",
|
|
"at": "2026-08-07T00:59:35-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "gaze: push where contacts are, so a face can look at them",
|
|
"detail": "Her input region is her silhouette now, so the compositor stops handing her\ncontacts that land on the wallpaper — which also stopped her tracking unless\nyou touched her first. Where a finger is and who receives it are different\nquestions; this answers the first without changing the second.",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"crates/compositor/src/bin/viewtop.rs",
|
|
"crates/compositor/src/control.rs",
|
|
"crates/compositor/src/wayland.rs"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine-viewtop/commit/d7a6760b2966e54836d7234ff428da1b9f17a322"
|
|
},
|
|
{
|
|
"id": "c:souveraine:c8dc24d3",
|
|
"repo": "souveraine",
|
|
"sha": "c8dc24d3d19fea05e0cb1baa96662f71659e7edb",
|
|
"branch": "primary",
|
|
"at": "2026-08-07T01:01:05-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "face: follow the finger anywhere on the panel",
|
|
"detail": "Subscribes to viewtop's gaze feed and dispatches a synthetic pointer move on\nthe canvas, so live2d.js's own mousemove path drives head angle and eye\ndirection with its existing damping. Synthetic is the point: she is\ndeliberately not being given those contacts, and this lets her watch them\nanyway.",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"assets/face/index.html",
|
|
"surfaces/quickshell/services/Face.qml"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/c8dc24d3d19fea05e0cb1baa96662f71659e7edb"
|
|
},
|
|
{
|
|
"id": "c:souveraine:075ddf19",
|
|
"repo": "souveraine",
|
|
"sha": "075ddf19ebf1600f7c00acac928e15c27ac310ab",
|
|
"branch": "primary",
|
|
"at": "2026-08-07T01:11:13-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "face: locking sends her away, and she stays away",
|
|
"detail": "Gated on screenLockSecure, the compositor's ack, not on screenLocked. The\nrequest drifts: measured on the phone, `session lock` answered already-locked\nwhile logind reported LockedHint=no and the phone was in use. That is a\nshadow copy of state the protocol owns, and a face gated on it would have\nbeen permanently dismissed with nothing on screen to explain why.",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"surfaces/quickshell/services/Face.qml"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/075ddf19ebf1600f7c00acac928e15c27ac310ab"
|
|
},
|
|
{
|
|
"id": "c:souveraine:5ec6bfdc",
|
|
"repo": "souveraine",
|
|
"sha": "5ec6bfdc632e4a90736b6db06f5684753af733dd",
|
|
"branch": "primary",
|
|
"at": "2026-08-07T01:23:14-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "overview: a verb for mission control, and a state readout",
|
|
"detail": "Multitasking was raised only by the pill's first-stage swipe, so the one\nsurface that has been reported broken was the one neither an agent nor a test\ncould reach. state() reports what the cards are drawn from.",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"surfaces/quickshell/modules/ii/overview/Overview.qml"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/5ec6bfdc632e4a90736b6db06f5684753af733dd"
|
|
},
|
|
{
|
|
"id": "c:SouveraineOS:d62ae3fd",
|
|
"repo": "SouveraineOS",
|
|
"sha": "d62ae3fd775f1175352339037b5c1e046fa0f187",
|
|
"branch": "main",
|
|
"at": "2026-08-07T01:24:01-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "bugs: the multitasking cards are blocked on screencopy hanging, not on missing data",
|
|
"detail": "",
|
|
"dimension": "surface",
|
|
"basis": "subject",
|
|
"paths": [
|
|
"docs/DUMP-bugs-2026-08-06.md"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/d62ae3fd775f1175352339037b5c1e046fa0f187"
|
|
},
|
|
{
|
|
"id": "c:souveraine:6f375286",
|
|
"repo": "souveraine",
|
|
"sha": "6f375286bfef258ba64079f1862f8512ce1ccb3d",
|
|
"branch": "primary",
|
|
"at": "2026-08-07T01:32:27-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "multitasking: the cards were zero pixels wide",
|
|
"detail": "ZoneOverview took its width from the Column it sits in, and a Column is as\nwide as its widest child. The drawer's search widget supplies that; mission\ncontrol is the cards alone and has no search, so the only child left was the\nloader — whose width came from the column, whose width came from the loader.\nThe cycle resolves to zero.",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"surfaces/quickshell/modules/ii/overview/Overview.qml"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/6f375286bfef258ba64079f1862f8512ce1ccb3d"
|
|
},
|
|
{
|
|
"id": "c:souveraine:a1d9a874",
|
|
"repo": "souveraine",
|
|
"sha": "a1d9a874e54d30180dfa097622789648c4ddfd02",
|
|
"branch": "primary",
|
|
"at": "2026-08-07T01:34:43-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "multitasking: inset the cards so neighbouring zones show through",
|
|
"detail": "",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"surfaces/quickshell/modules/souveraine/navigation/ZoneOverview.qml"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/a1d9a874e54d30180dfa097622789648c4ddfd02"
|
|
},
|
|
{
|
|
"id": "c:souveraine-viewtop:f6778efe",
|
|
"repo": "souveraine-viewtop",
|
|
"sha": "f6778efe4716659a5e87ee3c80bb74d19049f064",
|
|
"branch": "main",
|
|
"at": "2026-08-07T01:45:05-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "move mode: the sheet that ends it keeps its touches",
|
|
"detail": "Withholding every client contact during a grab took the shell's own chrome\nwith it, because a quickshell layer surface is a Wayland client like any\nother. So \"Done moving\" went deaf and the move could be entered and never\nleft. Top and overlay layers are exempt now; the app underneath still gets\nnothing, which is the point of the grab.",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"crates/compositor/src/wayland.rs"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine-viewtop/commit/f6778efe4716659a5e87ee3c80bb74d19049f064"
|
|
},
|
|
{
|
|
"id": "c:souveraine-viewtop:b14d9926",
|
|
"repo": "souveraine-viewtop",
|
|
"sha": "b14d9926bb925f97b5a79c05114eba2f8d8fdc7d",
|
|
"branch": "main",
|
|
"at": "2026-08-07T01:52:24-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "layer surfaces get their popups drawn, and touched",
|
|
"detail": "An xdg_popup is its own surface, not a subsurface, so a layer surface's\nsurface tree does not contain it — and only toplevels had a popup pass. Every\nmenu the shell opened from the bar, the dock or the pill was created,\nconfigured, and never composited. The dock's app-stack fan named it: tapping\na stack set `expanded`, built the arc, and put nothing on the glass.",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"crates/compositor/src/wayland.rs"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine-viewtop/commit/b14d9926bb925f97b5a79c05114eba2f8d8fdc7d"
|
|
},
|
|
{
|
|
"id": "c:souveraine:5c44ea06",
|
|
"repo": "souveraine",
|
|
"sha": "5c44ea06d5e3f29a9b3d14fb556d3f263eb43e1c",
|
|
"branch": "primary",
|
|
"at": "2026-08-07T02:04:12-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "dock: scale it up, and put the scale in settings",
|
|
"detail": "44px buttons with 35px icons read small on a 540px panel, and a stack's\nmembers were 12px inside a 35px box — unreadable, which is the whole job of\nthe collapsed form. 56/44 now, and the member icons give back the border and\npadding that were being subtracted from them as well as the grid spacing.",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"surfaces/quickshell/modules/common/Config.qml",
|
|
"surfaces/quickshell/modules/ii/dock/DockAppButton.qml",
|
|
"surfaces/quickshell/modules/ii/dock/DockButton.qml",
|
|
"surfaces/quickshell/modules/ii/dock/DockStack.qml",
|
|
"surfaces/quickshell/modules/settings/DockConfig.qml"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/5c44ea06d5e3f29a9b3d14fb556d3f263eb43e1c"
|
|
},
|
|
{
|
|
"id": "c:souveraine:48265741",
|
|
"repo": "souveraine",
|
|
"sha": "48265741661f024a084cc8ac90162d7a7e6109a3",
|
|
"branch": "primary",
|
|
"at": "2026-08-07T02:06:12-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "pill: a cancelled climb puts the app back",
|
|
"detail": "onReleased is the only thing that clears the pull's pose, and a MouseArea\nwhose grab is taken away never gets one — it gets onCanceled, which had no\nhandler. So a cancelled climb left `dragging` true, the pull progress set and\nthe app posed at 0.6: shrunken, with nothing on screen to say why, and no way\nback except pulling the pill again to force a fresh press and release\nthrough.",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"surfaces/quickshell/modules/souveraine/navigation/SystemGestureRail.qml"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/48265741661f024a084cc8ac90162d7a7e6109a3"
|
|
},
|
|
{
|
|
"id": "c:souveraine:e2186011",
|
|
"repo": "souveraine",
|
|
"sha": "e2186011991b7f80ab4c6f3e59b809b9e5a2ff1d",
|
|
"branch": "primary",
|
|
"at": "2026-08-07T02:07:22-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "Revert the duplicate onCanceled on the rail",
|
|
"detail": "The handler already existed and already did this — a second one in the same\nMouseArea is \"Property value set multiple times\", which failed the whole\nmodule and took the shell down. The pill's stranded-pose symptom is\nsomething else; the cancel path was never the hole.",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"surfaces/quickshell/modules/souveraine/navigation/SystemGestureRail.qml"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/e2186011991b7f80ab4c6f3e59b809b9e5a2ff1d"
|
|
},
|
|
{
|
|
"id": "c:souveraine:47e8135c",
|
|
"repo": "souveraine",
|
|
"sha": "47e8135cdc932a8bed0a374aa2e1c9e1b35b897f",
|
|
"branch": "primary",
|
|
"at": "2026-08-07T02:21:06-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "face: her postures reach the rig, and she stops miming on startup",
|
|
"detail": "`posture()` called window.live2dMotion, which does not exist — measured\nundefined on the device. Nine states advertised to her in the prompt and\nwired to nothing. The bundle exposes two levers: #live_talk, a motion slot it\nreads every frame, and its own head/body hit test. The nine collapse onto\nthose rather than pretending: speaking talks, idle rests, and the rest are a\nlook — head for attention, body for effort.",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"assets/face/index.html",
|
|
"surfaces/quickshell/services/Face.qml"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/47e8135cdc932a8bed0a374aa2e1c9e1b35b897f"
|
|
},
|
|
{
|
|
"id": "c:souveraine-viewtop:62ec16bc",
|
|
"repo": "souveraine-viewtop",
|
|
"sha": "62ec16bc563f11a21902f93c610e8c9afe7523ad",
|
|
"branch": "main",
|
|
"at": "2026-08-07T02:21:06-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "feeds: a slow subscriber is behind, not gone",
|
|
"detail": "A full channel dropped the subscriber, which made a fast stream\nself-terminating: gaze pushes at ~25/s filled the queue faster than a QML\nsocket drained it, so the shell was unsubscribed inside the first burst of a\ndrag and never told. It looked exactly like a compositor that had stopped\npushing — and an external client that read faster kept working, which is what\nmade it look like the shell's bug.",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"crates/compositor/src/control.rs"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine-viewtop/commit/62ec16bc563f11a21902f93c610e8c9afe7523ad"
|
|
},
|
|
{
|
|
"id": "c:souveraine:f4caaae1",
|
|
"repo": "souveraine",
|
|
"sha": "f4caaae1cb69c78859254f767a104187da0379d2",
|
|
"branch": "primary",
|
|
"at": "2026-08-07T02:22:28-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "drawer: the keyboard comes up on a tap, not on a press",
|
|
"detail": "Summoning on onPressed meant any gesture that merely began over the search\nfield raised the keyboard — including the swipe that scrolls the app grid,\nwhich starts at the top of the drawer more often than not. The press now only\nremembers where it landed and the release decides, with a generous slop: a\nthumb reaching the top of a 540px panel is not steady, and a few pixels of\ndrift while tapping a text field is a tap.",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"surfaces/quickshell/modules/ii/overview/Overview.qml"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/f4caaae1cb69c78859254f767a104187da0379d2"
|
|
},
|
|
{
|
|
"id": "c:souveraine:630d6912",
|
|
"repo": "souveraine",
|
|
"sha": "630d6912fde7c0cd44662c19a2b6340240a9c0d7",
|
|
"branch": "primary",
|
|
"at": "2026-08-07T02:24:24-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "sidebar: the keyboard leaves with the panel that summoned it",
|
|
"detail": "The drawer clears oskOpen on close and this did not, so the OSK outlived the\nsurface holding the only text field it was serving — and with nothing focused\nthere was no obvious way to put it away.",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"surfaces/quickshell/modules/ii/sidebarLeft/SidebarLeft.qml"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/630d6912fde7c0cd44662c19a2b6340240a9c0d7"
|
|
},
|
|
{
|
|
"id": "c:SouveraineOS:528d290b",
|
|
"repo": "SouveraineOS",
|
|
"sha": "528d290ba65e80d86e8845d425ca523d272ace87",
|
|
"branch": "main",
|
|
"at": "2026-08-07T02:29:37-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "59/60 and the bug dump: what landed the day her face went on the glass",
|
|
"detail": "TASK-59 becomes a record of five bugs that each presented as something else —\nthe missing #live_talk element, --app-id doing nothing, the GL context claimed\nbefore the canvas was sized, posture wired to a function that does not exist,\nand a feed that dropped its own reader for being slow. Plus the furniture role,\ninput regions, gaze, and what the rig costs next.",
|
|
"dimension": "unassigned",
|
|
"basis": "none",
|
|
"paths": [
|
|
"docs/DUMP-bugs-2026-08-06.md",
|
|
"docs/tasks/59-her-face-on-the-glass.md",
|
|
"docs/tasks/60-the-multitasking-view.md"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/528d290ba65e80d86e8845d425ca523d272ace87"
|
|
},
|
|
{
|
|
"id": "c:souveraine:14c3c80b",
|
|
"repo": "souveraine",
|
|
"sha": "14c3c80b14eab7958f9c00bb8a89fcefb0ff4f63",
|
|
"branch": "primary",
|
|
"at": "2026-08-07T02:29:39-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "handoff: 2026-08-07",
|
|
"detail": "",
|
|
"dimension": "runtime",
|
|
"basis": "repo",
|
|
"paths": [
|
|
"HANDOFF.md"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/14c3c80b14eab7958f9c00bb8a89fcefb0ff4f63"
|
|
},
|
|
{
|
|
"id": "c:souveraine:57208c88",
|
|
"repo": "souveraine",
|
|
"sha": "57208c886a45d132afc967859b7ff1acecd80142",
|
|
"branch": "primary",
|
|
"at": "2026-08-07T08:41:54-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "rail: the pose rides the drag, not each exit path",
|
|
"detail": "A partial slide left the app scaled small until another pull brought it\nback (DUMP-bugs 8). Every path anyone checked did call endPull, so the\nhunt for the one that didn't was the wrong shape: while restoring is a\nstep, some path skips it. It is now a function of `dragging`.",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"surfaces/quickshell/modules/souveraine/navigation/SystemGestureRail.qml"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/57208c886a45d132afc967859b7ff1acecd80142"
|
|
},
|
|
{
|
|
"id": "c:souveraine:f699f572",
|
|
"repo": "souveraine",
|
|
"sha": "f699f572354a8ad3b41ab86f2285faadb6a75106",
|
|
"branch": "primary",
|
|
"at": "2026-08-07T08:42:00-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "multitasking draws under a dwelling thumb",
|
|
"detail": "The overview loader was only active once missionControlOpen was already\ntrue, so nothing existed during the pull and ZoneOverview.progress\nfollowing the rail was dead mid-drag. The cards appeared at release and\nanimated on their own clock — two motions, which is the seam TASK-60's\nacceptance names.",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"surfaces/quickshell/GlobalStates.qml",
|
|
"surfaces/quickshell/modules/ii/overview/Overview.qml",
|
|
"surfaces/quickshell/modules/souveraine/navigation/ZoneOverview.qml"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/f699f572354a8ad3b41ab86f2285faadb6a75106"
|
|
},
|
|
{
|
|
"id": "c:souveraine:72171acc",
|
|
"repo": "souveraine",
|
|
"sha": "72171acceca1c0605600ac5a33c99efe10a00114",
|
|
"branch": "primary",
|
|
"at": "2026-08-07T08:52:58-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "the card is the window's size through the whole pull",
|
|
"detail": "Two fixes to the same seam. columnLayout was still gated on\nmissionControlOpen, so a peek raised a panel whose contents were\ninvisible — the same line that had been left behind once before, with\nits own comment saying so.",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"surfaces/quickshell/modules/ii/overview/Overview.qml",
|
|
"surfaces/quickshell/modules/souveraine/navigation/ZoneOverview.qml"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/72171acceca1c0605600ac5a33c99efe10a00114"
|
|
},
|
|
{
|
|
"id": "c:souveraine:452acea0",
|
|
"repo": "souveraine",
|
|
"sha": "452acea0ad5f9eb64560cd388680074c7411825e",
|
|
"branch": "primary",
|
|
"at": "2026-08-07T08:52:58-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "restore every window the drag posed, not the ones the poll names",
|
|
"detail": "Going home from a pull left the app scaled down until the pill was\ndragged back to clear it. clearPose walked ViewtopControl.windows, which\nis the 2 s poll's list, so a window that list no longer named never got\nits 1.0 back. Track the ids actually posed and clear those too.",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"surfaces/quickshell/services/ViewtopControl.qml"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/452acea0ad5f9eb64560cd388680074c7411825e"
|
|
},
|
|
{
|
|
"id": "c:SouveraineOS:ee8697cd",
|
|
"repo": "SouveraineOS",
|
|
"sha": "ee8697cd8f20eada9e29d7996bf33f9d48f98835",
|
|
"branch": "main",
|
|
"at": "2026-08-07T09:18:56-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "TASK-60: one owner for the transition",
|
|
"detail": "Two writers own one geometry — the rail's pose and ZoneOverview's scale,\nrunning opposite curves off the same progress. Three attempts to make the\nnumbers agree failed in a session. The strand proves it: the repro path\nis card taps, which never reach the rail's clear-the-pose code.",
|
|
"dimension": "unassigned",
|
|
"basis": "none",
|
|
"paths": [
|
|
"docs/tasks/60-the-multitasking-view.md"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/ee8697cd8f20eada9e29d7996bf33f9d48f98835"
|
|
},
|
|
{
|
|
"id": "c:souveraine-viewtop:3c853972",
|
|
"repo": "souveraine-viewtop",
|
|
"sha": "3c853972ae9e5db6eb535c93dc048d92683c0879",
|
|
"branch": "main",
|
|
"at": "2026-08-07T09:46:48-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "the overview carry: one owner for the transition geometry",
|
|
"detail": "The shell scaled real windows through pose while ZoneOverview scaled its\ncards, both off one progress and running opposite curves, so the window\nwas at 0.6 of the glass when the card arrived near full bleed. Worse,\nthe pose was applied by the rail and had to be undone by whoever ended\nthe gesture — tapping a card never touches the rail, so a window came\nback shrunk with no way to restore it.",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"crates/compositor/src/lib.rs",
|
|
"crates/compositor/src/transition.rs",
|
|
"crates/compositor/src/wayland.rs",
|
|
"crates/wire/src/lib.rs",
|
|
"crates/wire/src/verbs.rs"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine-viewtop/commit/3c853972ae9e5db6eb535c93dc048d92683c0879"
|
|
},
|
|
{
|
|
"id": "c:Pixel3Arch:9b1afd1b",
|
|
"repo": "Pixel3Arch",
|
|
"sha": "9b1afd1bf3c2760df790887719ada2239d12a639",
|
|
"branch": "main",
|
|
"at": "2026-08-07T09:49:16-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "triage: find the phone when the laptop is on a foreign network",
|
|
"detail": "Section 6 told the reader to get the address from the router, which is\nadvice you cannot follow from a laptop that already knows the subnet.\nWhen both defaults fail, sweep the laptop's own non-home subnets and\nreport only addresses that answer ssh on our key. Cost 2026-08-07 its\nfirst twenty minutes.",
|
|
"dimension": "sensorium",
|
|
"basis": "repo",
|
|
"paths": [
|
|
"tools/phone-triage.sh"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/9b1afd1bf3c2760df790887719ada2239d12a639"
|
|
},
|
|
{
|
|
"id": "c:SouveraineOS:f71f0d72",
|
|
"repo": "SouveraineOS",
|
|
"sha": "f71f0d722a417239c1259b5d3e1d693aa79e0eba",
|
|
"branch": "main",
|
|
"at": "2026-08-07T09:50:03-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "TASK-60: compositor half done, shell half specified",
|
|
"detail": "",
|
|
"dimension": "surface",
|
|
"basis": "subject",
|
|
"paths": [
|
|
"docs/tasks/60-the-multitasking-view.md"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/f71f0d722a417239c1259b5d3e1d693aa79e0eba"
|
|
},
|
|
{
|
|
"id": "c:souveraine:16c6ee10",
|
|
"repo": "souveraine",
|
|
"sha": "16c6ee103328019a9947b95feaeb270ff9193dc7",
|
|
"branch": "primary",
|
|
"at": "2026-08-07T12:26:12-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "multitasking: one owner for the transition, and the release travels",
|
|
"detail": "ZoneTransition owns the card rect, the four overview verbs, the end-target\ntable and the gesture clock. ZoneOverview and the rail read it; neither\nderives a geometry.",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"surfaces/quickshell/GlobalStates.qml",
|
|
"surfaces/quickshell/deploy.sh",
|
|
"surfaces/quickshell/modules/ii/overview/Overview.qml",
|
|
"surfaces/quickshell/modules/souveraine/navigation/SystemGestureRail.qml",
|
|
"surfaces/quickshell/modules/souveraine/navigation/ZoneOverview.qml",
|
|
"surfaces/quickshell/services/ViewtopControl.qml",
|
|
"surfaces/quickshell/services/ZoneTransition.qml",
|
|
"surfaces/quickshell/services/qmldir"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/16c6ee103328019a9947b95feaeb270ff9193dc7"
|
|
},
|
|
{
|
|
"id": "c:SouveraineOS:71f6ce59",
|
|
"repo": "SouveraineOS",
|
|
"sha": "71f6ce591e5a7a4fceaaeae6617d5758b758221e",
|
|
"branch": "main",
|
|
"at": "2026-08-07T12:26:25-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "TASK-60: shell half done; the release was the seam",
|
|
"detail": "The awkward hand-off was not the dwell gate — it was committing at whatever\nshift the thumb left. quickstep travels to the end target first; settleTo\ndoes that now. Dwell restored to match prior art.",
|
|
"dimension": "release",
|
|
"basis": "subject",
|
|
"paths": [
|
|
"docs/tasks/60-the-multitasking-view.md"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/71f6ce591e5a7a4fceaaeae6617d5758b758221e"
|
|
},
|
|
{
|
|
"id": "c:souveraine:8cd2adb8",
|
|
"repo": "souveraine",
|
|
"sha": "8cd2adb82827196354b534dee136d07931f1ac8a",
|
|
"branch": "primary",
|
|
"at": "2026-08-07T14:48:07-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "usb: build the full KVM composite surface",
|
|
"detail": "",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
".gitea/workflows/ci.yml",
|
|
"Cargo.lock",
|
|
"Cargo.toml",
|
|
"packaging/arch/PKGBUILD.prebuilt",
|
|
"scripts/build-cross.sh",
|
|
"src/bin/souveraine-usb-kvm.rs",
|
|
"src/sessiond/device_state.rs",
|
|
"src/sessiond/protocol.rs",
|
|
"src/sessiond/server.rs",
|
|
"surfaces/quickshell/deploy.sh",
|
|
"surfaces/quickshell/modules/souveraine/windowSheet/PowerMenu.qml",
|
|
"surfaces/quickshell/modules/souveraine/windowSheet/PowerOptionRow.qml",
|
|
"surfaces/quickshell/modules/souveraine/windowSheet/qmldir",
|
|
"surfaces/quickshell/services/UsbState.qml",
|
|
"surfaces/quickshell/services/qmldir"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/8cd2adb82827196354b534dee136d07931f1ac8a"
|
|
},
|
|
{
|
|
"id": "c:Pixel3Arch:258c995b",
|
|
"repo": "Pixel3Arch",
|
|
"sha": "258c995b6a9f4180e90abdd933cc36cc16b38fc3",
|
|
"branch": "main",
|
|
"at": "2026-08-07T14:51:13-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "usb: package the full HID and KVM gadget",
|
|
"detail": "",
|
|
"dimension": "release",
|
|
"basis": "paths",
|
|
"paths": [
|
|
".gitea/workflows/packages.yml",
|
|
"pkgs/smoo/PKGBUILD",
|
|
"pkgs/usb-signaller/0001-souveraine-hid-composite.patch",
|
|
"pkgs/usb-signaller/PKGBUILD",
|
|
"pkgs/usb-signaller/smoo-gadget.service",
|
|
"pkgs/usb-signaller/souveraine-usb-kvm.service",
|
|
"pkgs/usb-signaller/usb-moded-hid-mode.service",
|
|
"pkgs/usb-signaller/usb-moded-hid-mode.sh",
|
|
"pkgs/usb-signaller/usb-moded-kvm-mode.service",
|
|
"pkgs/usb-signaller/usb-moded-kvm-mode.sh"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/258c995b6a9f4180e90abdd933cc36cc16b38fc3"
|
|
},
|
|
{
|
|
"id": "c:SouveraineOS:4aa61d73",
|
|
"repo": "SouveraineOS",
|
|
"sha": "4aa61d735c93e6413f322b1433e764325ae31906",
|
|
"branch": "main",
|
|
"at": "2026-08-07T14:52:28-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "docs: reconcile USB, Waydroid, audio and charging",
|
|
"detail": "",
|
|
"dimension": "sensorium",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"PAF/README.md",
|
|
"PAF/audio.md",
|
|
"USB/README.md",
|
|
"docs/README.md",
|
|
"docs/STORAGE-ENCRYPTION.md",
|
|
"docs/WAYDROID.md",
|
|
"docs/tasks/33-battery-as-device-state.md",
|
|
"docs/tasks/62-full-usb-kvm.md",
|
|
"docs/tasks/README.md"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/4aa61d735c93e6413f322b1433e764325ae31906"
|
|
},
|
|
{
|
|
"id": "c:Pixel3Arch:d1511649",
|
|
"repo": "Pixel3Arch",
|
|
"sha": "d1511649c1e534d67772040be1d5b0db1bc52cdb",
|
|
"branch": "main",
|
|
"at": "2026-08-07T15:04:50-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "ci: bound package workspace storage",
|
|
"detail": "",
|
|
"dimension": "release",
|
|
"basis": "paths",
|
|
"paths": [
|
|
".gitea/workflows/packages.yml"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/d1511649c1e534d67772040be1d5b0db1bc52cdb"
|
|
},
|
|
{
|
|
"id": "c:Pixel3Arch:b6bc0fff",
|
|
"repo": "Pixel3Arch",
|
|
"sha": "b6bc0fff07fac515c77269f34e908e194b1f78da",
|
|
"branch": "main",
|
|
"at": "2026-08-07T15:24:04-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "smoo: fetch before the offline build",
|
|
"detail": "",
|
|
"dimension": "release",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"pkgs/smoo/PKGBUILD"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/b6bc0fff07fac515c77269f34e908e194b1f78da"
|
|
},
|
|
{
|
|
"id": "c:Pixel3Arch:d7c765ae",
|
|
"repo": "Pixel3Arch",
|
|
"sha": "d7c765ae7247519f70a0482cff61bd62caa77be6",
|
|
"branch": "main",
|
|
"at": "2026-08-07T15:31:22-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "smoo: fetch host build dependencies",
|
|
"detail": "",
|
|
"dimension": "release",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"pkgs/smoo/PKGBUILD"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/d7c765ae7247519f70a0482cff61bd62caa77be6"
|
|
},
|
|
{
|
|
"id": "c:Pixel3Arch:4e862e83",
|
|
"repo": "Pixel3Arch",
|
|
"sha": "4e862e8377040327ab6a716a0eddd9f0df96a3d8",
|
|
"branch": "main",
|
|
"at": "2026-08-07T15:35:07-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "ci: let package prepares populate Cargo",
|
|
"detail": "",
|
|
"dimension": "release",
|
|
"basis": "paths",
|
|
"paths": [
|
|
".gitea/workflows/packages.yml",
|
|
"pkgs/smoo/PKGBUILD"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/4e862e8377040327ab6a716a0eddd9f0df96a3d8"
|
|
},
|
|
{
|
|
"id": "c:Pixel3Arch:39242795",
|
|
"repo": "Pixel3Arch",
|
|
"sha": "39242795c6c9e42f42ce56f2101d495146ae6e95",
|
|
"branch": "main",
|
|
"at": "2026-08-07T15:40:46-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "smoo: provision its pinned cross target",
|
|
"detail": "",
|
|
"dimension": "adoption",
|
|
"basis": "subject",
|
|
"paths": [
|
|
"pkgs/smoo/PKGBUILD"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/39242795c6c9e42f42ce56f2101d495146ae6e95"
|
|
},
|
|
{
|
|
"id": "c:Pixel3Arch:8c9c50fa",
|
|
"repo": "Pixel3Arch",
|
|
"sha": "8c9c50fa0fd3f98fe9209904f6b7ede80e6e4a71",
|
|
"branch": "main",
|
|
"at": "2026-08-07T15:54:19-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "usb: publish the management tether owner",
|
|
"detail": "",
|
|
"dimension": "release",
|
|
"basis": "paths",
|
|
"paths": [
|
|
".gitea/workflows/packages.yml",
|
|
"pkgs/blueline-usb-gadget/PKGBUILD",
|
|
"rootfs-overlay/etc/systemd/system/multi-user.target.wants/usb-gadget-net.service"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/8c9c50fa0fd3f98fe9209904f6b7ede80e6e4a71"
|
|
},
|
|
{
|
|
"id": "c:SouveraineOS:b1a9efcc",
|
|
"repo": "SouveraineOS",
|
|
"sha": "b1a9efcc637c06f04b4dda2d2017c1a2c84096b9",
|
|
"branch": "main",
|
|
"at": "2026-08-07T15:55:21-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "docs: keep USB authority and hardware acceptance open",
|
|
"detail": "",
|
|
"dimension": "identity",
|
|
"basis": "subject",
|
|
"paths": [
|
|
"docs/tasks/62-full-usb-kvm.md",
|
|
"docs/tasks/README.md"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/b1a9efcc637c06f04b4dda2d2017c1a2c84096b9"
|
|
},
|
|
{
|
|
"id": "c:souveraine:0c9db098",
|
|
"repo": "souveraine",
|
|
"sha": "0c9db09888f9f665bcc217359526fa40d7ba1162",
|
|
"branch": "primary",
|
|
"at": "2026-08-07T16:02:16-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "memory: persist every git index mutation",
|
|
"detail": "",
|
|
"dimension": "memory",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"src/core/memory/mod.rs"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/0c9db09888f9f665bcc217359526fa40d7ba1162"
|
|
},
|
|
{
|
|
"id": "c:souveraine:9ceaf61f",
|
|
"repo": "souveraine",
|
|
"sha": "9ceaf61fa62ecb0a22f84e0363010fb37845f301",
|
|
"branch": "primary",
|
|
"at": "2026-08-07T16:06:41-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "memory: base scoped commits on HEAD",
|
|
"detail": "",
|
|
"dimension": "memory",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"src/core/memory/mod.rs"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/9ceaf61fa62ecb0a22f84e0363010fb37845f301"
|
|
},
|
|
{
|
|
"id": "c:SouveraineOS:5cc4020c",
|
|
"repo": "SouveraineOS",
|
|
"sha": "5cc4020c928d4238859ead95600fd495cf0eaaff",
|
|
"branch": "main",
|
|
"at": "2026-08-07T16:16:31-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "docs: archive the memory write-path audit",
|
|
"detail": "",
|
|
"dimension": "memory",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"docs/tasks/archive/README.md",
|
|
"docs/tasks/archive/from-substrate/souveraine-memory-write-path-audit.md"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/5cc4020c928d4238859ead95600fd495cf0eaaff"
|
|
},
|
|
{
|
|
"id": "c:SouveraineOS:721b0c7a",
|
|
"repo": "SouveraineOS",
|
|
"sha": "721b0c7a0fe93dd422b91bf968d6c56545709926",
|
|
"branch": "main",
|
|
"at": "2026-08-07T17:24:40-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "docs: record the USB landing and VPN gate",
|
|
"detail": "",
|
|
"dimension": "sensorium",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"docs/tasks/49-bearer-selection-as-device-state.md",
|
|
"docs/tasks/62-full-usb-kvm.md"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/721b0c7a0fe93dd422b91bf968d6c56545709926"
|
|
},
|
|
{
|
|
"id": "c:souveraine:78d67437",
|
|
"repo": "souveraine",
|
|
"sha": "78d6743776905cdd75c64761dd3b3eea72bbe917",
|
|
"branch": "primary",
|
|
"at": "2026-08-07T17:36:25-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "usb: make the HID controller doorway honest",
|
|
"detail": "",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"surfaces/quickshell/modules/souveraine/windowSheet/PowerMenu.qml"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/78d6743776905cdd75c64761dd3b3eea72bbe917"
|
|
},
|
|
{
|
|
"id": "c:SouveraineOS:327c08c6",
|
|
"repo": "SouveraineOS",
|
|
"sha": "327c08c67e1f2c8bf2727d20a87c00a8c7a52c3f",
|
|
"branch": "main",
|
|
"at": "2026-08-07T17:36:33-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "docs: record the first live HID cable proof",
|
|
"detail": "",
|
|
"dimension": "unassigned",
|
|
"basis": "none",
|
|
"paths": [
|
|
"docs/tasks/62-full-usb-kvm.md"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/327c08c67e1f2c8bf2727d20a87c00a8c7a52c3f"
|
|
},
|
|
{
|
|
"id": "c:Pixel3Arch:6a757981",
|
|
"repo": "Pixel3Arch",
|
|
"sha": "6a757981178a4748eac1a65b550e78cc4af3167e",
|
|
"branch": "main",
|
|
"at": "2026-08-07T19:07:34-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "upstream: prepare SLIMbus DEF_ACT_CHAN fix",
|
|
"detail": "",
|
|
"dimension": "runtime",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"upstream/standalone/slimbus-def-act-chan-v1/0001-slimbus-qcom-ngd-ctrl-fix-def_act_chan-client-encoding.patch",
|
|
"upstream/standalone/slimbus-def-act-chan-v1/README.md"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/6a757981178a4748eac1a65b550e78cc4af3167e"
|
|
},
|
|
{
|
|
"id": "c:Pixel3Arch:e8bb2bff",
|
|
"repo": "Pixel3Arch",
|
|
"sha": "e8bb2bff54e7b8451c0f3f6f7fdb3a576bc48647",
|
|
"branch": "main",
|
|
"at": "2026-08-07T19:17:48-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "upstream: make DEF_ACT_CHAN patch speak plainly",
|
|
"detail": "",
|
|
"dimension": "runtime",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"upstream/standalone/slimbus-def-act-chan-v1/0001-slimbus-qcom-ngd-ctrl-fix-def_act_chan-client-encoding.patch",
|
|
"upstream/standalone/slimbus-def-act-chan-v1/0001-slimbus-qcom-ngd-ctrl-match-downstream-def_act_chan-encoding.patch",
|
|
"upstream/standalone/slimbus-def-act-chan-v1/README.md"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/e8bb2bff54e7b8451c0f3f6f7fdb3a576bc48647"
|
|
},
|
|
{
|
|
"id": "c:Pixel3Arch:b2a1d2c4",
|
|
"repo": "Pixel3Arch",
|
|
"sha": "b2a1d2c49ef82fe972eb19c0997ccec4191c4091",
|
|
"branch": "main",
|
|
"at": "2026-08-07T19:28:00-04:00",
|
|
"author": "Casey@SamaritanSolutions.net",
|
|
"subject": "upstream: use Samaritan Solutions identity for SLIMbus patch",
|
|
"detail": "",
|
|
"dimension": "runtime",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"upstream/standalone/slimbus-def-act-chan-v1/0001-slimbus-qcom-ngd-ctrl-match-downstream-def_act_chan-encoding.patch"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/b2a1d2c49ef82fe972eb19c0997ccec4191c4091"
|
|
},
|
|
{
|
|
"id": "c:SouveraineOS:4f8f7cfc",
|
|
"repo": "SouveraineOS",
|
|
"sha": "4f8f7cfcdbe686c7487567f93270fbed1934aa5d",
|
|
"branch": "main",
|
|
"at": "2026-08-07T19:40:45-04:00",
|
|
"author": "Casey@SamaritanSolutions.net",
|
|
"subject": "docs: park SLIMbus upstream follow-up",
|
|
"detail": "",
|
|
"dimension": "runtime",
|
|
"basis": "subject",
|
|
"paths": [
|
|
"docs/davids-tasks/slimbus-def-act-chan.md"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/4f8f7cfcdbe686c7487567f93270fbed1934aa5d"
|
|
},
|
|
{
|
|
"id": "c:Pixel3Arch:31fe89cf",
|
|
"repo": "Pixel3Arch",
|
|
"sha": "31fe89cf47695f7d4759c1ef1a25b7ee8ed16d8e",
|
|
"branch": "main",
|
|
"at": "2026-08-07T19:57:20-04:00",
|
|
"author": "Casey@SamaritanSolutions.net",
|
|
"subject": "upstream: apply SLIMbus review notes",
|
|
"detail": "",
|
|
"dimension": "runtime",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"upstream/standalone/slimbus-def-act-chan-v1/0001-slimbus-qcom-ngd-ctrl-match-downstream-def_act_chan-encoding.patch"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/31fe89cf47695f7d4759c1ef1a25b7ee8ed16d8e"
|
|
},
|
|
{
|
|
"id": "c:SouveraineOS:bc002146",
|
|
"repo": "SouveraineOS",
|
|
"sha": "bc0021463d4b793aa5b0fdfeaf4233964e66fb7f",
|
|
"branch": "main",
|
|
"at": "2026-08-07T20:00:47-04:00",
|
|
"author": "Casey@SamaritanSolutions.net",
|
|
"subject": "docs: record SLIMbus review result",
|
|
"detail": "",
|
|
"dimension": "unassigned",
|
|
"basis": "none",
|
|
"paths": [
|
|
"docs/davids-tasks/slimbus-def-act-chan.md"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/bc0021463d4b793aa5b0fdfeaf4233964e66fb7f"
|
|
},
|
|
{
|
|
"id": "c:Pixel3Arch:b77f181d",
|
|
"repo": "Pixel3Arch",
|
|
"sha": "b77f181d07cca295712b910dff043c0e00116326",
|
|
"branch": "main",
|
|
"at": "2026-08-07T20:22:21-04:00",
|
|
"author": "casey@samaritansolutions.net",
|
|
"subject": "upstream: normalize SLIMbus sender address",
|
|
"detail": "",
|
|
"dimension": "runtime",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"upstream/standalone/slimbus-def-act-chan-v1/0001-slimbus-qcom-ngd-ctrl-match-downstream-def_act_chan-encoding.patch"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/b77f181d07cca295712b910dff043c0e00116326"
|
|
},
|
|
{
|
|
"id": "c:SouveraineOS:df334caf",
|
|
"repo": "SouveraineOS",
|
|
"sha": "df334caf64afb5a619a8eb39ea12f0bd744c7155",
|
|
"branch": "main",
|
|
"at": "2026-08-07T20:22:50-04:00",
|
|
"author": "casey@samaritansolutions.net",
|
|
"subject": "docs: normalize SLIMbus sender address",
|
|
"detail": "",
|
|
"dimension": "unassigned",
|
|
"basis": "none",
|
|
"paths": [
|
|
"docs/davids-tasks/slimbus-def-act-chan.md"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/df334caf64afb5a619a8eb39ea12f0bd744c7155"
|
|
},
|
|
{
|
|
"id": "c:Pixel3Arch:fe8ad41c",
|
|
"repo": "Pixel3Arch",
|
|
"sha": "fe8ad41c7949bf3517b7867966667050fd0eb7e1",
|
|
"branch": "main",
|
|
"at": "2026-08-07T20:39:33-04:00",
|
|
"author": "casey@samaritansolutions.net",
|
|
"subject": "upstream: record SLIMbus v1 submission",
|
|
"detail": "",
|
|
"dimension": "runtime",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"upstream/standalone/slimbus-def-act-chan-v1/0001-slimbus-qcom-ngd-ctrl-match-downstream-def_act_chan-encoding.patch",
|
|
"upstream/standalone/slimbus-def-act-chan-v1/README.md"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/fe8ad41c7949bf3517b7867966667050fd0eb7e1"
|
|
},
|
|
{
|
|
"id": "c:SouveraineOS:376ef952",
|
|
"repo": "SouveraineOS",
|
|
"sha": "376ef95218a154872551807391c75251bbbe1487",
|
|
"branch": "main",
|
|
"at": "2026-08-07T20:40:16-04:00",
|
|
"author": "casey@samaritansolutions.net",
|
|
"subject": "docs: record SLIMbus v1 submission",
|
|
"detail": "",
|
|
"dimension": "unassigned",
|
|
"basis": "none",
|
|
"paths": [
|
|
"docs/davids-tasks/slimbus-def-act-chan.md"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/376ef95218a154872551807391c75251bbbe1487"
|
|
},
|
|
{
|
|
"id": "c:Pixel3Arch:68dca16c",
|
|
"repo": "Pixel3Arch",
|
|
"sha": "68dca16cb419b8f098fa1435556976c0c003d82b",
|
|
"branch": "main",
|
|
"at": "2026-08-08T15:30:38-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "docs: record the secure-world reference trees",
|
|
"detail": "Katana/sdm845-payloads/QHEEStub pulled into references/bootchain,\nwrobelda's Goodix work into references/biometrics with both kernel\nbranches as series. blueline's hyp is Google-signed, not QTI — the\nQHEEStub precondition holds. The sensor is FPC1270, not Goodix, so\nonly the QSEECOM half of that stack ports.",
|
|
"dimension": "sensorium",
|
|
"basis": "repo",
|
|
"paths": [
|
|
"docs/secure-world-references.md"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/68dca16cb419b8f098fa1435556976c0c003d82b"
|
|
},
|
|
{
|
|
"id": "c:Pixel3Arch:f30063b5",
|
|
"repo": "Pixel3Arch",
|
|
"sha": "f30063b50a2a7f6ec33af22d7e098e9ffb586bd0",
|
|
"branch": "main",
|
|
"at": "2026-08-08T15:31:02-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "docs: the phone was down, not the tunnel",
|
|
"detail": "",
|
|
"dimension": "sensorium",
|
|
"basis": "repo",
|
|
"paths": [
|
|
"docs/secure-world-references.md"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/f30063b50a2a7f6ec33af22d7e098e9ffb586bd0"
|
|
},
|
|
{
|
|
"id": "c:Pixel3Arch:13888ed3",
|
|
"repo": "Pixel3Arch",
|
|
"sha": "13888ed3cb7a66a790f544b4189fbd0a11ad88aa",
|
|
"branch": "main",
|
|
"at": "2026-08-09T08:38:52-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "docs: name the FPC application and settle the tethering question",
|
|
"detail": "fpctzappfingerprint was in blueline's own vendor.img, and it is FPC's\ncross-OEM name, not a per-device one. Google's driver and the b1c1\nfingerprint dtsi pulled down beside it. qtestsign's own README settles\npersistent EL2: test keys need secure boot off, and XBL authenticates\nhyp before ABL can know the bootloader is unlocked.",
|
|
"dimension": "sensorium",
|
|
"basis": "repo",
|
|
"paths": [
|
|
"docs/secure-world-references.md"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/13888ed3cb7a66a790f544b4189fbd0a11ad88aa"
|
|
},
|
|
{
|
|
"id": "c:Pixel3Arch:e2ca92a8",
|
|
"repo": "Pixel3Arch",
|
|
"sha": "e2ca92a8e1eb730352a7a6a08534043262fbae73",
|
|
"branch": "main",
|
|
"at": "2026-08-09T08:52:47-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "docs: three reads landed, and one trap",
|
|
"detail": "qcom_qseecom is bound on the phone, so QSEE is reachable from mainline\ntoday and the TEE slot is simply empty. linux-firmware carries no\nfingerprint TA on sdm845/sm8250/sm8150, so TAs are per-device extracts,\nnot shippable. Blind qfprom dumps stay off the daily driver.",
|
|
"dimension": "sensorium",
|
|
"basis": "repo",
|
|
"paths": [
|
|
"docs/secure-world-references.md"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/e2ca92a8e1eb730352a7a6a08534043262fbae73"
|
|
},
|
|
{
|
|
"id": "c:Pixel3Arch:85bd4b89",
|
|
"repo": "Pixel3Arch",
|
|
"sha": "85bd4b89abd1010bd2a946f0261ee552011eb834",
|
|
"branch": "main",
|
|
"at": "2026-08-09T09:21:51-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "docs: recover the fpctzappfingerprint command protocol",
|
|
"detail": "The TA is not stripped: every handler logs __func__, so the router's\njump tables resolve to names. Eight targets; sensor is 10 and bio is 11\nwith the full enrol/identify/enumerate/delete set. Target 10 command 1\nis check_finger_lost, which is the instrument TASK-44 was missing.\nStatic, from the vendor image on disk.",
|
|
"dimension": "sensorium",
|
|
"basis": "subject",
|
|
"paths": [
|
|
"docs/fpc-ta-protocol.md"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/85bd4b89abd1010bd2a946f0261ee552011eb834"
|
|
},
|
|
{
|
|
"id": "c:SouveraineOS:5134b4e1",
|
|
"repo": "SouveraineOS",
|
|
"sha": "5134b4e19fdb30a216ebae609f325411fadb9410",
|
|
"branch": "main",
|
|
"at": "2026-08-09T09:21:58-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "task 44: the command protocol is recovered",
|
|
"detail": "",
|
|
"dimension": "sensorium",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"docs/tasks/44-fingerprint-fpc1020.md"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/5134b4e19fdb30a216ebae609f325411fadb9410"
|
|
},
|
|
{
|
|
"id": "c:Pixel3Arch:82882254",
|
|
"repo": "Pixel3Arch",
|
|
"sha": "8288225400b79477838fb5e20457fe98d90a8b98",
|
|
"branch": "main",
|
|
"at": "2026-08-09T09:48:00-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "docs: storage is confined to target 2, so bio cannot block",
|
|
"detail": "The only persistence is qsee_fts_*, reached from three wrappers. Call\ngraph says targets 2 and 12 reach them and nothing else does, so the\nenrol/identify lifecycle runs in RAM with no listener. Parking TZ is\nthe real hazard and it lives in target 2 alone.",
|
|
"dimension": "sensorium",
|
|
"basis": "repo",
|
|
"paths": [
|
|
"docs/fpc-ta-protocol.md"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/8288225400b79477838fb5e20457fe98d90a8b98"
|
|
},
|
|
{
|
|
"id": "c:Pixel3Arch:cfaa7a04",
|
|
"repo": "Pixel3Arch",
|
|
"sha": "cfaa7a046a27f45a2b25ec10aec7fa0c74bd0738",
|
|
"branch": "main",
|
|
"at": "2026-08-09T09:51:39-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "tools: ask the TA for finger state instead of counting edges",
|
|
"detail": "Target 10 command 1 is check_finger_lost. Arms exactly once and\nbrackets every query with the interrupt count, so the call's own edge\nis reported apart from spontaneous ones -- the 1444-event trap.",
|
|
"dimension": "sensorium",
|
|
"basis": "repo",
|
|
"paths": [
|
|
"tools/fp-finger.py"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/cfaa7a046a27f45a2b25ec10aec7fa0c74bd0738"
|
|
},
|
|
{
|
|
"id": "c:SouveraineOS:d09978df",
|
|
"repo": "SouveraineOS",
|
|
"sha": "d09978df14b3e12c40bc3f9aa479f86cb91dc286",
|
|
"branch": "main",
|
|
"at": "2026-08-09T09:54:49-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "task 44: the factor is a daemon, and the listener is not its job",
|
|
"detail": "Prior art checked: sailfish-fpd-community needs hybris, wrobelda's\nlibfprint branch is the only match-on-chip-over-QSEE example, and\nnobody has done FPC over QSEE natively. One listener receiver per\ndevice means the supplicant is a separate owner from the fp daemon.",
|
|
"dimension": "sensorium",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"docs/tasks/44-fingerprint-fpc1020.md"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/d09978df14b3e12c40bc3f9aa479f86cb91dc286"
|
|
},
|
|
{
|
|
"id": "c:SouveraineOS:34cc8e97",
|
|
"repo": "SouveraineOS",
|
|
"sha": "34cc8e97f91d470464835a688419023752bb70a6",
|
|
"branch": "main",
|
|
"at": "2026-08-09T09:58:15-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "task 44: there is no API to design",
|
|
"detail": "fprintd, gazed, sailfish-fpd and biometryd are the same interface four\ntimes. Take that shape and face and finger become one surface with two\nbackends. Mapped every call onto the recovered TA commands; the gaps\nare persistence and the auth token, both already named.",
|
|
"dimension": "sensorium",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"docs/tasks/44-fingerprint-fpc1020.md"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/34cc8e97f91d470464835a688419023752bb70a6"
|
|
},
|
|
{
|
|
"id": "c:Pixel3Arch:e60eab86",
|
|
"repo": "Pixel3Arch",
|
|
"sha": "e60eab86e5eb8c56bb18ad7f8ee35b075de6a2e8",
|
|
"branch": "main",
|
|
"at": "2026-08-09T10:01:39-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "tools: rescue the five fingerprint tools that lived only on the phone",
|
|
"detail": "fp-arm/bringup/go/load/sweep have been in ~ on the device since\n2026-08-01; a reprovision would have taken them. fp-go's error table,\ndecoded from the HAL, independently matches the router codes read out\nof the TA today -- recorded in the protocol doc.",
|
|
"dimension": "sensorium",
|
|
"basis": "subject",
|
|
"paths": [
|
|
"docs/fpc-ta-protocol.md",
|
|
"tools/fp-arm.py",
|
|
"tools/fp-bringup.py",
|
|
"tools/fp-go.py",
|
|
"tools/fp-load.py",
|
|
"tools/fp-sweep.py"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/e60eab86e5eb8c56bb18ad7f8ee35b075de6a2e8"
|
|
},
|
|
{
|
|
"id": "c:SouveraineOS:b78342a3",
|
|
"repo": "SouveraineOS",
|
|
"sha": "b78342a3379bfe177d9a3fd1999d9e857a1902aa",
|
|
"branch": "main",
|
|
"at": "2026-08-09T10:01:51-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "dump: fingerprint handoff, and the protocol is recovered",
|
|
"detail": "STATE moved to 2026-08-09. One instrument is waiting on a finger;\neverything else about the enrol lifecycle is reachable in RAM today.",
|
|
"dimension": "sensorium",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"STATE.md",
|
|
"docs/DUMP-fingerprint-2026-08-09.md"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/b78342a3379bfe177d9a3fd1999d9e857a1902aa"
|
|
},
|
|
{
|
|
"id": "c:souveraine:abdf3108",
|
|
"repo": "souveraine",
|
|
"sha": "abdf31087d5496157b86d2bc549ea6a1e2c20e6d",
|
|
"branch": "primary",
|
|
"at": "2026-08-09T19:30:56-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "docs: the working agreement for this repo",
|
|
"detail": "Points at the personal agreement and the cross-repo map, names this tree\nas the substrate rather than a harness, and starts architecture at\nsaf/INDEX.md.",
|
|
"dimension": "runtime",
|
|
"basis": "repo",
|
|
"paths": [
|
|
"AGENTS.md"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/abdf31087d5496157b86d2bc549ea6a1e2c20e6d"
|
|
},
|
|
{
|
|
"id": "c:souveraine:32c01987",
|
|
"repo": "souveraine",
|
|
"sha": "32c019875c407dfd01179f4ffc8c58adfcd9278e",
|
|
"branch": "primary",
|
|
"at": "2026-08-09T19:31:07-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "usb: land the HID controller the doorway was already calling",
|
|
"detail": "78d6743 committed PowerMenu's half and never added the file, so the\nsingleton in qmldir resolved to nothing and the shell would not load on a\ntree that had not been hand-linked.",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"assets/face/index.html",
|
|
"src/bin/souveraine-web.rs",
|
|
"surfaces/quickshell/deploy.sh",
|
|
"surfaces/quickshell/modules/souveraine/windowSheet/PowerMenu.qml",
|
|
"surfaces/quickshell/services/Face.qml",
|
|
"surfaces/quickshell/services/HidController.qml",
|
|
"surfaces/quickshell/services/Souveraine.qml",
|
|
"surfaces/quickshell/services/qmldir"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/32c019875c407dfd01179f4ffc8c58adfcd9278e"
|
|
},
|
|
{
|
|
"id": "c:souveraine:b2774c8a",
|
|
"repo": "souveraine",
|
|
"sha": "b2774c8aac472c637de2af6bc13334db1f2dde52",
|
|
"branch": "primary",
|
|
"at": "2026-08-09T19:31:33-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "sessiond: a power seam that cannot report an outcome it does not have",
|
|
"detail": "Power is the one irreversible transition and it bypassed the authority\nentirely: both menus called Session.poweroff() straight into systemctl, so\nthere was no Action, no trail entry and no refusal path.",
|
|
"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/b2774c8aac472c637de2af6bc13334db1f2dde52"
|
|
},
|
|
{
|
|
"id": "c:souveraine:c802f7db",
|
|
"repo": "souveraine",
|
|
"sha": "c802f7db488761ba538cbc0e2f4a03bc51eb7a6f",
|
|
"branch": "primary",
|
|
"at": "2026-08-09T19:31:33-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "packaging: sessiond ships on both arches, enabled on neither",
|
|
"detail": "CI already built the x86_64 daemon and then threw it away — the binary and\nits user unit were copied into the package only under aarch64, so the\nlaptop could never receive the thing every lock, blank and button report\nassumes is running.",
|
|
"dimension": "identity",
|
|
"basis": "subject",
|
|
"paths": [
|
|
".gitea/workflows/ci.yml",
|
|
"Cargo.toml",
|
|
"packaging/arch/PKGBUILD.prebuilt"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/c802f7db488761ba538cbc0e2f4a03bc51eb7a6f"
|
|
},
|
|
{
|
|
"id": "c:Pixel3Arch:a58a5898",
|
|
"repo": "Pixel3Arch",
|
|
"sha": "a58a5898e641eaba3b30ac40c4c086f41e82e338",
|
|
"branch": "main",
|
|
"at": "2026-08-09T19:43:07-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "PAF: finish the move, leave a pointer that says where it went",
|
|
"detail": "SouveraineOS 72aaa53 copied the spine on 2026-07-24 and this repo kept a\nlive copy, so both drifted through phone calls, Active Edge and the\nfingerprint work. The newer tree was promoted before this duplicate was\nretired; nothing was lost, and 9b1afd1 still holds the whole retired PAF.",
|
|
"dimension": "sensorium",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"CLAUDE.md",
|
|
"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/edge-sense.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",
|
|
"pkgs/souveraine-ucm-blueline/HiFi.conf",
|
|
"rootfs-overlay/etc/systemd/system/blueline-hexagonrpcd-adsp.service",
|
|
"rootfs-overlay/etc/systemd/system/blueline-sensors-enable.service",
|
|
"rootfs-overlay/usr/share/alsa/ucm2/Google/blueline/HiFi.conf",
|
|
"scripts/provision-rootfs.sh"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/a58a5898e641eaba3b30ac40c4c086f41e82e338"
|
|
},
|
|
{
|
|
"id": "c:Pixel3Arch:2c675304",
|
|
"repo": "Pixel3Arch",
|
|
"sha": "2c67530415f25cce15900d6d8898ec8e70aabe90",
|
|
"branch": "main",
|
|
"at": "2026-08-09T19:43:25-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "docs: repoint the rest at SouveraineOS/PAF",
|
|
"detail": "The remaining citations in package recipes, overlay patches and task files\nstill named the retired in-repo spine.",
|
|
"dimension": "runtime",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"docs/tasks/native-mkinitcpio-ramdisk.md",
|
|
"docs/tasks/paf-reconciliation.md",
|
|
"docs/tasks/publish-readiness.md",
|
|
"overlays/quickshell-ii-patches/QuickSliders.qml",
|
|
"pkgs/blueline-edge-sense/edge-sense.c",
|
|
"pkgs/hexagonrpc/patches/0007-real-write-and-reverse-monitor.patch",
|
|
"pkgs/pipewire-abi-provider/PKGBUILD",
|
|
"pkgs/pipewire-abi-provider/README.md",
|
|
"pkgs/pulse-native-provider/PKGBUILD"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/2c67530415f25cce15900d6d8898ec8e70aabe90"
|
|
},
|
|
{
|
|
"id": "c:Pixel3Arch:dcd97e5c",
|
|
"repo": "Pixel3Arch",
|
|
"sha": "dcd97e5c17be316f98d036ba3a35b32561adb59c",
|
|
"branch": "main",
|
|
"at": "2026-08-09T19:43:25-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "usb-signaller: the streaming HID writer the shell talks to",
|
|
"detail": "pkgrel 6. Adds a stream mode that holds both endpoint fds open and\nacknowledges each accepted report, so the shell-side controller is a\npersistent trackpad and keyboard rather than a process per keystroke.",
|
|
"dimension": "release",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"pkgs/usb-signaller/0001-souveraine-hid-composite.patch",
|
|
"pkgs/usb-signaller/PKGBUILD"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/commit/dcd97e5c17be316f98d036ba3a35b32561adb59c"
|
|
},
|
|
{
|
|
"id": "c:SouveraineOS:37b570e1",
|
|
"repo": "SouveraineOS",
|
|
"sha": "37b570e1d0636bc17adbd306a69d2b003a14b44d",
|
|
"branch": "main",
|
|
"at": "2026-08-09T19:50:38-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "63: the second body, and every place the base assumed one board",
|
|
"detail": "The shell is on the iPhone 7 — viewtop, sessiond and qs, drawn by llvmpipe\non a card with no render node, over one cable. Wallpaper, palette, bar,\nclock, dock and her quote match the Pixel.",
|
|
"dimension": "unassigned",
|
|
"basis": "none",
|
|
"paths": [
|
|
"docs/tasks/63-d10-second-body.md"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/37b570e1d0636bc17adbd306a69d2b003a14b44d"
|
|
},
|
|
{
|
|
"id": "c:souveraine:eb0292c3",
|
|
"repo": "souveraine",
|
|
"sha": "eb0292c342ccfb987bab124a0a45e9a84e947bf4",
|
|
"branch": "primary",
|
|
"at": "2026-08-09T21:19:30-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "sessiond: dim by percent, not an absolute",
|
|
"detail": "brightnessctl set 10 is 4% on blueline's 255-step backlight and 0.5% on\nthe iPhone 7's 2047-step Apple DWI, where it reads as fully off. Measured\non d10 2026-08-09: brightness=1 with the panel still powered, so the\nscreen went black on a dim that never blanked.",
|
|
"dimension": "identity",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"src/sessiond/server.rs"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/eb0292c342ccfb987bab124a0a45e9a84e947bf4"
|
|
},
|
|
{
|
|
"id": "c:SouveraineOS:dd5e2422",
|
|
"repo": "SouveraineOS",
|
|
"sha": "dd5e242227b7c4772435c4da74c1fea54d47dd7f",
|
|
"branch": "main",
|
|
"at": "2026-08-09T22:09:18-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "TASK-63: touch on the glass, and a display pipe on T8010",
|
|
"detail": "Touch proven with real events, not a device node: three layers, the last\nbeing runtime report activation gated to D11 so D10 went silent a second\nafter boot.",
|
|
"dimension": "sensorium",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"PAF/evidence/d10-adp-touch-2026-08-09.patch",
|
|
"docs/tasks/63-d10-second-body.md"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/dd5e242227b7c4772435c4da74c1fea54d47dd7f"
|
|
},
|
|
{
|
|
"id": "c:souveraine:bf469c42",
|
|
"repo": "souveraine",
|
|
"sha": "bf469c42167debbf11905b1776576c53469e2a71",
|
|
"branch": "primary",
|
|
"at": "2026-08-09T22:21:14-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "lock: answer touchKeypad on a cold start, not just a reload",
|
|
"detail": "PersistentProperties is in-process, so it carries the surface choice\nthrough a reload and not through a fresh shell. sessiond locks before the\nshell exists, so a greetd-started shell adopts a live lock with\nConfig.ready still false and binds the desktop surface — and\nWlSessionLock.surfaceComponent cannot change once active. A lock screen\nthat will not take your PIN, on the iPhone 7 tonight.",
|
|
"dimension": "surface",
|
|
"basis": "paths",
|
|
"paths": [
|
|
"surfaces/quickshell/modules/ii/lock/Lock.qml"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/souveraine/commit/bf469c42167debbf11905b1776576c53469e2a71"
|
|
},
|
|
{
|
|
"id": "c:SouveraineOS:10685153",
|
|
"repo": "SouveraineOS",
|
|
"sha": "10685153ea13fe72426617a30c36d9297d529fd6",
|
|
"branch": "main",
|
|
"at": "2026-08-09T22:30:29-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "devices/: a support matrix per body",
|
|
"detail": "One row per capability, one column per body, with a strict status vocabulary —\n\"works\" means exercised with evidence named, never that a device node appeared.\nblueline points at PAF/ rather than copying it; d10 carries its own state; m1\nrecords what already transfers before anything is measured.",
|
|
"dimension": "unassigned",
|
|
"basis": "none",
|
|
"paths": [
|
|
"START-HERE.md",
|
|
"devices/README.md",
|
|
"devices/blueline/README.md",
|
|
"devices/d10/README.md",
|
|
"devices/m1/README.md",
|
|
"docs/tasks/63-d10-second-body.md"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/10685153ea13fe72426617a30c36d9297d529fd6"
|
|
},
|
|
{
|
|
"id": "c:SouveraineOS:46685aed",
|
|
"repo": "SouveraineOS",
|
|
"sha": "46685aedc1660ebc0608dd93ff82fb426d6350af",
|
|
"branch": "main",
|
|
"at": "2026-08-09T22:33:23-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "devices/d10: the panel cannot sleep, and both ends are blueline-shaped",
|
|
"detail": "blueline-screen-toggle does not exist here so the blank no-ops, and Dim is\nan absolute that reads as off on a 2047-step backlight. Lit-forever or\nblack-forever, nothing between, until eb0292c ships.",
|
|
"dimension": "surface",
|
|
"basis": "subject",
|
|
"paths": [
|
|
"devices/d10/README.md"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/46685aedc1660ebc0608dd93ff82fb426d6350af"
|
|
},
|
|
{
|
|
"id": "c:SouveraineOS:a8e590a9",
|
|
"repo": "SouveraineOS",
|
|
"sha": "a8e590a98adcefe844e5b39f9ccdf54196fe9ca7",
|
|
"branch": "main",
|
|
"at": "2026-08-09T22:38:05-04:00",
|
|
"author": "casey.tunturi@gmail.com",
|
|
"subject": "HANDOFF 2026-08-10: the d10, dark and untouchable",
|
|
"detail": "Display pipe binds and the panel stays dark; touch worked once and stopped.\nBoth have a named single-boot test rather than a theory. Driver changes and\nrails are ruled out by test; the display path is not.",
|
|
"dimension": "sensorium",
|
|
"basis": "subject",
|
|
"paths": [
|
|
"HANDOFF-2026-08-10-d10.md"
|
|
],
|
|
"url": "https://gitea.wiuf.net/Fimeg/SouveraineOS/commit/a8e590a98adcefe844e5b39f9ccdf54196fe9ca7"
|
|
}
|
|
],
|
|
"ci": [
|
|
{
|
|
"id": "ci:souveraine:1093",
|
|
"repo": "souveraine",
|
|
"run": 1093,
|
|
"workflow": "primary",
|
|
"branch": "primary",
|
|
"sha": "6cb245492ec118aabde693ef431461d3170de853",
|
|
"commit": "c:souveraine:6cb24549",
|
|
"conclusion": "success",
|
|
"started": "2026-08-03T15:16:13-04:00",
|
|
"completed": "2026-08-03T15:33:06-04:00",
|
|
"title": "sessiond: record the wake, so the trail can tell it from nothing"
|
|
},
|
|
{
|
|
"id": "ci:souveraine-viewtop:1094",
|
|
"repo": "souveraine-viewtop",
|
|
"run": 1094,
|
|
"workflow": "main",
|
|
"branch": "main",
|
|
"sha": "9bcc0138518538348cbe78fbad298156a460618a",
|
|
"commit": "c:souveraine-viewtop:9bcc0138",
|
|
"conclusion": "success",
|
|
"started": "2026-08-03T15:54:57-04:00",
|
|
"completed": "2026-08-03T15:56:48-04:00",
|
|
"title": "compositor: record who connected, or the gate refuses everyone"
|
|
},
|
|
{
|
|
"id": "ci:souveraine:1095",
|
|
"repo": "souveraine",
|
|
"run": 1095,
|
|
"workflow": "primary",
|
|
"branch": "primary",
|
|
"sha": "1f028c129e228ef95c1ffcb64b5052f76f5f3320",
|
|
"commit": "c:souveraine:1f028c12",
|
|
"conclusion": "success",
|
|
"started": "2026-08-03T16:03:41-04:00",
|
|
"completed": "2026-08-03T16:21:36-04:00",
|
|
"title": "sessiond: a one-second proximity blip no longer flaps the state"
|
|
},
|
|
{
|
|
"id": "ci:Pixel3Arch:1096",
|
|
"repo": "Pixel3Arch",
|
|
"run": 1096,
|
|
"workflow": "main",
|
|
"branch": "main",
|
|
"sha": "f234928fb9430a113b5c31a9fdd707b5eec0338d",
|
|
"commit": "c:Pixel3Arch:f234928f",
|
|
"conclusion": "success",
|
|
"started": "2026-08-03T16:06:08-04:00",
|
|
"completed": "2026-08-03T16:08:31-04:00",
|
|
"title": "usb-gadget: flush the stale address, because the directive did not"
|
|
},
|
|
{
|
|
"id": "ci:souveraine:1097",
|
|
"repo": "souveraine",
|
|
"run": 1097,
|
|
"workflow": "primary",
|
|
"branch": "primary",
|
|
"sha": "ca44b0be2a328db6d1b2b245308a576fce67b7af",
|
|
"commit": "c:souveraine:ca44b0be",
|
|
"conclusion": "success",
|
|
"started": "2026-08-03T16:53:10-04:00",
|
|
"completed": "2026-08-03T17:09:48-04:00",
|
|
"title": "shell: the keyboard owns the bottom edge, and nothing measures it"
|
|
},
|
|
{
|
|
"id": "ci:souveraine-viewtop:1098",
|
|
"repo": "souveraine-viewtop",
|
|
"run": 1098,
|
|
"workflow": "main",
|
|
"branch": "main",
|
|
"sha": "24d743bf5d4c99cd28f12cada5d8abc35c748087",
|
|
"commit": "c:souveraine-viewtop:24d743bf",
|
|
"conclusion": "success",
|
|
"started": "2026-08-03T17:09:48-04:00",
|
|
"completed": "2026-08-03T17:11:38-04:00",
|
|
"title": "compositor: draw the border it promised, and let three fingers carry a window"
|
|
},
|
|
{
|
|
"id": "ci:souveraine:1099",
|
|
"repo": "souveraine",
|
|
"run": 1099,
|
|
"workflow": "primary",
|
|
"branch": "primary",
|
|
"sha": "c21bd1d7d9de452991dc0c2e567418b6cf1caebf",
|
|
"commit": "c:souveraine:c21bd1d7",
|
|
"conclusion": "success",
|
|
"started": "2026-08-03T17:17:04-04:00",
|
|
"completed": "2026-08-03T17:35:08-04:00",
|
|
"title": "shell: stop gating the dock on a flag the keyboard flaps"
|
|
},
|
|
{
|
|
"id": "ci:souveraine-viewtop:1100",
|
|
"repo": "souveraine-viewtop",
|
|
"run": 1100,
|
|
"workflow": "main",
|
|
"branch": "main",
|
|
"sha": "47268660a48c2976d00e28fe0a4dab106aa59a50",
|
|
"commit": "c:souveraine-viewtop:47268660",
|
|
"conclusion": "success",
|
|
"started": "2026-08-03T17:35:08-04:00",
|
|
"completed": "2026-08-03T17:36:59-04:00",
|
|
"title": "wire: publish where a window is, not only how big it is"
|
|
},
|
|
{
|
|
"id": "ci:Pixel3Arch:1101",
|
|
"repo": "Pixel3Arch",
|
|
"run": 1101,
|
|
"workflow": "main",
|
|
"branch": "main",
|
|
"sha": "dfb2763d0a86f5fbf39276fcb2b2fc84dcaabcb3",
|
|
"commit": "c:Pixel3Arch:dfb2763d",
|
|
"conclusion": "success",
|
|
"started": "2026-08-03T17:44:38-04:00",
|
|
"completed": "2026-08-03T17:46:37-04:00",
|
|
"title": "pkgs: viewtop is a package, not a binary someone remembered to copy"
|
|
},
|
|
{
|
|
"id": "ci:souveraine-viewtop:1102",
|
|
"repo": "souveraine-viewtop",
|
|
"run": 1102,
|
|
"workflow": "main",
|
|
"branch": "main",
|
|
"sha": "c896759e03d0851d0c1bbc5ed550e023f85bf1bf",
|
|
"commit": "c:souveraine-viewtop:c896759e",
|
|
"conclusion": "success",
|
|
"started": "2026-08-03T18:01:23-04:00",
|
|
"completed": "2026-08-03T18:03:22-04:00",
|
|
"title": "compositor: the shell can copy one window, not only the whole screen"
|
|
},
|
|
{
|
|
"id": "ci:souveraine-viewtop:1103",
|
|
"repo": "souveraine-viewtop",
|
|
"run": 1103,
|
|
"workflow": "main",
|
|
"branch": "main",
|
|
"sha": "0eda51e62c6111856b2d111fa6f3a22aaa171dab",
|
|
"commit": "c:souveraine-viewtop:0eda51e6",
|
|
"conclusion": "success",
|
|
"started": "2026-08-03T18:03:51-04:00",
|
|
"completed": "2026-08-03T18:05:44-04:00",
|
|
"title": "compositor: standard toplevel handles carry title and app_id"
|
|
},
|
|
{
|
|
"id": "ci:souveraine-viewtop:1104",
|
|
"repo": "souveraine-viewtop",
|
|
"run": 1104,
|
|
"workflow": "main",
|
|
"branch": "main",
|
|
"sha": "57af6bfdc894e367abfdd9e6d4793cb86b4457ce",
|
|
"commit": "c:souveraine-viewtop:57af6bfd",
|
|
"conclusion": "success",
|
|
"started": "2026-08-03T18:27:23-04:00",
|
|
"completed": "2026-08-03T18:29:13-04:00",
|
|
"title": "compositor: keep window frames inside the zone, and let them be turned off"
|
|
},
|
|
{
|
|
"id": "ci:souveraine:1105",
|
|
"repo": "souveraine",
|
|
"run": 1105,
|
|
"workflow": "primary",
|
|
"branch": "primary",
|
|
"sha": "fdb0acfdce8c23238c8fe3cefdaf2f664ccc39cf",
|
|
"commit": "c:souveraine:fdb0acfd",
|
|
"conclusion": "success",
|
|
"started": "2026-08-03T18:37:59-04:00",
|
|
"completed": "2026-08-03T18:54:22-04:00",
|
|
"title": "shell: the overview shows windows, because there are no workspaces here"
|
|
},
|
|
{
|
|
"id": "ci:souveraine:1106",
|
|
"repo": "souveraine",
|
|
"run": 1106,
|
|
"workflow": "primary",
|
|
"branch": "primary",
|
|
"sha": "8c41f454201a63fa0395dcbdbb2794e0ea8b1285",
|
|
"commit": "c:souveraine:8c41f454",
|
|
"conclusion": "success",
|
|
"started": "2026-08-03T19:15:20-04:00",
|
|
"completed": "2026-08-03T19:33:22-04:00",
|
|
"title": "shell: the overview swipes sideways, and stops rejecting its own buffer"
|
|
},
|
|
{
|
|
"id": "ci:souveraine-viewtop:1107",
|
|
"repo": "souveraine-viewtop",
|
|
"run": 1107,
|
|
"workflow": "main",
|
|
"branch": "main",
|
|
"sha": "4e67b4148f82600130c6876e64a71b56bbccea4f",
|
|
"commit": "c:souveraine-viewtop:4e67b414",
|
|
"conclusion": "success",
|
|
"started": "2026-08-03T19:33:22-04:00",
|
|
"completed": "2026-08-03T19:35:12-04:00",
|
|
"title": "compositor: her hand on the glass, and the pose the hit test has to undo"
|
|
},
|
|
{
|
|
"id": "ci:souveraine-viewtop:1108",
|
|
"repo": "souveraine-viewtop",
|
|
"run": 1108,
|
|
"workflow": "main",
|
|
"branch": "main",
|
|
"sha": "92aeeeba63353c497b4ee92a95f76042b9e9fec8",
|
|
"commit": "c:souveraine-viewtop:92aeeeba",
|
|
"conclusion": "success",
|
|
"started": "2026-08-03T19:51:33-04:00",
|
|
"completed": "2026-08-03T19:53:23-04:00",
|
|
"title": "compositor: workspaces that flow, shift, and come and go"
|
|
},
|
|
{
|
|
"id": "ci:souveraine-viewtop:1110",
|
|
"repo": "souveraine-viewtop",
|
|
"run": 1110,
|
|
"workflow": "main",
|
|
"branch": "main",
|
|
"sha": "acf22877612c480a008bf85cbfd0e3b40570b68d",
|
|
"commit": "c:souveraine-viewtop:acf22877",
|
|
"conclusion": "success",
|
|
"started": "2026-08-03T20:05:01-04:00",
|
|
"completed": "2026-08-03T20:06:58-04:00",
|
|
"title": "compositor: the strip springs home instead of teleporting"
|
|
},
|
|
{
|
|
"id": "ci:souveraine-viewtop:1111",
|
|
"repo": "souveraine-viewtop",
|
|
"run": 1111,
|
|
"workflow": "main",
|
|
"branch": "main",
|
|
"sha": "b6726364f812ecd14afeefa88027a9142413afe4",
|
|
"commit": "c:souveraine-viewtop:b6726364",
|
|
"conclusion": "success",
|
|
"started": "2026-08-03T20:08:27-04:00",
|
|
"completed": "2026-08-03T20:10:16-04:00",
|
|
"title": "compositor: fullscreen takes a workspace, and the strip is on the socket"
|
|
},
|
|
{
|
|
"id": "ci:souveraine-viewtop:1112",
|
|
"repo": "souveraine-viewtop",
|
|
"run": 1112,
|
|
"workflow": "main",
|
|
"branch": "main",
|
|
"sha": "31af8662281980e12cd47ce1cbc3f0d18fd67a5e",
|
|
"commit": "c:souveraine-viewtop:31af8662",
|
|
"conclusion": "success",
|
|
"started": "2026-08-03T20:38:14-04:00",
|
|
"completed": "2026-08-03T20:40:03-04:00",
|
|
"title": "compositor: stop deadlocking against the layer map on every window"
|
|
},
|
|
{
|
|
"id": "ci:souveraine:1113",
|
|
"repo": "souveraine",
|
|
"run": 1113,
|
|
"workflow": "primary",
|
|
"branch": "primary",
|
|
"sha": "91ea54ebf50dc7e5f2f3b5c20831327b74f619cd",
|
|
"commit": "c:souveraine:91ea54eb",
|
|
"conclusion": "cancelled",
|
|
"started": "2026-08-03T20:53:20-04:00",
|
|
"completed": "2026-08-03T21:12:37-04:00",
|
|
"title": "sessiond: touch gestures are a verb, so the compositor stops deciding"
|
|
},
|
|
{
|
|
"id": "ci:souveraine:1114",
|
|
"repo": "souveraine",
|
|
"run": 1114,
|
|
"workflow": "primary",
|
|
"branch": "primary",
|
|
"sha": "133daa94ef527a53029c5dfa5f67269c2fe0593b",
|
|
"commit": "c:souveraine:133daa94",
|
|
"conclusion": "success",
|
|
"started": "2026-08-03T21:12:39-04:00",
|
|
"completed": "2026-08-03T21:29:19-04:00",
|
|
"title": "sessiond: the wake latch is per button, not one field for all of them"
|
|
},
|
|
{
|
|
"id": "ci:souveraine-viewtop:1116",
|
|
"repo": "souveraine-viewtop",
|
|
"run": 1116,
|
|
"workflow": "main",
|
|
"branch": "main",
|
|
"sha": "c98f4c87103874116720e8b67ecee0925ad0cac1",
|
|
"commit": "c:souveraine-viewtop:c98f4c87",
|
|
"conclusion": "success",
|
|
"started": "2026-08-03T21:29:19-04:00",
|
|
"completed": "2026-08-03T21:31:09-04:00",
|
|
"title": "compositor: a window capture can answer what size it is"
|
|
},
|
|
{
|
|
"id": "ci:souveraine:1117",
|
|
"repo": "souveraine",
|
|
"run": 1117,
|
|
"workflow": "primary",
|
|
"branch": "primary",
|
|
"sha": "cc4bb835734e1ef5c1d4bdb07a02da578609a500",
|
|
"commit": "c:souveraine:cc4bb835",
|
|
"conclusion": "cancelled",
|
|
"started": "2026-08-03T22:18:47-04:00",
|
|
"completed": "2026-08-03T22:20:53-04:00",
|
|
"title": "shell: the overview arrives as one surface, and mission control finally lands"
|
|
},
|
|
{
|
|
"id": "ci:souveraine:1118",
|
|
"repo": "souveraine",
|
|
"run": 1118,
|
|
"workflow": "primary",
|
|
"branch": "primary",
|
|
"sha": "914e48f2d3135bee3ad766e8286fa895def647ba",
|
|
"commit": "c:souveraine:914e48f2",
|
|
"conclusion": "success",
|
|
"started": "2026-08-03T22:20:57-04:00",
|
|
"completed": "2026-08-03T22:37:16-04:00",
|
|
"title": "shell: locking closes the keyboard, and unlocking does not bring it back"
|
|
},
|
|
{
|
|
"id": "ci:souveraine-viewtop:1121",
|
|
"repo": "souveraine-viewtop",
|
|
"run": 1121,
|
|
"workflow": "main",
|
|
"branch": "main",
|
|
"sha": "e0ad2c4efa0d340396cc0c2c4d31ef28193c8d81",
|
|
"commit": "c:souveraine-viewtop:e0ad2c4e",
|
|
"conclusion": "success",
|
|
"started": "2026-08-04T08:12:56-04:00",
|
|
"completed": "2026-08-04T08:14:49-04:00",
|
|
"title": "compositor: the three-finger tap is named and sent, not decided here"
|
|
},
|
|
{
|
|
"id": "ci:souveraine-viewtop:1122",
|
|
"repo": "souveraine-viewtop",
|
|
"run": 1122,
|
|
"workflow": "main",
|
|
"branch": "main",
|
|
"sha": "ba82168e30b36df65d17ecdea0d978c641a33351",
|
|
"commit": "c:souveraine-viewtop:ba82168e",
|
|
"conclusion": "success",
|
|
"started": "2026-08-04T09:28:27-04:00",
|
|
"completed": "2026-08-04T09:30:20-04:00",
|
|
"title": "compositor: the rest of the audit — one hit test, bounded contacts, a way back from floating"
|
|
},
|
|
{
|
|
"id": "ci:souveraine:1123",
|
|
"repo": "souveraine",
|
|
"run": 1123,
|
|
"workflow": "primary",
|
|
"branch": "primary",
|
|
"sha": "356cfc646236e51daf6fc60573358e45144a8239",
|
|
"commit": "c:souveraine:356cfc64",
|
|
"conclusion": "cancelled",
|
|
"started": "2026-08-04T09:32:08-04:00",
|
|
"completed": "2026-08-04T09:39:03-04:00",
|
|
"title": "overview: viewtop has workspaces; the header said it did not"
|
|
},
|
|
{
|
|
"id": "ci:souveraine-viewtop:1124",
|
|
"repo": "souveraine-viewtop",
|
|
"run": 1124,
|
|
"workflow": "main",
|
|
"branch": "main",
|
|
"sha": "b7d3ebb4c8c95a972a4673ac8a6fc6eae0a4b857",
|
|
"commit": "c:souveraine-viewtop:b7d3ebb4",
|
|
"conclusion": "failure",
|
|
"started": "2026-08-04T09:35:14-04:00",
|
|
"completed": "2026-08-04T09:35:32-04:00",
|
|
"title": "compositor: a render that drew nothing does not retire a flip already in flight"
|
|
},
|
|
{
|
|
"id": "ci:souveraine:1125",
|
|
"repo": "souveraine",
|
|
"run": 1125,
|
|
"workflow": "primary",
|
|
"branch": "primary",
|
|
"sha": "d0c6488099665e7a13745efdfb0723ce0be60afb",
|
|
"commit": "c:souveraine:d0c64880",
|
|
"conclusion": "success",
|
|
"started": "2026-08-04T09:39:04-04:00",
|
|
"completed": "2026-08-04T09:56:05-04:00",
|
|
"title": "deploy: WindowOverview is in the qmldir and was not in the manifest"
|
|
},
|
|
{
|
|
"id": "ci:souveraine-viewtop:1127",
|
|
"repo": "souveraine-viewtop",
|
|
"run": 1127,
|
|
"workflow": "main",
|
|
"branch": "main",
|
|
"sha": "64463867a7a61b1e4a517636a05c48afda942084",
|
|
"commit": "c:souveraine-viewtop:64463867",
|
|
"conclusion": "success",
|
|
"started": "2026-08-04T09:56:05-04:00",
|
|
"completed": "2026-08-04T09:58:03-04:00",
|
|
"title": "compositor: a close removes its own membership, so the drift warning means drift"
|
|
},
|
|
{
|
|
"id": "ci:Pixel3Arch:1128",
|
|
"repo": "Pixel3Arch",
|
|
"run": 1128,
|
|
"workflow": "main",
|
|
"branch": "main",
|
|
"sha": "5453d685990976351675bd9b78701aa970f281b1",
|
|
"commit": "c:Pixel3Arch:5453d685",
|
|
"conclusion": "success",
|
|
"started": "2026-08-04T10:24:47-04:00",
|
|
"completed": "2026-08-04T10:26:50-04:00",
|
|
"title": "souveraine-viewtop: pkgver to the built tip"
|
|
},
|
|
{
|
|
"id": "ci:souveraine-viewtop:1129",
|
|
"repo": "souveraine-viewtop",
|
|
"run": 1129,
|
|
"workflow": "main",
|
|
"branch": "main",
|
|
"sha": "6c9614c20471551a8990ef1c069fd335da75851c",
|
|
"commit": "c:souveraine-viewtop:6c9614c2",
|
|
"conclusion": "success",
|
|
"started": "2026-08-04T10:34:08-04:00",
|
|
"completed": "2026-08-04T10:36:18-04:00",
|
|
"title": "compositor: a missing sessiond is a wait, not a verdict"
|
|
},
|
|
{
|
|
"id": "ci:souveraine:1130",
|
|
"repo": "souveraine",
|
|
"run": 1130,
|
|
"workflow": "primary",
|
|
"branch": "primary",
|
|
"sha": "1a3c24fadba59ec4997429a3a68c71bd73270931",
|
|
"commit": "c:souveraine:1a3c24fa",
|
|
"conclusion": "success",
|
|
"started": "2026-08-04T11:27:20-04:00",
|
|
"completed": "2026-08-04T11:47:01-04:00",
|
|
"title": "claude: fix Opus 5 wire incompatibilities"
|
|
},
|
|
{
|
|
"id": "ci:souveraine-viewtop:1131",
|
|
"repo": "souveraine-viewtop",
|
|
"run": 1131,
|
|
"workflow": "main",
|
|
"branch": "main",
|
|
"sha": "f55db2a933663b385b6cfa39028edc325febb2c4",
|
|
"commit": "c:souveraine-viewtop:f55db2a9",
|
|
"conclusion": "failure",
|
|
"started": "2026-08-04T14:43:15-04:00",
|
|
"completed": "2026-08-04T14:43:16-04:00",
|
|
"title": "compositor: serve the window capture the shell actually asks for"
|
|
},
|
|
{
|
|
"id": "ci:souveraine:1132",
|
|
"repo": "souveraine",
|
|
"run": 1132,
|
|
"workflow": "primary",
|
|
"branch": "primary",
|
|
"sha": "44a54330c2da13b3ef2ae49499d5577b8dafbe1b",
|
|
"commit": "c:souveraine:44a54330",
|
|
"conclusion": "failure",
|
|
"started": "2026-08-04T14:43:38-04:00",
|
|
"completed": "2026-08-04T14:47:09-04:00",
|
|
"title": "shell: mission control draws the cards it was already building"
|
|
},
|
|
{
|
|
"id": "ci:souveraine-viewtop:1133",
|
|
"repo": "souveraine-viewtop",
|
|
"run": 1133,
|
|
"workflow": "main",
|
|
"branch": "main",
|
|
"sha": "45b391a851c9e5198530c23c42db9c0ed92d9595",
|
|
"commit": "c:souveraine-viewtop:45b391a8",
|
|
"conclusion": "failure",
|
|
"started": "2026-08-04T14:46:23-04:00",
|
|
"completed": "2026-08-04T14:47:06-04:00",
|
|
"title": "compositor: serve the window capture the shell actually asks for"
|
|
},
|
|
{
|
|
"id": "ci:souveraine-viewtop:1134",
|
|
"repo": "souveraine-viewtop",
|
|
"run": 1134,
|
|
"workflow": "main",
|
|
"branch": "main",
|
|
"sha": "86d0f939a9debeecd9f9965e699a61e2280addeb",
|
|
"commit": "c:souveraine-viewtop:86d0f939",
|
|
"conclusion": "success",
|
|
"started": "2026-08-04T14:55:20-04:00",
|
|
"completed": "2026-08-04T14:57:13-04:00",
|
|
"title": "compositor: serve the window capture the shell actually asks for"
|
|
},
|
|
{
|
|
"id": "ci:souveraine:1135",
|
|
"repo": "souveraine",
|
|
"run": 1135,
|
|
"workflow": "primary",
|
|
"branch": "primary",
|
|
"sha": "f320a0221d8a424cd26a2eaf4f8a0dda1fb5a9dc",
|
|
"commit": "c:souveraine:f320a022",
|
|
"conclusion": "success",
|
|
"started": "2026-08-04T15:02:38-04:00",
|
|
"completed": "2026-08-04T15:19:23-04:00",
|
|
"title": "shell: answer to the ipc target sessiond actually calls"
|
|
},
|
|
{
|
|
"id": "ci:Pixel3Arch:1136",
|
|
"repo": "Pixel3Arch",
|
|
"run": 1136,
|
|
"workflow": "main",
|
|
"branch": "main",
|
|
"sha": "5453d685990976351675bd9b78701aa970f281b1",
|
|
"commit": "c:Pixel3Arch:5453d685",
|
|
"conclusion": "success",
|
|
"started": "2026-08-04T15:19:23-04:00",
|
|
"completed": "2026-08-04T15:21:25-04:00",
|
|
"title": "souveraine-viewtop: pkgver to the built tip"
|
|
},
|
|
{
|
|
"id": "ci:Pixel3Arch:1137",
|
|
"repo": "Pixel3Arch",
|
|
"run": 1137,
|
|
"workflow": "main",
|
|
"branch": "main",
|
|
"sha": "aee40a076d46c32a50917f06a9d2c99552d1c62b",
|
|
"commit": "c:Pixel3Arch:aee40a07",
|
|
"conclusion": "failure",
|
|
"started": "2026-08-04T15:23:17-04:00",
|
|
"completed": "2026-08-04T15:25:02-04:00",
|
|
"title": "packages: build souveraine-viewtop, which nothing ever did"
|
|
},
|
|
{
|
|
"id": "ci:Pixel3Arch:1138",
|
|
"repo": "Pixel3Arch",
|
|
"run": 1138,
|
|
"workflow": "main",
|
|
"branch": "main",
|
|
"sha": "aee40a076d46c32a50917f06a9d2c99552d1c62b",
|
|
"commit": "c:Pixel3Arch:aee40a07",
|
|
"conclusion": "failure",
|
|
"started": "2026-08-04T15:25:02-04:00",
|
|
"completed": "2026-08-04T15:26:45-04:00",
|
|
"title": "packages: build souveraine-viewtop, which nothing ever did"
|
|
},
|
|
{
|
|
"id": "ci:Pixel3Arch:1139",
|
|
"repo": "Pixel3Arch",
|
|
"run": 1139,
|
|
"workflow": "main",
|
|
"branch": "main",
|
|
"sha": "af17845b7430b32866489aa7362640a1d31b7f57",
|
|
"commit": "c:Pixel3Arch:af17845b",
|
|
"conclusion": "failure",
|
|
"started": "2026-08-04T15:28:55-04:00",
|
|
"completed": "2026-08-04T15:30:40-04:00",
|
|
"title": "packages: viewtop's clone needs credentials, it is the only one that does"
|
|
},
|
|
{
|
|
"id": "ci:Pixel3Arch:1140",
|
|
"repo": "Pixel3Arch",
|
|
"run": 1140,
|
|
"workflow": "main",
|
|
"branch": "main",
|
|
"sha": "af17845b7430b32866489aa7362640a1d31b7f57",
|
|
"commit": "c:Pixel3Arch:af17845b",
|
|
"conclusion": "failure",
|
|
"started": "2026-08-04T15:30:40-04:00",
|
|
"completed": "2026-08-04T15:32:26-04:00",
|
|
"title": "packages: viewtop's clone needs credentials, it is the only one that does"
|
|
},
|
|
{
|
|
"id": "ci:Pixel3Arch:1141",
|
|
"repo": "Pixel3Arch",
|
|
"run": 1141,
|
|
"workflow": "main",
|
|
"branch": "main",
|
|
"sha": "644954060203d92c934c5887ee1b4f4fb7e5d875",
|
|
"commit": "c:Pixel3Arch:64495406",
|
|
"conclusion": "failure",
|
|
"started": "2026-08-04T15:36:15-04:00",
|
|
"completed": "2026-08-04T15:37:58-04:00",
|
|
"title": "packages: viewtop clones anonymously, like every other source"
|
|
},
|
|
{
|
|
"id": "ci:Pixel3Arch:1142",
|
|
"repo": "Pixel3Arch",
|
|
"run": 1142,
|
|
"workflow": "main",
|
|
"branch": "main",
|
|
"sha": "644954060203d92c934c5887ee1b4f4fb7e5d875",
|
|
"commit": "c:Pixel3Arch:64495406",
|
|
"conclusion": "failure",
|
|
"started": "2026-08-04T15:37:58-04:00",
|
|
"completed": "2026-08-04T15:39:42-04:00",
|
|
"title": "packages: viewtop clones anonymously, like every other source"
|
|
},
|
|
{
|
|
"id": "ci:Pixel3Arch:1143",
|
|
"repo": "Pixel3Arch",
|
|
"run": 1143,
|
|
"workflow": "main",
|
|
"branch": "main",
|
|
"sha": "a3d5df9ab14191f858c44708ada82c40932e4638",
|
|
"commit": "c:Pixel3Arch:a3d5df9a",
|
|
"conclusion": "success",
|
|
"started": "2026-08-04T15:41:25-04:00",
|
|
"completed": "2026-08-04T15:44:34-04:00",
|
|
"title": "packages: authenticate viewtop's clone via GIT_CONFIG env"
|
|
},
|
|
{
|
|
"id": "ci:Pixel3Arch:1144",
|
|
"repo": "Pixel3Arch",
|
|
"run": 1144,
|
|
"workflow": "main",
|
|
"branch": "main",
|
|
"sha": "a3d5df9ab14191f858c44708ada82c40932e4638",
|
|
"commit": "c:Pixel3Arch:a3d5df9a",
|
|
"conclusion": "success",
|
|
"started": "2026-08-04T15:44:34-04:00",
|
|
"completed": "2026-08-04T15:47:39-04:00",
|
|
"title": "packages: authenticate viewtop's clone via GIT_CONFIG env"
|
|
},
|
|
{
|
|
"id": "ci:souveraine:1145",
|
|
"repo": "souveraine",
|
|
"run": 1145,
|
|
"workflow": "primary",
|
|
"branch": "primary",
|
|
"sha": "6b67512c4f70d9c16347485abf7f12a9013cdd75",
|
|
"commit": "c:souveraine:6b67512c",
|
|
"conclusion": "success",
|
|
"started": "2026-08-04T16:17:25-04:00",
|
|
"completed": "2026-08-04T16:34:01-04:00",
|
|
"title": "sensord: stop claiming the accelerometer"
|
|
},
|
|
{
|
|
"id": "ci:souveraine-viewtop:1146",
|
|
"repo": "souveraine-viewtop",
|
|
"run": 1146,
|
|
"workflow": "main",
|
|
"branch": "main",
|
|
"sha": "f25c2b22fba8f4fa07dec8208949e5c6c1b2faae",
|
|
"commit": "c:souveraine-viewtop:f25c2b22",
|
|
"conclusion": "success",
|
|
"started": "2026-08-04T16:45:26-04:00",
|
|
"completed": "2026-08-04T16:47:20-04:00",
|
|
"title": "compositor: publish a window's title when it sets one"
|
|
},
|
|
{
|
|
"id": "ci:Pixel3Arch:1147",
|
|
"repo": "Pixel3Arch",
|
|
"run": 1147,
|
|
"workflow": "main",
|
|
"branch": "main",
|
|
"sha": "a3d5df9ab14191f858c44708ada82c40932e4638",
|
|
"commit": "c:Pixel3Arch:a3d5df9a",
|
|
"conclusion": "success",
|
|
"started": "2026-08-04T16:47:20-04:00",
|
|
"completed": "2026-08-04T16:50:27-04:00",
|
|
"title": "packages: authenticate viewtop's clone via GIT_CONFIG env"
|
|
},
|
|
{
|
|
"id": "ci:souveraine-viewtop:1148",
|
|
"repo": "souveraine-viewtop",
|
|
"run": 1148,
|
|
"workflow": "main",
|
|
"branch": "main",
|
|
"sha": "3d1cbe2cf710c992a95a2800a2c8665a962fefca",
|
|
"commit": "c:souveraine-viewtop:3d1cbe2c",
|
|
"conclusion": "success",
|
|
"started": "2026-08-04T19:16:24-04:00",
|
|
"completed": "2026-08-04T19:18:18-04:00",
|
|
"title": "compositor: publish an identity for this run, so the shell can tell it apart"
|
|
},
|
|
{
|
|
"id": "ci:souveraine:1149",
|
|
"repo": "souveraine",
|
|
"run": 1149,
|
|
"workflow": "primary",
|
|
"branch": "primary",
|
|
"sha": "95dd21b998b0cc3c393364e10d200614f152d623",
|
|
"commit": "c:souveraine:95dd21b9",
|
|
"conclusion": "cancelled",
|
|
"started": "2026-08-04T19:19:36-04:00",
|
|
"completed": "2026-08-04T19:26:01-04:00",
|
|
"title": "shell: take the instance signature from viewtop, not from Hyprland's env"
|
|
},
|
|
{
|
|
"id": "ci:Pixel3Arch:1150",
|
|
"repo": "Pixel3Arch",
|
|
"run": 1150,
|
|
"workflow": "main",
|
|
"branch": "main",
|
|
"sha": "a3d5df9ab14191f858c44708ada82c40932e4638",
|
|
"commit": "c:Pixel3Arch:a3d5df9a",
|
|
"conclusion": "success",
|
|
"started": "2026-08-04T19:20:01-04:00",
|
|
"completed": "2026-08-04T19:23:11-04:00",
|
|
"title": "packages: authenticate viewtop's clone via GIT_CONFIG env"
|
|
},
|
|
{
|
|
"id": "ci:souveraine:1151",
|
|
"repo": "souveraine",
|
|
"run": 1151,
|
|
"workflow": "primary",
|
|
"branch": "primary",
|
|
"sha": "80cb4b289db455891b79e1ebec962e9ceec6fb68",
|
|
"commit": "c:souveraine:80cb4b28",
|
|
"conclusion": "cancelled",
|
|
"started": "2026-08-04T19:26:02-04:00",
|
|
"completed": "2026-08-04T19:27:54-04:00",
|
|
"title": "shell: read the instance file synchronously, or it is empty when asked"
|
|
},
|
|
{
|
|
"id": "ci:souveraine:1152",
|
|
"repo": "souveraine",
|
|
"run": 1152,
|
|
"workflow": "primary",
|
|
"branch": "primary",
|
|
"sha": "ca272d1d7dd8b6a4f8e9361352644997873eae09",
|
|
"commit": "c:souveraine:ca272d1d",
|
|
"conclusion": "success",
|
|
"started": "2026-08-04T19:27:55-04:00",
|
|
"completed": "2026-08-04T19:44:19-04:00",
|
|
"title": "shell: the bar claims its space instead of asking to be ignored"
|
|
},
|
|
{
|
|
"id": "ci:souveraine:1154",
|
|
"repo": "souveraine",
|
|
"run": 1154,
|
|
"workflow": "primary",
|
|
"branch": "primary",
|
|
"sha": "bc0948037540f65ef73517a426f584d3206a870e",
|
|
"commit": "c:souveraine:bc094803",
|
|
"conclusion": "success",
|
|
"started": "2026-08-04T20:25:28-04:00",
|
|
"completed": "2026-08-04T20:41:49-04:00",
|
|
"title": "claude: adopt rotated credentials instead of failing until restart"
|
|
},
|
|
{
|
|
"id": "ci:souveraine:1157",
|
|
"repo": "souveraine",
|
|
"run": 1157,
|
|
"workflow": "primary",
|
|
"branch": "primary",
|
|
"sha": "d7a04f27d53402181d512845f233b24b335ba5bf",
|
|
"commit": "c:souveraine:d7a04f27",
|
|
"conclusion": "cancelled",
|
|
"started": "2026-08-05T07:35:07-04:00",
|
|
"completed": "2026-08-05T07:41:04-04:00",
|
|
"title": "shell: an owner change is not a visibility event"
|
|
},
|
|
{
|
|
"id": "ci:souveraine:1158",
|
|
"repo": "souveraine",
|
|
"run": 1158,
|
|
"workflow": "primary",
|
|
"branch": "primary",
|
|
"sha": "3aea8398a90bef229d473e5fbfc10ae8bab6620d",
|
|
"commit": "c:souveraine:3aea8398",
|
|
"conclusion": "failure",
|
|
"started": "2026-08-05T07:41:05-04:00",
|
|
"completed": "2026-08-05T07:44:06-04:00",
|
|
"title": "shell: intent wins the settle window, and a swap is a request for a keyboard"
|
|
},
|
|
{
|
|
"id": "ci:souveraine:1159",
|
|
"repo": "souveraine",
|
|
"run": 1159,
|
|
"workflow": "primary",
|
|
"branch": "primary",
|
|
"sha": "bf8bc013efdfa80ece914577abf0965f42fb5bb0",
|
|
"commit": "c:souveraine:bf8bc013",
|
|
"conclusion": "success",
|
|
"started": "2026-08-05T14:12:47-04:00",
|
|
"completed": "2026-08-05T14:31:09-04:00",
|
|
"title": "three-finger tap opens a window sheet, not the overview"
|
|
},
|
|
{
|
|
"id": "ci:souveraine-viewtop:1160",
|
|
"repo": "souveraine-viewtop",
|
|
"run": 1160,
|
|
"workflow": "main",
|
|
"branch": "main",
|
|
"sha": "9e898ddfcdc2a9cb41b29960d97575d91437d463",
|
|
"commit": "c:souveraine-viewtop:9e898ddf",
|
|
"conclusion": "success",
|
|
"started": "2026-08-05T14:13:09-04:00",
|
|
"completed": "2026-08-05T14:15:09-04:00",
|
|
"title": "gesture: tap carries its window; add kill"
|
|
},
|
|
{
|
|
"id": "ci:souveraine:1161",
|
|
"repo": "souveraine",
|
|
"run": 1161,
|
|
"workflow": "primary",
|
|
"branch": "primary",
|
|
"sha": "f7eba9f65887c6177891b7c1e4a92a39b6af2d76",
|
|
"commit": "c:souveraine:f7eba9f6",
|
|
"conclusion": "cancelled",
|
|
"started": "2026-08-05T14:38:00-04:00",
|
|
"completed": "2026-08-05T14:52:51-04:00",
|
|
"title": "hold power for a device menu; usb-c state shown, not faked"
|
|
},
|
|
{
|
|
"id": "ci:souveraine:1162",
|
|
"repo": "souveraine",
|
|
"run": 1162,
|
|
"workflow": "primary",
|
|
"branch": "primary",
|
|
"sha": "b0688bc30b07d24f4b6d6710a7b931f479ea2040",
|
|
"commit": "c:souveraine:b0688bc3",
|
|
"conclusion": "success",
|
|
"started": "2026-08-05T14:52:55-04:00",
|
|
"completed": "2026-08-05T15:10:55-04:00",
|
|
"title": "split chooser, home reaches the compositor, idle-inhibit comment was backwards"
|
|
},
|
|
{
|
|
"id": "ci:Pixel3Arch:1163",
|
|
"repo": "Pixel3Arch",
|
|
"run": 1163,
|
|
"workflow": "main",
|
|
"branch": "main",
|
|
"sha": "a3d5df9ab14191f858c44708ada82c40932e4638",
|
|
"commit": "c:Pixel3Arch:a3d5df9a",
|
|
"conclusion": "success",
|
|
"started": "2026-08-05T15:10:55-04:00",
|
|
"completed": "2026-08-05T15:36:10-04:00",
|
|
"title": "packages: authenticate viewtop's clone via GIT_CONFIG env"
|
|
},
|
|
{
|
|
"id": "ci:souveraine:1166",
|
|
"repo": "souveraine",
|
|
"run": 1166,
|
|
"workflow": "primary",
|
|
"branch": "primary",
|
|
"sha": "c3f998f17aea4414519afd61979fe31b7a0281b5",
|
|
"commit": "c:souveraine:c3f998f1",
|
|
"conclusion": "success",
|
|
"started": "2026-08-05T15:35:45-04:00",
|
|
"completed": "2026-08-05T15:53:02-04:00",
|
|
"title": "move is a mode: grab, drag, done"
|
|
},
|
|
{
|
|
"id": "ci:souveraine-viewtop:1165",
|
|
"repo": "souveraine-viewtop",
|
|
"run": 1165,
|
|
"workflow": "main",
|
|
"branch": "main",
|
|
"sha": "875e97edd01c6a27d0bb1dc63a9e84a4423835ee",
|
|
"commit": "c:souveraine-viewtop:875e97ed",
|
|
"conclusion": "failure",
|
|
"started": "2026-08-05T15:36:10-04:00",
|
|
"completed": "2026-08-05T15:39:10-04:00",
|
|
"title": "ci: publish on green main; a passing run shipped nothing before"
|
|
},
|
|
{
|
|
"id": "ci:Pixel3Arch:1167",
|
|
"repo": "Pixel3Arch",
|
|
"run": 1167,
|
|
"workflow": "main",
|
|
"branch": "main",
|
|
"sha": "a3d5df9ab14191f858c44708ada82c40932e4638",
|
|
"commit": "c:Pixel3Arch:a3d5df9a",
|
|
"conclusion": "success",
|
|
"started": "2026-08-05T15:58:52-04:00",
|
|
"completed": "2026-08-05T16:17:17-04:00",
|
|
"title": "packages: authenticate viewtop's clone via GIT_CONFIG env"
|
|
},
|
|
{
|
|
"id": "ci:souveraine:1168",
|
|
"repo": "souveraine",
|
|
"run": 1168,
|
|
"workflow": "primary",
|
|
"branch": "primary",
|
|
"sha": "277a0d2b32b64ec6356c1f1ac8b9fcc33e532389",
|
|
"commit": "c:souveraine:277a0d2b",
|
|
"conclusion": "success",
|
|
"started": "2026-08-05T16:17:50-04:00",
|
|
"completed": "2026-08-05T16:34:39-04:00",
|
|
"title": "dock lives on zone one; short swipe multitasks, big swipe goes home"
|
|
},
|
|
{
|
|
"id": "ci:souveraine-viewtop:1169",
|
|
"repo": "souveraine-viewtop",
|
|
"run": 1169,
|
|
"workflow": "main",
|
|
"branch": "main",
|
|
"sha": "0858f6662a2c482f68430ea3fc3430ee8bc21dc1",
|
|
"commit": "c:souveraine-viewtop:0858f666",
|
|
"conclusion": "cancelled",
|
|
"started": "2026-08-05T16:34:39-04:00",
|
|
"completed": "2026-08-05T16:34:51-04:00",
|
|
"title": "grabbed windows swallow the finger; CSD shadows no longer shift the paint"
|
|
},
|
|
{
|
|
"id": "ci:souveraine-viewtop:1170",
|
|
"repo": "souveraine-viewtop",
|
|
"run": 1170,
|
|
"workflow": "main",
|
|
"branch": "main",
|
|
"sha": "bbffc633b6823409054e6340cb28fc507f55ced4",
|
|
"commit": "c:souveraine-viewtop:bbffc633",
|
|
"conclusion": "success",
|
|
"started": "2026-08-05T16:34:54-04:00",
|
|
"completed": "2026-08-05T16:37:38-04:00",
|
|
"title": "one membership entry per window, not two"
|
|
},
|
|
{
|
|
"id": "ci:souveraine:1171",
|
|
"repo": "souveraine",
|
|
"run": 1171,
|
|
"workflow": "primary",
|
|
"branch": "primary",
|
|
"sha": "0e7dec53d120d7c07e0c708a5a2de68afd829e25",
|
|
"commit": "c:souveraine:0e7dec53",
|
|
"conclusion": "cancelled",
|
|
"started": "2026-08-05T16:34:55-04:00",
|
|
"completed": "2026-08-05T16:43:16-04:00",
|
|
"title": "the app scales into multitasking; pill has two destinations"
|
|
},
|
|
{
|
|
"id": "ci:Pixel3Arch:1172",
|
|
"repo": "Pixel3Arch",
|
|
"run": 1172,
|
|
"workflow": "main",
|
|
"branch": "main",
|
|
"sha": "a3d5df9ab14191f858c44708ada82c40932e4638",
|
|
"commit": "c:Pixel3Arch:a3d5df9a",
|
|
"conclusion": "success",
|
|
"started": "2026-08-05T16:37:38-04:00",
|
|
"completed": "2026-08-05T16:45:35-04:00",
|
|
"title": "packages: authenticate viewtop's clone via GIT_CONFIG env"
|
|
},
|
|
{
|
|
"id": "ci:souveraine:1174",
|
|
"repo": "souveraine",
|
|
"run": 1174,
|
|
"workflow": "primary",
|
|
"branch": "primary",
|
|
"sha": "6c0730a7908422dbac83e8974ded06e8a1005a35",
|
|
"commit": "c:souveraine:6c0730a7",
|
|
"conclusion": "success",
|
|
"started": "2026-08-05T16:43:18-04:00",
|
|
"completed": "2026-08-05T17:00:52-04:00",
|
|
"title": "the sheet scrims its own window, not the screen"
|
|
},
|
|
{
|
|
"id": "ci:souveraine-viewtop:1173",
|
|
"repo": "souveraine-viewtop",
|
|
"run": 1173,
|
|
"workflow": "main",
|
|
"branch": "main",
|
|
"sha": "72b7ed670021dec9af268a917e37aa5debc44273",
|
|
"commit": "c:souveraine-viewtop:72b7ed67",
|
|
"conclusion": "success",
|
|
"started": "2026-08-05T16:45:35-04:00",
|
|
"completed": "2026-08-05T16:48:25-04:00",
|
|
"title": "workspaces reports window geometry"
|
|
},
|
|
{
|
|
"id": "ci:Pixel3Arch:1175",
|
|
"repo": "Pixel3Arch",
|
|
"run": 1175,
|
|
"workflow": "main",
|
|
"branch": "main",
|
|
"sha": "a3d5df9ab14191f858c44708ada82c40932e4638",
|
|
"commit": "c:Pixel3Arch:a3d5df9a",
|
|
"conclusion": "success",
|
|
"started": "2026-08-05T17:00:52-04:00",
|
|
"completed": "2026-08-05T17:08:00-04:00",
|
|
"title": "packages: authenticate viewtop's clone via GIT_CONFIG env"
|
|
},
|
|
{
|
|
"id": "ci:souveraine-viewtop:1176",
|
|
"repo": "souveraine-viewtop",
|
|
"run": 1176,
|
|
"workflow": "main",
|
|
"branch": "main",
|
|
"sha": "2d0ffdcd2ec0bf1595df3c8e9b09dc9323e3b6d7",
|
|
"commit": "c:souveraine-viewtop:2d0ffdcd",
|
|
"conclusion": "success",
|
|
"started": "2026-08-05T17:08:00-04:00",
|
|
"completed": "2026-08-05T17:09:53-04:00",
|
|
"title": "pose actually scales the content, not just its origin"
|
|
},
|
|
{
|
|
"id": "ci:Pixel3Arch:1177",
|
|
"repo": "Pixel3Arch",
|
|
"run": 1177,
|
|
"workflow": "main",
|
|
"branch": "main",
|
|
"sha": "a3d5df9ab14191f858c44708ada82c40932e4638",
|
|
"commit": "c:Pixel3Arch:a3d5df9a",
|
|
"conclusion": "success",
|
|
"started": "2026-08-05T17:09:53-04:00",
|
|
"completed": "2026-08-05T17:12:56-04:00",
|
|
"title": "packages: authenticate viewtop's clone via GIT_CONFIG env"
|
|
},
|
|
{
|
|
"id": "ci:souveraine-viewtop:1178",
|
|
"repo": "souveraine-viewtop",
|
|
"run": 1178,
|
|
"workflow": "main",
|
|
"branch": "main",
|
|
"sha": "8e6700b6d9ec6fd5f70f68d04d2c6d393550c949",
|
|
"commit": "c:souveraine-viewtop:8e6700b6",
|
|
"conclusion": "success",
|
|
"started": "2026-08-05T18:02:07-04:00",
|
|
"completed": "2026-08-05T18:03:59-04:00",
|
|
"title": "workspaces reports focus, app_id and title"
|
|
},
|
|
{
|
|
"id": "ci:Pixel3Arch:1179",
|
|
"repo": "Pixel3Arch",
|
|
"run": 1179,
|
|
"workflow": "main",
|
|
"branch": "main",
|
|
"sha": "a3d5df9ab14191f858c44708ada82c40932e4638",
|
|
"commit": "c:Pixel3Arch:a3d5df9a",
|
|
"conclusion": "success",
|
|
"started": "2026-08-05T18:03:59-04:00",
|
|
"completed": "2026-08-05T18:24:07-04:00",
|
|
"title": "packages: authenticate viewtop's clone via GIT_CONFIG env"
|
|
},
|
|
{
|
|
"id": "ci:souveraine:1180",
|
|
"repo": "souveraine",
|
|
"run": 1180,
|
|
"workflow": "primary",
|
|
"branch": "primary",
|
|
"sha": "9ec031c8a87f9111c0f25f11486145caa5f37b54",
|
|
"commit": "c:souveraine:9ec031c8",
|
|
"conclusion": "cancelled",
|
|
"started": "2026-08-05T19:40:27-04:00",
|
|
"completed": "2026-08-05T19:44:51-04:00",
|
|
"title": "wry host: sites as apps, the rig as a face; join loads the expression skill"
|
|
},
|
|
{
|
|
"id": "ci:souveraine-viewtop:1181",
|
|
"repo": "souveraine-viewtop",
|
|
"run": 1181,
|
|
"workflow": "main",
|
|
"branch": "main",
|
|
"sha": "4d53abc2c30c63cac4ee1f0bd76f933fdb5697f7",
|
|
"commit": "c:souveraine-viewtop:4d53abc2",
|
|
"conclusion": "success",
|
|
"started": "2026-08-05T19:40:31-04:00",
|
|
"completed": "2026-08-05T19:42:24-04:00",
|
|
"title": "subscribe pushes the strip; float and gamma verbs"
|
|
},
|
|
{
|
|
"id": "ci:Pixel3Arch:1182",
|
|
"repo": "Pixel3Arch",
|
|
"run": 1182,
|
|
"workflow": "main",
|
|
"branch": "main",
|
|
"sha": "a3d5df9ab14191f858c44708ada82c40932e4638",
|
|
"commit": "c:Pixel3Arch:a3d5df9a",
|
|
"conclusion": "success",
|
|
"started": "2026-08-05T19:42:25-04:00",
|
|
"completed": "2026-08-05T19:45:54-04:00",
|
|
"title": "packages: authenticate viewtop's clone via GIT_CONFIG env"
|
|
},
|
|
{
|
|
"id": "ci:souveraine:1183",
|
|
"repo": "souveraine",
|
|
"run": 1183,
|
|
"workflow": "primary",
|
|
"branch": "primary",
|
|
"sha": "9b470b8e22050ab216d463d7a05174f4e10ef56e",
|
|
"commit": "c:souveraine:9b470b8e",
|
|
"conclusion": "failure",
|
|
"started": "2026-08-05T19:45:18-04:00",
|
|
"completed": "2026-08-05T19:48:22-04:00",
|
|
"title": "split chooser names its windows and brings the pick to the zone"
|
|
},
|
|
{
|
|
"id": "ci:souveraine:1184",
|
|
"repo": "souveraine",
|
|
"run": 1184,
|
|
"workflow": "primary",
|
|
"branch": "primary",
|
|
"sha": "b71f9c9d4fdc9b74d5b082fa4aaf9957aa3c1ab7",
|
|
"commit": "c:souveraine:b71f9c9d",
|
|
"conclusion": "failure",
|
|
"started": "2026-08-05T19:50:55-04:00",
|
|
"completed": "2026-08-05T19:53:58-04:00",
|
|
"title": "a refused subscribe stays refused; it was re-arming its own retry"
|
|
},
|
|
{
|
|
"id": "ci:souveraine:1185",
|
|
"repo": "souveraine",
|
|
"run": 1185,
|
|
"workflow": "primary",
|
|
"branch": "primary",
|
|
"sha": "425693a2984d00dd6d510d6cc9d84788ce81b4e1",
|
|
"commit": "c:souveraine:425693a2",
|
|
"conclusion": "failure",
|
|
"started": "2026-08-05T19:59:34-04:00",
|
|
"completed": "2026-08-05T20:02:46-04:00",
|
|
"title": "placement compiles: one field per snapshot, and it deserialises"
|
|
},
|
|
{
|
|
"id": "ci:souveraine:1187",
|
|
"repo": "souveraine",
|
|
"run": 1187,
|
|
"workflow": "primary",
|
|
"branch": "primary",
|
|
"sha": "1ac33afb25be3c23dd612ea69dbce7097859a332",
|
|
"commit": "c:souveraine:1ac33afb",
|
|
"conclusion": "cancelled",
|
|
"started": "2026-08-05T20:04:48-04:00",
|
|
"completed": "2026-08-05T20:10:43-04:00",
|
|
"title": "dock is home's alone; the pill stops riding above it"
|
|
},
|
|
{
|
|
"id": "ci:souveraine:1188",
|
|
"repo": "souveraine",
|
|
"run": 1188,
|
|
"workflow": "primary",
|
|
"branch": "primary",
|
|
"sha": "bb8178100718919d032c758fa26003927e6a4d5b",
|
|
"commit": "c:souveraine:bb817810",
|
|
"conclusion": "cancelled",
|
|
"started": "2026-08-05T20:10:48-04:00",
|
|
"completed": "2026-08-05T20:11:33-04:00",
|
|
"title": "the backdrop is the input region, so it owes the way out"
|
|
},
|
|
{
|
|
"id": "ci:souveraine:1189",
|
|
"repo": "souveraine",
|
|
"run": 1189,
|
|
"workflow": "primary",
|
|
"branch": "primary",
|
|
"sha": "8e3120c5a09ceae22b9c0f29515a2de85f2bc604",
|
|
"commit": "c:souveraine:8e3120c5",
|
|
"conclusion": "cancelled",
|
|
"started": "2026-08-05T20:11:34-04:00",
|
|
"completed": "2026-08-05T20:11:50-04:00",
|
|
"title": "the face stays quiet when the rig is not staged; add stage-face.sh"
|
|
},
|
|
{
|
|
"id": "ci:souveraine:1190",
|
|
"repo": "souveraine",
|
|
"run": 1190,
|
|
"workflow": "primary",
|
|
"branch": "primary",
|
|
"sha": "fe48bb76c524dc877892289d22348400685a5291",
|
|
"commit": "c:souveraine:fe48bb76",
|
|
"conclusion": "failure",
|
|
"started": "2026-08-05T20:11:51-04:00",
|
|
"completed": "2026-08-05T20:15:06-04:00",
|
|
"title": "the rig ships with the repo; it is self-hosted"
|
|
},
|
|
{
|
|
"id": "ci:souveraine:1191",
|
|
"repo": "souveraine",
|
|
"run": 1191,
|
|
"workflow": "primary",
|
|
"branch": "primary",
|
|
"sha": "620c7d313d6aa7f9a29a28053919bbb9421ae6cd",
|
|
"commit": "c:souveraine:620c7d31",
|
|
"conclusion": "failure",
|
|
"started": "2026-08-05T20:23:32-04:00",
|
|
"completed": "2026-08-05T20:38:56-04:00",
|
|
"title": "placement grades a covered sensor instead of gating on it; squeeze test follows the fix"
|
|
},
|
|
{
|
|
"id": "ci:souveraine:1192",
|
|
"repo": "souveraine",
|
|
"run": 1192,
|
|
"workflow": "primary",
|
|
"branch": "primary",
|
|
"sha": "d4f9213a34565ae8880e5211470f6b6f8232092f",
|
|
"commit": "c:souveraine:d4f9213a",
|
|
"conclusion": "failure",
|
|
"started": "2026-08-05T21:00:39-04:00",
|
|
"completed": "2026-08-05T21:21:29-04:00",
|
|
"title": "wry host compiles: tao 0.36 event loop, Cow bodies, app id is the program name"
|
|
},
|
|
{
|
|
"id": "ci:souveraine:1193",
|
|
"repo": "souveraine",
|
|
"run": 1193,
|
|
"workflow": "primary",
|
|
"branch": "primary",
|
|
"sha": "269c1518990a584bea70b07b56ed0701e8ffd5a4",
|
|
"commit": "c:souveraine:269c1518",
|
|
"conclusion": "success",
|
|
"started": "2026-08-05T21:29:31-04:00",
|
|
"completed": "2026-08-05T21:50:06-04:00",
|
|
"title": "the wry host is optional through the whole pipeline; it must not block sessiond"
|
|
},
|
|
{
|
|
"id": "ci:souveraine:1194",
|
|
"repo": "souveraine",
|
|
"run": 1194,
|
|
"workflow": "primary",
|
|
"branch": "primary",
|
|
"sha": "a5f0fadba8ea1115a15a7c03571c0b9e879f1cbc",
|
|
"commit": "c:souveraine:a5f0fadb",
|
|
"conclusion": "success",
|
|
"started": "2026-08-05T21:55:13-04:00",
|
|
"completed": "2026-08-05T22:14:28-04:00",
|
|
"title": "unlocking closes a keyboard nobody asked for"
|
|
},
|
|
{
|
|
"id": "ci:souveraine:1195",
|
|
"repo": "souveraine",
|
|
"run": 1195,
|
|
"workflow": "primary",
|
|
"branch": "primary",
|
|
"sha": "3d3eb2cc8e9170b07ca6864e08be1cfb48b83d75",
|
|
"commit": "c:souveraine:3d3eb2cc",
|
|
"conclusion": "success",
|
|
"started": "2026-08-05T22:14:30-04:00",
|
|
"completed": "2026-08-05T22:33:29-04:00",
|
|
"title": "the avatar draws: serve the rig over loopback, not the opaque scheme"
|
|
},
|
|
{
|
|
"id": "ci:souveraine-viewtop:1198",
|
|
"repo": "souveraine-viewtop",
|
|
"run": 1198,
|
|
"workflow": "main",
|
|
"branch": "main",
|
|
"sha": "bb3902393dc905a0b392533df3dbff1a39978532",
|
|
"commit": "c:souveraine-viewtop:bb390239",
|
|
"conclusion": "success",
|
|
"started": "2026-08-06T10:34:49-04:00",
|
|
"completed": "2026-08-06T10:36:46-04:00",
|
|
"title": "a new window assumes its own zone; splitting is a directed act"
|
|
},
|
|
{
|
|
"id": "ci:Pixel3Arch:1199",
|
|
"repo": "Pixel3Arch",
|
|
"run": 1199,
|
|
"workflow": "main",
|
|
"branch": "main",
|
|
"sha": "a3d5df9ab14191f858c44708ada82c40932e4638",
|
|
"commit": "c:Pixel3Arch:a3d5df9a",
|
|
"conclusion": "success",
|
|
"started": "2026-08-06T10:36:46-04:00",
|
|
"completed": "2026-08-06T10:50:04-04:00",
|
|
"title": "packages: authenticate viewtop's clone via GIT_CONFIG env"
|
|
},
|
|
{
|
|
"id": "ci:souveraine:1200",
|
|
"repo": "souveraine",
|
|
"run": 1200,
|
|
"workflow": "primary",
|
|
"branch": "primary",
|
|
"sha": "d1e580ee00a9d6653b5203180b57bc2db07a7ef0",
|
|
"commit": "c:souveraine:d1e580ee",
|
|
"conclusion": "cancelled",
|
|
"started": "2026-08-06T11:03:51-04:00",
|
|
"completed": "2026-08-06T11:18:24-04:00",
|
|
"title": "drawer: the search field stops auto-focusing on the phone; tapping it summons the keyboard"
|
|
},
|
|
{
|
|
"id": "ci:souveraine:1201",
|
|
"repo": "souveraine",
|
|
"run": 1201,
|
|
"workflow": "primary",
|
|
"branch": "primary",
|
|
"sha": "7f294a5fa26a9f9c8f0bd9e44b261c8fcdc63fd8",
|
|
"commit": "c:souveraine:7f294a5f",
|
|
"conclusion": "success",
|
|
"started": "2026-08-06T11:18:25-04:00",
|
|
"completed": "2026-08-06T11:38:02-04:00",
|
|
"title": "the face draws: relative asset paths over loopback, and a dead socket stops being a gate"
|
|
},
|
|
{
|
|
"id": "ci:souveraine-viewtop:1202",
|
|
"repo": "souveraine-viewtop",
|
|
"run": 1202,
|
|
"workflow": "main",
|
|
"branch": "main",
|
|
"sha": "54f35b8807cb9d2d607cc3def4aa7ab6b613e743",
|
|
"commit": "c:souveraine-viewtop:54f35b88",
|
|
"conclusion": "success",
|
|
"started": "2026-08-06T11:54:10-04:00",
|
|
"completed": "2026-08-06T11:56:05-04:00",
|
|
"title": "dock taps go to the window's zone before raising"
|
|
},
|
|
{
|
|
"id": "ci:souveraine:1203",
|
|
"repo": "souveraine",
|
|
"run": 1203,
|
|
"workflow": "primary",
|
|
"branch": "primary",
|
|
"sha": "c2dcbe7b7feb12dd71b3a55be6b10d651428c6a7",
|
|
"commit": "c:souveraine:c2dcbe7b",
|
|
"conclusion": "success",
|
|
"started": "2026-08-06T11:55:37-04:00",
|
|
"completed": "2026-08-06T12:17:25-04:00",
|
|
"title": "rail: a keyboard-up climb means only a swap, never navigation"
|
|
},
|
|
{
|
|
"id": "ci:Pixel3Arch:1204",
|
|
"repo": "Pixel3Arch",
|
|
"run": 1204,
|
|
"workflow": "main",
|
|
"branch": "main",
|
|
"sha": "a3d5df9ab14191f858c44708ada82c40932e4638",
|
|
"commit": "c:Pixel3Arch:a3d5df9a",
|
|
"conclusion": "success",
|
|
"started": "2026-08-06T11:56:05-04:00",
|
|
"completed": "2026-08-06T11:59:34-04:00",
|
|
"title": "packages: authenticate viewtop's clone via GIT_CONFIG env"
|
|
},
|
|
{
|
|
"id": "ci:smithay:1206",
|
|
"repo": "smithay",
|
|
"run": 1206,
|
|
"workflow": "colour-transform",
|
|
"branch": "colour-transform",
|
|
"sha": "645961c768a5e5cdf520289347f92e109986b5f6",
|
|
"commit": "c:smithay:645961c7",
|
|
"conclusion": "success",
|
|
"started": "2026-08-07T00:13:19-04:00",
|
|
"completed": "2026-08-07T00:14:52-04:00",
|
|
"title": "gles: optional linear-space gamut transform on sampled textures"
|
|
},
|
|
{
|
|
"id": "ci:smithay:1207",
|
|
"repo": "smithay",
|
|
"run": 1207,
|
|
"workflow": "souveraine",
|
|
"branch": "souveraine",
|
|
"sha": "645961c768a5e5cdf520289347f92e109986b5f6",
|
|
"commit": "c:smithay:645961c7",
|
|
"conclusion": "success",
|
|
"started": "2026-08-07T00:17:55-04:00",
|
|
"completed": "2026-08-07T00:20:52-04:00",
|
|
"title": "gles: optional linear-space gamut transform on sampled textures"
|
|
},
|
|
{
|
|
"id": "ci:souveraine-viewtop:1208",
|
|
"repo": "souveraine-viewtop",
|
|
"run": 1208,
|
|
"workflow": "main",
|
|
"branch": "main",
|
|
"sha": "bb9530780f7e7c9888bdb03cc1920c3fda9e5ece",
|
|
"commit": "c:souveraine-viewtop:bb953078",
|
|
"conclusion": "success",
|
|
"started": "2026-08-07T00:25:53-04:00",
|
|
"completed": "2026-08-07T00:27:54-04:00",
|
|
"title": "furniture: a role for the face, and honour input regions"
|
|
},
|
|
{
|
|
"id": "ci:souveraine:1209",
|
|
"repo": "souveraine",
|
|
"run": 1209,
|
|
"workflow": "primary",
|
|
"branch": "primary",
|
|
"sha": "ae432e7654ff4b7847709bf23c9db6e334e6aae0",
|
|
"commit": "c:souveraine:ae432e76",
|
|
"conclusion": "success",
|
|
"started": "2026-08-07T00:26:32-04:00",
|
|
"completed": "2026-08-07T00:47:28-04:00",
|
|
"title": "dial: hold the camera to record the screen"
|
|
},
|
|
{
|
|
"id": "ci:Pixel3Arch:1210",
|
|
"repo": "Pixel3Arch",
|
|
"run": 1210,
|
|
"workflow": "main",
|
|
"branch": "main",
|
|
"sha": "a3d5df9ab14191f858c44708ada82c40932e4638",
|
|
"commit": "c:Pixel3Arch:a3d5df9a",
|
|
"conclusion": "success",
|
|
"started": "2026-08-07T00:27:54-04:00",
|
|
"completed": "2026-08-07T00:32:22-04:00",
|
|
"title": "packages: authenticate viewtop's clone via GIT_CONFIG env"
|
|
},
|
|
{
|
|
"id": "ci:souveraine-viewtop:1211",
|
|
"repo": "souveraine-viewtop",
|
|
"run": 1211,
|
|
"workflow": "main",
|
|
"branch": "main",
|
|
"sha": "d7a6760b2966e54836d7234ff428da1b9f17a322",
|
|
"commit": "c:souveraine-viewtop:d7a6760b",
|
|
"conclusion": "success",
|
|
"started": "2026-08-07T00:59:41-04:00",
|
|
"completed": "2026-08-07T01:01:35-04:00",
|
|
"title": "gaze: push where contacts are, so a face can look at them"
|
|
},
|
|
{
|
|
"id": "ci:souveraine:1212",
|
|
"repo": "souveraine",
|
|
"run": 1212,
|
|
"workflow": "primary",
|
|
"branch": "primary",
|
|
"sha": "c8dc24d3d19fea05e0cb1baa96662f71659e7edb",
|
|
"commit": "c:souveraine:c8dc24d3",
|
|
"conclusion": "cancelled",
|
|
"started": "2026-08-07T01:01:07-04:00",
|
|
"completed": "2026-08-07T01:11:16-04:00",
|
|
"title": "face: follow the finger anywhere on the panel"
|
|
},
|
|
{
|
|
"id": "ci:Pixel3Arch:1213",
|
|
"repo": "Pixel3Arch",
|
|
"run": 1213,
|
|
"workflow": "main",
|
|
"branch": "main",
|
|
"sha": "a3d5df9ab14191f858c44708ada82c40932e4638",
|
|
"commit": "c:Pixel3Arch:a3d5df9a",
|
|
"conclusion": "success",
|
|
"started": "2026-08-07T01:01:36-04:00",
|
|
"completed": "2026-08-07T01:26:44-04:00",
|
|
"title": "packages: authenticate viewtop's clone via GIT_CONFIG env"
|
|
},
|
|
{
|
|
"id": "ci:souveraine:1214",
|
|
"repo": "souveraine",
|
|
"run": 1214,
|
|
"workflow": "primary",
|
|
"branch": "primary",
|
|
"sha": "075ddf19ebf1600f7c00acac928e15c27ac310ab",
|
|
"commit": "c:souveraine:075ddf19",
|
|
"conclusion": "cancelled",
|
|
"started": "2026-08-07T01:11:18-04:00",
|
|
"completed": "2026-08-07T01:23:16-04:00",
|
|
"title": "face: locking sends her away, and she stays away"
|
|
},
|
|
{
|
|
"id": "ci:souveraine:1215",
|
|
"repo": "souveraine",
|
|
"run": 1215,
|
|
"workflow": "primary",
|
|
"branch": "primary",
|
|
"sha": "5ec6bfdc632e4a90736b6db06f5684753af733dd",
|
|
"commit": "c:souveraine:5ec6bfdc",
|
|
"conclusion": "cancelled",
|
|
"started": "2026-08-07T01:23:17-04:00",
|
|
"completed": "2026-08-07T01:32:30-04:00",
|
|
"title": "overview: a verb for mission control, and a state readout"
|
|
},
|
|
{
|
|
"id": "ci:souveraine:1216",
|
|
"repo": "souveraine",
|
|
"run": 1216,
|
|
"workflow": "primary",
|
|
"branch": "primary",
|
|
"sha": "6f375286bfef258ba64079f1862f8512ce1ccb3d",
|
|
"commit": "c:souveraine:6f375286",
|
|
"conclusion": "cancelled",
|
|
"started": "2026-08-07T01:32:30-04:00",
|
|
"completed": "2026-08-07T01:34:47-04:00",
|
|
"title": "multitasking: the cards were zero pixels wide"
|
|
},
|
|
{
|
|
"id": "ci:souveraine:1217",
|
|
"repo": "souveraine",
|
|
"run": 1217,
|
|
"workflow": "primary",
|
|
"branch": "primary",
|
|
"sha": "a1d9a874e54d30180dfa097622789648c4ddfd02",
|
|
"commit": "c:souveraine:a1d9a874",
|
|
"conclusion": "success",
|
|
"started": "2026-08-07T01:34:51-04:00",
|
|
"completed": "2026-08-07T01:54:12-04:00",
|
|
"title": "multitasking: inset the cards so neighbouring zones show through"
|
|
},
|
|
{
|
|
"id": "ci:souveraine-viewtop:1219",
|
|
"repo": "souveraine-viewtop",
|
|
"run": 1219,
|
|
"workflow": "main",
|
|
"branch": "main",
|
|
"sha": "b14d9926bb925f97b5a79c05114eba2f8d8fdc7d",
|
|
"commit": "c:souveraine-viewtop:b14d9926",
|
|
"conclusion": "success",
|
|
"started": "2026-08-07T01:54:12-04:00",
|
|
"completed": "2026-08-07T01:56:07-04:00",
|
|
"title": "layer surfaces get their popups drawn, and touched"
|
|
},
|
|
{
|
|
"id": "ci:Pixel3Arch:1220",
|
|
"repo": "Pixel3Arch",
|
|
"run": 1220,
|
|
"workflow": "main",
|
|
"branch": "main",
|
|
"sha": "a3d5df9ab14191f858c44708ada82c40932e4638",
|
|
"commit": "c:Pixel3Arch:a3d5df9a",
|
|
"conclusion": "success",
|
|
"started": "2026-08-07T01:56:07-04:00",
|
|
"completed": "2026-08-07T02:10:48-04:00",
|
|
"title": "packages: authenticate viewtop's clone via GIT_CONFIG env"
|
|
},
|
|
{
|
|
"id": "ci:souveraine:1221",
|
|
"repo": "souveraine",
|
|
"run": 1221,
|
|
"workflow": "primary",
|
|
"branch": "primary",
|
|
"sha": "5c44ea06d5e3f29a9b3d14fb556d3f263eb43e1c",
|
|
"commit": "c:souveraine:5c44ea06",
|
|
"conclusion": "cancelled",
|
|
"started": "2026-08-07T02:04:15-04:00",
|
|
"completed": "2026-08-07T02:06:14-04:00",
|
|
"title": "dock: scale it up, and put the scale in settings"
|
|
},
|
|
{
|
|
"id": "ci:souveraine:1222",
|
|
"repo": "souveraine",
|
|
"run": 1222,
|
|
"workflow": "primary",
|
|
"branch": "primary",
|
|
"sha": "48265741661f024a084cc8ac90162d7a7e6109a3",
|
|
"commit": "c:souveraine:48265741",
|
|
"conclusion": "cancelled",
|
|
"started": "2026-08-07T02:06:17-04:00",
|
|
"completed": "2026-08-07T02:07:24-04:00",
|
|
"title": "pill: a cancelled climb puts the app back"
|
|
},
|
|
{
|
|
"id": "ci:souveraine:1223",
|
|
"repo": "souveraine",
|
|
"run": 1223,
|
|
"workflow": "primary",
|
|
"branch": "primary",
|
|
"sha": "e2186011991b7f80ab4c6f3e59b809b9e5a2ff1d",
|
|
"commit": "c:souveraine:e2186011",
|
|
"conclusion": "cancelled",
|
|
"started": "2026-08-07T02:07:28-04:00",
|
|
"completed": "2026-08-07T02:21:09-04:00",
|
|
"title": "Revert the duplicate onCanceled on the rail"
|
|
},
|
|
{
|
|
"id": "ci:souveraine:1225",
|
|
"repo": "souveraine",
|
|
"run": 1225,
|
|
"workflow": "primary",
|
|
"branch": "primary",
|
|
"sha": "47e8135cdc932a8bed0a374aa2e1c9e1b35b897f",
|
|
"commit": "c:souveraine:47e8135c",
|
|
"conclusion": "cancelled",
|
|
"started": "2026-08-07T02:21:09-04:00",
|
|
"completed": "2026-08-07T02:22:32-04:00",
|
|
"title": "face: her postures reach the rig, and she stops miming on startup"
|
|
},
|
|
{
|
|
"id": "ci:souveraine-viewtop:1224",
|
|
"repo": "souveraine-viewtop",
|
|
"run": 1224,
|
|
"workflow": "main",
|
|
"branch": "main",
|
|
"sha": "62ec16bc563f11a21902f93c610e8c9afe7523ad",
|
|
"commit": "c:souveraine-viewtop:62ec16bc",
|
|
"conclusion": "success",
|
|
"started": "2026-08-07T02:21:11-04:00",
|
|
"completed": "2026-08-07T02:23:16-04:00",
|
|
"title": "feeds: a slow subscriber is behind, not gone"
|
|
},
|
|
{
|
|
"id": "ci:souveraine:1226",
|
|
"repo": "souveraine",
|
|
"run": 1226,
|
|
"workflow": "primary",
|
|
"branch": "primary",
|
|
"sha": "f4caaae1cb69c78859254f767a104187da0379d2",
|
|
"commit": "c:souveraine:f4caaae1",
|
|
"conclusion": "cancelled",
|
|
"started": "2026-08-07T02:22:33-04:00",
|
|
"completed": "2026-08-07T02:24:27-04:00",
|
|
"title": "drawer: the keyboard comes up on a tap, not on a press"
|
|
},
|
|
{
|
|
"id": "ci:Pixel3Arch:1227",
|
|
"repo": "Pixel3Arch",
|
|
"run": 1227,
|
|
"workflow": "main",
|
|
"branch": "main",
|
|
"sha": "a3d5df9ab14191f858c44708ada82c40932e4638",
|
|
"commit": "c:Pixel3Arch:a3d5df9a",
|
|
"conclusion": "success",
|
|
"started": "2026-08-07T02:23:16-04:00",
|
|
"completed": "2026-08-07T02:26:47-04:00",
|
|
"title": "packages: authenticate viewtop's clone via GIT_CONFIG env"
|
|
},
|
|
{
|
|
"id": "ci:souveraine:1228",
|
|
"repo": "souveraine",
|
|
"run": 1228,
|
|
"workflow": "primary",
|
|
"branch": "primary",
|
|
"sha": "630d6912fde7c0cd44662c19a2b6340240a9c0d7",
|
|
"commit": "c:souveraine:630d6912",
|
|
"conclusion": "cancelled",
|
|
"started": "2026-08-07T02:24:27-04:00",
|
|
"completed": "2026-08-07T02:29:40-04:00",
|
|
"title": "sidebar: the keyboard leaves with the panel that summoned it"
|
|
},
|
|
{
|
|
"id": "ci:souveraine:1229",
|
|
"repo": "souveraine",
|
|
"run": 1229,
|
|
"workflow": "primary",
|
|
"branch": "primary",
|
|
"sha": "14c3c80b14eab7958f9c00bb8a89fcefb0ff4f63",
|
|
"commit": "c:souveraine:14c3c80b",
|
|
"conclusion": "success",
|
|
"started": "2026-08-07T02:29:41-04:00",
|
|
"completed": "2026-08-07T02:48:50-04:00",
|
|
"title": "handoff: 2026-08-07"
|
|
},
|
|
{
|
|
"id": "ci:souveraine:1232",
|
|
"repo": "souveraine",
|
|
"run": 1232,
|
|
"workflow": "primary",
|
|
"branch": "primary",
|
|
"sha": "f699f572354a8ad3b41ab86f2285faadb6a75106",
|
|
"commit": "c:souveraine:f699f572",
|
|
"conclusion": "cancelled",
|
|
"started": "2026-08-07T08:42:07-04:00",
|
|
"completed": "2026-08-07T08:53:02-04:00",
|
|
"title": "multitasking draws under a dwelling thumb"
|
|
},
|
|
{
|
|
"id": "ci:souveraine:1233",
|
|
"repo": "souveraine",
|
|
"run": 1233,
|
|
"workflow": "primary",
|
|
"branch": "primary",
|
|
"sha": "72171acceca1c0605600ac5a33c99efe10a00114",
|
|
"commit": "c:souveraine:72171acc",
|
|
"conclusion": "success",
|
|
"started": "2026-08-07T08:53:04-04:00",
|
|
"completed": "2026-08-07T09:12:26-04:00",
|
|
"title": "the card is the window's size through the whole pull"
|
|
},
|
|
{
|
|
"id": "ci:souveraine-viewtop:1234",
|
|
"repo": "souveraine-viewtop",
|
|
"run": 1234,
|
|
"workflow": "main",
|
|
"branch": "main",
|
|
"sha": "3c853972ae9e5db6eb535c93dc048d92683c0879",
|
|
"commit": "c:souveraine-viewtop:3c853972",
|
|
"conclusion": "success",
|
|
"started": "2026-08-07T09:49:19-04:00",
|
|
"completed": "2026-08-07T09:51:17-04:00",
|
|
"title": "the overview carry: one owner for the transition geometry"
|
|
},
|
|
{
|
|
"id": "ci:Pixel3Arch:1235",
|
|
"repo": "Pixel3Arch",
|
|
"run": 1235,
|
|
"workflow": "main",
|
|
"branch": "main",
|
|
"sha": "9b1afd1bf3c2760df790887719ada2239d12a639",
|
|
"commit": "c:Pixel3Arch:9b1afd1b",
|
|
"conclusion": "success",
|
|
"started": "2026-08-07T09:51:17-04:00",
|
|
"completed": "2026-08-07T09:54:28-04:00",
|
|
"title": "triage: find the phone when the laptop is on a foreign network"
|
|
},
|
|
{
|
|
"id": "ci:souveraine:1236",
|
|
"repo": "souveraine",
|
|
"run": 1236,
|
|
"workflow": "primary",
|
|
"branch": "primary",
|
|
"sha": "16c6ee103328019a9947b95feaeb270ff9193dc7",
|
|
"commit": "c:souveraine:16c6ee10",
|
|
"conclusion": "success",
|
|
"started": "2026-08-07T13:49:17-04:00",
|
|
"completed": "2026-08-07T14:10:04-04:00",
|
|
"title": "multitasking: one owner for the transition, and the release travels"
|
|
},
|
|
{
|
|
"id": "ci:souveraine:1237",
|
|
"repo": "souveraine",
|
|
"run": 1237,
|
|
"workflow": "primary",
|
|
"branch": "primary",
|
|
"sha": "8cd2adb82827196354b534dee136d07931f1ac8a",
|
|
"commit": "c:souveraine:8cd2adb8",
|
|
"conclusion": "success",
|
|
"started": "2026-08-07T14:50:53-04:00",
|
|
"completed": "2026-08-07T15:16:14-04:00",
|
|
"title": "usb: build the full KVM composite surface"
|
|
},
|
|
{
|
|
"id": "ci:Pixel3Arch:1238",
|
|
"repo": "Pixel3Arch",
|
|
"run": 1238,
|
|
"workflow": "main",
|
|
"branch": "main",
|
|
"sha": "258c995b6a9f4180e90abdd933cc36cc16b38fc3",
|
|
"commit": "c:Pixel3Arch:258c995b",
|
|
"conclusion": "failure",
|
|
"started": "2026-08-07T14:52:06-04:00",
|
|
"completed": "2026-08-07T14:57:04-04:00",
|
|
"title": "usb: package the full HID and KVM gadget"
|
|
},
|
|
{
|
|
"id": "ci:Pixel3Arch:1239",
|
|
"repo": "Pixel3Arch",
|
|
"run": 1239,
|
|
"workflow": "main",
|
|
"branch": "main",
|
|
"sha": "d1511649c1e534d67772040be1d5b0db1bc52cdb",
|
|
"commit": "c:Pixel3Arch:d1511649",
|
|
"conclusion": "failure",
|
|
"started": "2026-08-07T15:16:14-04:00",
|
|
"completed": "2026-08-07T15:19:25-04:00",
|
|
"title": "ci: bound package workspace storage"
|
|
},
|
|
{
|
|
"id": "ci:Pixel3Arch:1240",
|
|
"repo": "Pixel3Arch",
|
|
"run": 1240,
|
|
"workflow": "main",
|
|
"branch": "main",
|
|
"sha": "b6bc0fff07fac515c77269f34e908e194b1f78da",
|
|
"commit": "c:Pixel3Arch:b6bc0fff",
|
|
"conclusion": "failure",
|
|
"started": "2026-08-07T15:24:37-04:00",
|
|
"completed": "2026-08-07T15:27:34-04:00",
|
|
"title": "smoo: fetch before the offline build"
|
|
},
|
|
{
|
|
"id": "ci:Pixel3Arch:1241",
|
|
"repo": "Pixel3Arch",
|
|
"run": 1241,
|
|
"workflow": "main",
|
|
"branch": "main",
|
|
"sha": "d7c765ae7247519f70a0482cff61bd62caa77be6",
|
|
"commit": "c:Pixel3Arch:d7c765ae",
|
|
"conclusion": "failure",
|
|
"started": "2026-08-07T15:32:06-04:00",
|
|
"completed": "2026-08-07T15:35:07-04:00",
|
|
"title": "smoo: fetch host build dependencies"
|
|
},
|
|
{
|
|
"id": "ci:Pixel3Arch:1242",
|
|
"repo": "Pixel3Arch",
|
|
"run": 1242,
|
|
"workflow": "main",
|
|
"branch": "main",
|
|
"sha": "4e862e8377040327ab6a716a0eddd9f0df96a3d8",
|
|
"commit": "c:Pixel3Arch:4e862e83",
|
|
"conclusion": "failure",
|
|
"started": "2026-08-07T15:35:28-04:00",
|
|
"completed": "2026-08-07T15:38:23-04:00",
|
|
"title": "ci: let package prepares populate Cargo"
|
|
},
|
|
{
|
|
"id": "ci:Pixel3Arch:1243",
|
|
"repo": "Pixel3Arch",
|
|
"run": 1243,
|
|
"workflow": "main",
|
|
"branch": "main",
|
|
"sha": "39242795c6c9e42f42ce56f2101d495146ae6e95",
|
|
"commit": "c:Pixel3Arch:39242795",
|
|
"conclusion": "success",
|
|
"started": "2026-08-07T15:41:08-04:00",
|
|
"completed": "2026-08-07T15:44:52-04:00",
|
|
"title": "smoo: provision its pinned cross target"
|
|
},
|
|
{
|
|
"id": "ci:Pixel3Arch:1244",
|
|
"repo": "Pixel3Arch",
|
|
"run": 1244,
|
|
"workflow": "main",
|
|
"branch": "main",
|
|
"sha": "8c9c50fa0fd3f98fe9209904f6b7ede80e6e4a71",
|
|
"commit": "c:Pixel3Arch:8c9c50fa",
|
|
"conclusion": "success",
|
|
"started": "2026-08-07T15:54:32-04:00",
|
|
"completed": "2026-08-07T15:58:11-04:00",
|
|
"title": "usb: publish the management tether owner"
|
|
},
|
|
{
|
|
"id": "ci:souveraine:1245",
|
|
"repo": "souveraine",
|
|
"run": 1245,
|
|
"workflow": "primary",
|
|
"branch": "primary",
|
|
"sha": "0c9db09888f9f665bcc217359526fa40d7ba1162",
|
|
"commit": "c:souveraine:0c9db098",
|
|
"conclusion": "cancelled",
|
|
"started": "2026-08-07T16:04:03-04:00",
|
|
"completed": "2026-08-07T16:07:10-04:00",
|
|
"title": "memory: persist every git index mutation"
|
|
},
|
|
{
|
|
"id": "ci:souveraine:1246",
|
|
"repo": "souveraine",
|
|
"run": 1246,
|
|
"workflow": "primary",
|
|
"branch": "primary",
|
|
"sha": "9ceaf61fa62ecb0a22f84e0363010fb37845f301",
|
|
"commit": "c:souveraine:9ceaf61f",
|
|
"conclusion": "success",
|
|
"started": "2026-08-07T16:07:10-04:00",
|
|
"completed": "2026-08-07T16:32:54-04:00",
|
|
"title": "memory: base scoped commits on HEAD"
|
|
},
|
|
{
|
|
"id": "ci:souveraine:1247",
|
|
"repo": "souveraine",
|
|
"run": 1247,
|
|
"workflow": "primary",
|
|
"branch": "primary",
|
|
"sha": "78d6743776905cdd75c64761dd3b3eea72bbe917",
|
|
"commit": "c:souveraine:78d67437",
|
|
"conclusion": "success",
|
|
"started": "2026-08-07T17:37:16-04:00",
|
|
"completed": "2026-08-07T18:02:58-04:00",
|
|
"title": "usb: make the HID controller doorway honest"
|
|
},
|
|
{
|
|
"id": "ci:souveraine:1255",
|
|
"repo": "souveraine",
|
|
"run": 1255,
|
|
"workflow": "primary",
|
|
"branch": "primary",
|
|
"sha": "b2774c8aac472c637de2af6bc13334db1f2dde52",
|
|
"commit": "c:souveraine:b2774c8a",
|
|
"conclusion": "failure",
|
|
"started": "2026-08-09T19:31:47-04:00",
|
|
"completed": "2026-08-09T19:34:35-04:00",
|
|
"title": "sessiond: a power seam that cannot report an outcome it does not have"
|
|
},
|
|
{
|
|
"id": "ci:Pixel3Arch:1256",
|
|
"repo": "Pixel3Arch",
|
|
"run": 1256,
|
|
"workflow": "main",
|
|
"branch": "main",
|
|
"sha": "2c67530415f25cce15900d6d8898ec8e70aabe90",
|
|
"commit": "c:Pixel3Arch:2c675304",
|
|
"conclusion": "failure",
|
|
"started": "2026-08-09T19:43:32-04:00",
|
|
"completed": "2026-08-09T19:47:04-04:00",
|
|
"title": "docs: repoint the rest at SouveraineOS/PAF"
|
|
},
|
|
{
|
|
"id": "ci:souveraine:1258",
|
|
"repo": "souveraine",
|
|
"run": 1258,
|
|
"workflow": "primary",
|
|
"branch": "primary",
|
|
"sha": "eb0292c342ccfb987bab124a0a45e9a84e947bf4",
|
|
"commit": "c:souveraine:eb0292c3",
|
|
"conclusion": "failure",
|
|
"started": "2026-08-09T21:21:18-04:00",
|
|
"completed": "2026-08-09T21:24:45-04:00",
|
|
"title": "sessiond: dim by percent, not an absolute"
|
|
},
|
|
{
|
|
"id": "ci:souveraine:1259",
|
|
"repo": "souveraine",
|
|
"run": 1259,
|
|
"workflow": "primary",
|
|
"branch": "primary",
|
|
"sha": "bf469c42167debbf11905b1776576c53469e2a71",
|
|
"commit": "c:souveraine:bf469c42",
|
|
"conclusion": "success",
|
|
"started": "2026-08-09T22:21:18-04:00",
|
|
"completed": "2026-08-09T22:50:04-04:00",
|
|
"title": "lock: answer touchKeypad on a cold start, not just a reload"
|
|
}
|
|
],
|
|
"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": -7,
|
|
"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": -7,
|
|
"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": -7,
|
|
"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": -4,
|
|
"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": -4,
|
|
"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": -4,
|
|
"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": 12,
|
|
"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": 24,
|
|
"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": false,
|
|
"age_days": 15,
|
|
"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": 12,
|
|
"url": "https://gitea.wiuf.net/Fimeg/Pixel3Arch/releases/tag/kernel-latest"
|
|
}
|
|
],
|
|
"declared": [
|
|
{
|
|
"id": "d:task-7",
|
|
"kind": "task-index",
|
|
"task": "7",
|
|
"title": "WCD9340 mic",
|
|
"file": "07-mic-wcd9340-slim-tx.md",
|
|
"change": "restated",
|
|
"detail": "what's left rewritten",
|
|
"section": "Open",
|
|
"was": "Functional since 07-20. One defect: the power pin that makes it work. Kernel branch `mic-race-fix`.",
|
|
"now": "Functional and in daily STT use. One defect: the permanent sysclk + MICB2 power pin. Kernel branch `mic-race-fix`.",
|
|
"dimension": "unassigned"
|
|
},
|
|
{
|
|
"id": "d:task-17",
|
|
"kind": "task-index",
|
|
"task": "17",
|
|
"title": "Keyboard + dictation polish",
|
|
"file": "17-keyboard-stevia-dictation.md",
|
|
"change": "restated",
|
|
"detail": "what's left rewritten",
|
|
"section": "Open",
|
|
"was": "No word completion (stevia asks hunspell for `en-us`, the dict is `en_US`); no recording indicator on the mic key. The layout half moved to TASK-24. **TTS now exists** (`10.10.20.123:7863`) — the settings field can be filled.",
|
|
"now": "Dictation works in daily use. Open: no word completion (`en-us` vs `en_US`) and the stateful mic-key indicator is written but not built. Layout moved to TASK-24. **TTS now exists** (`10.10.20.123:7863`).",
|
|
"dimension": "surface"
|
|
},
|
|
{
|
|
"id": "d:task-39",
|
|
"kind": "task-index",
|
|
"task": "39",
|
|
"title": "Audio levels as tracked state",
|
|
"file": "39-audio-levels-as-state.md",
|
|
"change": "restated",
|
|
"detail": "what's left rewritten",
|
|
"section": "Open",
|
|
"was": "Defaults + roles, **not** a save bug — WirePlumber persistence measured working 07-28. Do not add a second writer.",
|
|
"now": "Open policy: roles, defaults, lock tiers, and state-driven profile intent. WirePlumber persistence works; do not add a second writer.",
|
|
"dimension": "sensorium"
|
|
},
|
|
{
|
|
"id": "d:task-53",
|
|
"kind": "task-index",
|
|
"task": "53",
|
|
"title": "viewtop audit: what it left open",
|
|
"file": "53-viewtop-audit-open.md",
|
|
"change": "listed",
|
|
"detail": "Live",
|
|
"section": "Live",
|
|
"was": null,
|
|
"now": "All ten fixed and **packaged onto the phone** (`r74.g6c9614c20471`). The cold boot then exposed a *third*: a lost sessiond race had left the power button dead — discovery waits now. Hardware found two more the gates did not — `delivered` reported true for a withheld contact, and a drift warning that fired on every normal close. What is left needs the PIN.",
|
|
"dimension": "identity"
|
|
},
|
|
{
|
|
"id": "d:task-55",
|
|
"kind": "task-index",
|
|
"task": "55",
|
|
"title": "The hand's verbs: a window action sheet",
|
|
"file": "55-hand-verbs-on-the-glass.md",
|
|
"change": "listed",
|
|
"detail": "Open",
|
|
"section": "Open",
|
|
"was": null,
|
|
"now": "**Sheet built and deployed 2026-08-05.** The tap carries its window now (the centroid was being dropped, which is why it could only reach the overview); `Kill` added because `Close` is a request a hung client never reads; `ViewtopControl.qml` is the shell's one path to the scene verbs. Split's chooser, Home-via-compositor, and Move-as-a-mode (`grab`/`drop`) all landed the same day; the three-finger **drag was deleted outright** — it beat the tap to nearly every gesture, and zones now move only when something says so. Left: a real resize handle, widgets on the cleared home zone, and shipping the drag-removal package (viewtop CI 1165 failed in checkout). Also surfaced a runtime-lock paint gap — black until the lockscreen draws, because only boot has a splash→glance→lockscreen chain.",
|
|
"dimension": "surface"
|
|
},
|
|
{
|
|
"id": "d:task-56",
|
|
"kind": "task-index",
|
|
"task": "56",
|
|
"title": "The island, and the bar's honest face",
|
|
"file": "56-island-and-the-bars-honest-face.md",
|
|
"change": "listed",
|
|
"detail": "Open",
|
|
"section": "Open",
|
|
"was": null,
|
|
"now": "Bar clears a region for sprawling notification banners, agent-controlled (Part A: design questions). Part B is buildable now: drop the LTE suffix, tap-to-cycle the carrier name (Fido → Casey → Fimeg), and a network-type indicator that shows the live connection instead of a wifi glyph that never reflects cellular.",
|
|
"dimension": "surface"
|
|
},
|
|
{
|
|
"id": "d:task-57",
|
|
"kind": "task-index",
|
|
"task": "57",
|
|
"title": "The Pi dock head",
|
|
"file": "57-pi-dock-head.md",
|
|
"change": "listed",
|
|
"detail": "Open",
|
|
"section": "Open",
|
|
"was": null,
|
|
"now": "Phone stays a gadget; the Pi 4 drives the monitor + dock. NCM link is default, Venus encoder is present, compositor capture landed — the unproven seams are `zwlr_screencopy` vs our own capture IPC, and the Pi's own bring-up (\"major malfunctions TBD\"). Four phases: Pi bring-up, static chain, real capture + udev trigger, input injection.",
|
|
"dimension": "surface"
|
|
},
|
|
{
|
|
"id": "d:task-58",
|
|
"kind": "task-index",
|
|
"task": "58",
|
|
"title": "Host power: the SMB2 OTG boost",
|
|
"file": "58-host-power-smb2-boost.md",
|
|
"change": "listed",
|
|
"detail": "Open",
|
|
"section": "Open",
|
|
"was": null,
|
|
"now": "Host data works; the boost isn't. The SMB2 5 V boost exists in silicon and mainline's `qcom-smbx-charger` never registers it. Investigation first (which tree builds the running kernel, does smb2 touch the boost, does `qcom_pmic_typec` bind pmi8998), then vbus-supply + regulator + typec. Unlocks host-mode power, power-bank mode, and the Pi without a wall wart.",
|
|
"dimension": "sensorium"
|
|
},
|
|
{
|
|
"id": "d:task-59",
|
|
"kind": "task-index",
|
|
"task": "59",
|
|
"title": "Her face on the glass: a Live2D presence",
|
|
"file": "59-her-face-on-the-glass.md",
|
|
"change": "listed",
|
|
"detail": "Open",
|
|
"section": "Open",
|
|
"was": null,
|
|
"now": "**Phase 1 passed on hardware 2026-08-05: ~58 fps, rig verified drawing (`painted_px` 23.6k/24k), 283 MB WebKit RSS.** Scoped from a Live2D board-girl found in a cloned blog. The reference streams its chat over **SSE terminated by `[DONE]`** — the contract souveraine's server already speaks, so the integration is accidentally done. Base layer is **wry**, not the Chromium already on the phone; the first deliverable is a measured frame rate for the Cubism runtime in WebKit on freedreno, and if that fails the task stops there. Replaces ani-avatar's 2.5 GB of sprite states with one rig. Reference rig ships as the working placeholder and gets edited toward Annie — it just stays out of any public repo. Summoned by app launch and/or the radial dial, not always-on.",
|
|
"dimension": "runtime"
|
|
},
|
|
{
|
|
"id": "d:task-60",
|
|
"kind": "task-index",
|
|
"task": "60",
|
|
"title": "Multitasking is a place, not a transition",
|
|
"file": "60-the-multitasking-view.md",
|
|
"change": "listed",
|
|
"detail": "Live",
|
|
"section": "Live",
|
|
"was": null,
|
|
"now": "One-owner compositor and shell halves are built; strand repro and measured landing pass on glass. `16c6ee1` is pushed and CI 1236 is green. What remains is Casey's thumb on the settle/fade and a real split-zone card check.",
|
|
"dimension": "surface"
|
|
},
|
|
{
|
|
"id": "d:task-62",
|
|
"kind": "task-index",
|
|
"task": "62",
|
|
"title": "Full USB KVM",
|
|
"file": "62-full-usb-kvm.md",
|
|
"change": "listed",
|
|
"detail": "In progress",
|
|
"section": "In progress",
|
|
"was": null,
|
|
"now": "GUD + HID + NCM + smoo and the signed package path are green. Still open: install and cable/glass acceptance; real Session Authority gates (peer identity, probe lease, step-up, D-Bus enforcement); cold-boot SSH-over-NCM proof. Type-C/TCPM host negotiation remains TASK-58.",
|
|
"dimension": "identity"
|
|
},
|
|
{
|
|
"id": "d:docs/DUMP-bugs-2026-08-06.md",
|
|
"kind": "document",
|
|
"file": "docs/DUMP-bugs-2026-08-06.md",
|
|
"change": "added",
|
|
"detail": "3 commit(s)",
|
|
"commits": [
|
|
"528d290",
|
|
"d62ae3f",
|
|
"bbb25b5"
|
|
],
|
|
"subjects": [
|
|
"59/60 and the bug dump: what landed the day her face went on the glass",
|
|
"bugs: the multitasking cards are blocked on screencopy hanging, not on missing data",
|
|
"bug list: sessiond dead, r84 running, split default, screencopy open"
|
|
],
|
|
"dimension": "identity"
|
|
},
|
|
{
|
|
"id": "d:docs/DUMP-fingerprint-2026-08-09.md",
|
|
"kind": "document",
|
|
"file": "docs/DUMP-fingerprint-2026-08-09.md",
|
|
"change": "added",
|
|
"detail": "1 commit(s)",
|
|
"commits": [
|
|
"b78342a"
|
|
],
|
|
"subjects": [
|
|
"dump: fingerprint handoff, and the protocol is recovered"
|
|
],
|
|
"dimension": "sensorium"
|
|
},
|
|
{
|
|
"id": "d:docs/README.md",
|
|
"kind": "document",
|
|
"file": "docs/README.md",
|
|
"change": "revised",
|
|
"detail": "1 commit(s)",
|
|
"commits": [
|
|
"4aa61d7"
|
|
],
|
|
"subjects": [
|
|
"docs: reconcile USB, Waydroid, audio and charging"
|
|
],
|
|
"dimension": "sensorium"
|
|
},
|
|
{
|
|
"id": "d:docs/SECURITY-AUDIT.md",
|
|
"kind": "document",
|
|
"file": "docs/SECURITY-AUDIT.md",
|
|
"change": "revised",
|
|
"detail": "1 commit(s)",
|
|
"commits": [
|
|
"5c9a652"
|
|
],
|
|
"subjects": [
|
|
"docs: correct three claims that were false, in place"
|
|
],
|
|
"dimension": "unassigned"
|
|
},
|
|
{
|
|
"id": "d:docs/STORAGE-ENCRYPTION.md",
|
|
"kind": "document",
|
|
"file": "docs/STORAGE-ENCRYPTION.md",
|
|
"change": "revised",
|
|
"detail": "1 commit(s)",
|
|
"commits": [
|
|
"4aa61d7"
|
|
],
|
|
"subjects": [
|
|
"docs: reconcile USB, Waydroid, audio and charging"
|
|
],
|
|
"dimension": "sensorium"
|
|
},
|
|
{
|
|
"id": "d:docs/WAYDROID.md",
|
|
"kind": "document",
|
|
"file": "docs/WAYDROID.md",
|
|
"change": "added",
|
|
"detail": "1 commit(s)",
|
|
"commits": [
|
|
"4aa61d7"
|
|
],
|
|
"subjects": [
|
|
"docs: reconcile USB, Waydroid, audio and charging"
|
|
],
|
|
"dimension": "sensorium"
|
|
},
|
|
{
|
|
"id": "d:docs/davids-tasks/slimbus-def-act-chan.md",
|
|
"kind": "document",
|
|
"file": "docs/davids-tasks/slimbus-def-act-chan.md",
|
|
"change": "added",
|
|
"detail": "4 commit(s)",
|
|
"commits": [
|
|
"376ef95",
|
|
"df334ca",
|
|
"bc00214",
|
|
"4f8f7cf"
|
|
],
|
|
"subjects": [
|
|
"docs: record SLIMbus v1 submission",
|
|
"docs: normalize SLIMbus sender address",
|
|
"docs: record SLIMbus review result",
|
|
"docs: park SLIMbus upstream follow-up"
|
|
],
|
|
"dimension": "runtime"
|
|
}
|
|
],
|
|
"index": {
|
|
"60": {
|
|
"section": "Live",
|
|
"title": "Multitasking is a place, not a transition",
|
|
"file": "60-the-multitasking-view.md",
|
|
"left": "One-owner compositor and shell halves are built; strand repro and measured landing pass on glass. `16c6ee1` is pushed and CI 1236 is green. What remains is Casey's thumb on the settle/fade and a real split-zone card check."
|
|
},
|
|
"53": {
|
|
"section": "Live",
|
|
"title": "viewtop audit: what it left open",
|
|
"file": "53-viewtop-audit-open.md",
|
|
"left": "All ten fixed and **packaged onto the phone** (`r74.g6c9614c20471`). The cold boot then exposed a *third*: a lost sessiond race had left the power button dead — discovery waits now. Hardware found two more the gates did not — `delivered` reported true for a withheld contact, and a drift warning that fired on every normal close. What is left needs the PIN."
|
|
},
|
|
"43": {
|
|
"section": "Live",
|
|
"title": "viewtop: the Souveraine compositor",
|
|
"file": "43-viewtop-compositor.md",
|
|
"left": "Runs on the phone. Next lane is the ext-session-lock admission gate. The two-client lock handoff is the thing not to get wrong."
|
|
},
|
|
"29": {
|
|
"section": "Live",
|
|
"title": "SouveraineOS Updater",
|
|
"file": "29-souveraine-updater.md",
|
|
"left": "Ships and installs by `pacman -Syu`. **Read-only on device** until something runs a polkit agent — that is the shell's job. Also owns TASK-42's layer 2."
|
|
},
|
|
"62": {
|
|
"section": "In progress",
|
|
"title": "Full USB KVM",
|
|
"file": "62-full-usb-kvm.md",
|
|
"left": "GUD + HID + NCM + smoo and the signed package path are green. Still open: install and cable/glass acceptance; real Session Authority gates (peer identity, probe lease, step-up, D-Bus enforcement); cold-boot SSH-over-NCM proof. Type-C/TCPM host negotiation remains TASK-58."
|
|
},
|
|
"8": {
|
|
"section": "In progress",
|
|
"title": "Device state manager / power profiles",
|
|
"file": "08-device-state-manager.md",
|
|
"left": "Largest task; sub-divide before starting. (e) lease missing, (f) **surfaced 2026-07-31** — health, evidence and the decision trail render on the Device page; last-seen and grip still absent from `device_state`. (g) confidence gates need a decision before code."
|
|
},
|
|
"16": {
|
|
"section": "In progress",
|
|
"title": "culver: messenger + contacts",
|
|
"file": "16-culver-messenger-contacts.md",
|
|
"left": "A/B/D landed. C (contact card) builds and awaits phone acceptance. F is the folded-in TASK-01."
|
|
},
|
|
"19": {
|
|
"section": "In progress",
|
|
"title": "First-party Settings control center",
|
|
"file": "19-settings-control-center.md",
|
|
"left": "State-machine + source-health readout **built 2026-07-31**, unverified on glass. 34 and 42's layer 3 still surface here."
|
|
},
|
|
"31": {
|
|
"section": "In progress",
|
|
"title": "The radial dial",
|
|
"file": "31-radial-dial.md",
|
|
"left": "Component, gestures and squeeze invocation are live. **Entries are still a list in `DialHost.qml`** — they must come from the verb tables."
|
|
},
|
|
"30": {
|
|
"section": "In progress",
|
|
"title": "Agent reach: verb tables",
|
|
"file": "30-agent-reach-verb-tables.md",
|
|
"left": "sessiond has describe + refusal codes + intent. Dock, apps, shell and settings do not. One session per surface."
|
|
},
|
|
"42": {
|
|
"section": "In progress",
|
|
"title": "Build outcomes are invisible",
|
|
"file": "42-build-outcomes-are-invisible.md",
|
|
"left": "Layer 1 built (`tools/ci-status.sh` + push hook). Layer 2 is TASK-29's, layer 3 is TASK-19's. Pin-rot prevention unbuilt."
|
|
},
|
|
"2": {
|
|
"section": "In progress",
|
|
"title": "Lockscreen-as-Rust-system",
|
|
"file": "02-lockscreen-rust-system.md",
|
|
"left": "sessiond's fallback should render the glance, not a second PIN pad. Stopgap shipped 07-17."
|
|
},
|
|
"14": {
|
|
"section": "In progress",
|
|
"title": "Overview → phone app grid",
|
|
"file": "14-overview-appgrid.md",
|
|
"left": "Paged app grid replacing the desktop workspace pane; Auxo-style running cards; unconditional Home path."
|
|
},
|
|
"15": {
|
|
"section": "Blocked or gated",
|
|
"title": "Idle coordinator",
|
|
"file": "15-idle-coordinator.md",
|
|
"left": "Freezing `app.slice` would freeze sessiond, shell and secrets. Needs slice separation first (measured 07-25)."
|
|
},
|
|
"28": {
|
|
"section": "Blocked or gated",
|
|
"title": "Handover on upgrade",
|
|
"file": "28-upgrade-handover.md",
|
|
"left": "TASK-27's packaging. Also owns TASK-13's outstanding cold-boot handshake check."
|
|
},
|
|
"25": {
|
|
"section": "Blocked or gated",
|
|
"title": "One repo, all packages",
|
|
"file": "25-one-repo-all-packages.md",
|
|
"left": "Parked 07-25 — four blockers before `repo-add --sign`. See TASK-27."
|
|
},
|
|
"40": {
|
|
"section": "Blocked or gated",
|
|
"title": "Inference tiering for the sensors",
|
|
"file": "40-inference-tiering-sensors.md",
|
|
"left": "Nothing — **it is the gate.** P1 applied to sensord/grip/dial; gates the grip raw stream and TASK-31's IPC. Decisions first, then small code."
|
|
},
|
|
"59": {
|
|
"section": "Open",
|
|
"title": "Her face on the glass: a Live2D presence",
|
|
"file": "59-her-face-on-the-glass.md",
|
|
"left": "**Phase 1 passed on hardware 2026-08-05: ~58 fps, rig verified drawing (`painted_px` 23.6k/24k), 283 MB WebKit RSS.** Scoped from a Live2D board-girl found in a cloned blog. The reference streams its chat over **SSE terminated by `[DONE]`** — the contract souveraine's server already speaks, so the integration is accidentally done. Base layer is **wry**, not the Chromium already on the phone; the first deliverable is a measured frame rate for the Cubism runtime in WebKit on freedreno, and if that fails the task stops there. Replaces ani-avatar's 2.5 GB of sprite states with one rig. Reference rig ships as the working placeholder and gets edited toward Annie — it just stays out of any public repo. Summoned by app launch and/or the radial dial, not always-on."
|
|
},
|
|
"58": {
|
|
"section": "Open",
|
|
"title": "Host power: the SMB2 OTG boost",
|
|
"file": "58-host-power-smb2-boost.md",
|
|
"left": "Host data works; the boost isn't. The SMB2 5 V boost exists in silicon and mainline's `qcom-smbx-charger` never registers it. Investigation first (which tree builds the running kernel, does smb2 touch the boost, does `qcom_pmic_typec` bind pmi8998), then vbus-supply + regulator + typec. Unlocks host-mode power, power-bank mode, and the Pi without a wall wart."
|
|
},
|
|
"57": {
|
|
"section": "Open",
|
|
"title": "The Pi dock head",
|
|
"file": "57-pi-dock-head.md",
|
|
"left": "Phone stays a gadget; the Pi 4 drives the monitor + dock. NCM link is default, Venus encoder is present, compositor capture landed — the unproven seams are `zwlr_screencopy` vs our own capture IPC, and the Pi's own bring-up (\"major malfunctions TBD\"). Four phases: Pi bring-up, static chain, real capture + udev trigger, input injection."
|
|
},
|
|
"56": {
|
|
"section": "Open",
|
|
"title": "The island, and the bar's honest face",
|
|
"file": "56-island-and-the-bars-honest-face.md",
|
|
"left": "Bar clears a region for sprawling notification banners, agent-controlled (Part A: design questions). Part B is buildable now: drop the LTE suffix, tap-to-cycle the carrier name (Fido → Casey → Fimeg), and a network-type indicator that shows the live connection instead of a wifi glyph that never reflects cellular."
|
|
},
|
|
"55": {
|
|
"section": "Open",
|
|
"title": "The hand's verbs: a window action sheet",
|
|
"file": "55-hand-verbs-on-the-glass.md",
|
|
"left": "**Sheet built and deployed 2026-08-05.** The tap carries its window now (the centroid was being dropped, which is why it could only reach the overview); `Kill` added because `Close` is a request a hung client never reads; `ViewtopControl.qml` is the shell's one path to the scene verbs. Split's chooser, Home-via-compositor, and Move-as-a-mode (`grab`/`drop`) all landed the same day; the three-finger **drag was deleted outright** — it beat the tap to nearly every gesture, and zones now move only when something says so. Left: a real resize handle, widgets on the cleared home zone, and shipping the drag-removal package (viewtop CI 1165 failed in checkout). Also surfaced a runtime-lock paint gap — black until the lockscreen draws, because only boot has a splash→glance→lockscreen chain."
|
|
},
|
|
"52": {
|
|
"section": "Open",
|
|
"title": "Atmosphere",
|
|
"file": "52-atmosphere.md",
|
|
"left": "Attention as a compositor capability — the fifteen-technique vocabulary. Two are **already landed** (`expose` is negative space, `pose` is gravity wells), and `compile_custom_pixel_shader` + `PixelShaderElement` are already in our smithay, so most of the rest needs no new machinery. Build the attention model and one clock **first**; fifteen uncoordinated animators is §1's blind actors in the render path."
|
|
},
|
|
"50": {
|
|
"section": "Open",
|
|
"title": "Her hand on the glass",
|
|
"file": "50-agent-hand-on-the-glass.md",
|
|
"left": "Every scene intent reaches the compositor now **except touch** — so she can move, scale, dim and close a window and cannot press anything inside one. The receiving end is built (`Origin::Agent`, the disjoint slot namespace, the evidence predicate); nothing calls it, so she still reaches touch through uinput, which is the exact conflation `input.rs` exists to prevent. Also owns the inverse mapping `pose` owes the hit test."
|
|
},
|
|
"51": {
|
|
"section": "Open",
|
|
"title": "viewtop to daily driver",
|
|
"file": "51-viewtop-to-daily-driver.md",
|
|
"left": "The punch list between *runs* and *stable*, all of it found by using the phone: windows stack with nothing to tell them apart, screen capture is written and unmerged (so no UI change can be verified), volume buttons are recognised and dropped, and five named holes that are one decision each."
|
|
},
|
|
"48": {
|
|
"section": "Open",
|
|
"title": "Shell dies on any reload that owes a lock",
|
|
"file": "48-lock-surface-reload-fatal.md",
|
|
"left": "Fully diagnosed 07-29, 11 crashes since 07-17. A reload re-requests ext-session-lock while the outgoing instance still holds it → `FATAL: Tried to show lockscreen surfaces without active lock`. **Sync with TASK-43 before touching the lock path.**"
|
|
},
|
|
"47": {
|
|
"section": "Open",
|
|
"title": "Auto-brightness: anchors, none of it built",
|
|
"file": "47-auto-brightness-anchors.md",
|
|
"left": "§12 reads as settled and has **zero** code behind its actuation half — no brightness `Action`, no anchors, `grep anchor src/` is empty. The evidence half (lux in, health tracked) is live."
|
|
},
|
|
"46": {
|
|
"section": "Open",
|
|
"title": "Camera: **the front camera works**",
|
|
"file": "46-camera-imx363.md",
|
|
"left": "**First frame captured 2026-07-29** on the running kernel — no reboot, no DT change. Both front IMX355 were already bound; nobody had tried streaming. Recipe + the stride/packing gotchas are in the task. Next: exposure controls, then libcamera. Rear IMX363 DT (`c7784b716`) still unbuilt but no longer the blocker."
|
|
},
|
|
"44": {
|
|
"section": "Open",
|
|
"title": "Fingerprint (FPC1020)",
|
|
"file": "44-fingerprint-fpc1020.md",
|
|
"left": "Piece 1 (wake source / input) is a session — DT + shim already extracted. Piece 2 (biometrics) is a TrustZone question, answer it before scheduling it."
|
|
},
|
|
"45": {
|
|
"section": "Open",
|
|
"title": "Haptics (CS40L20)",
|
|
"file": "45-haptics-cs40l20.md",
|
|
"left": "**First: which chip actually drives the motor** — `pmi8998_haptics` is what the dial's detents use today. Then port `cs40l2x` from Kirisakura; firmware blobs are committed."
|
|
},
|
|
"41": {
|
|
"section": "Open",
|
|
"title": "Producers must be attested",
|
|
"file": "41-attested-producers.md",
|
|
"left": "Design first. Demonstrated live 07-28 — a squeeze and a dial-open both accepted from an SSH shell."
|
|
},
|
|
"36": {
|
|
"section": "Open",
|
|
"title": "CHRE nanoapp host for the SLPI",
|
|
"file": "36-chre-nanoapp-host.md",
|
|
"left": "Three methods to add; method table recovered 07-27. No longer on grip's critical path — wanted for DozeDeep detection and `elmyra_haptics_control`."
|
|
},
|
|
"34": {
|
|
"section": "Open",
|
|
"title": "SLPI FastRPC session wedge",
|
|
"file": "34-slpi-bringup-sequencing.md",
|
|
"left": "Re-diagnose. The real symptom: a DSP session survives its host daemon's death and only a cold boot clears it. **No longer blocks grip.**"
|
|
},
|
|
"3": {
|
|
"section": "Open",
|
|
"title": "Boot timing: splash → lock",
|
|
"file": "03-boot-timing-splash-to-lock.md",
|
|
"left": "The EBUSY handoff race is the last timing bug. Splash text killed, holder added."
|
|
},
|
|
"7": {
|
|
"section": "Open",
|
|
"title": "WCD9340 mic",
|
|
"file": "07-mic-wcd9340-slim-tx.md",
|
|
"left": "Functional and in daily STT use. One defect: the permanent sysclk + MICB2 power pin. Kernel branch `mic-race-fix`."
|
|
},
|
|
"9": {
|
|
"section": "Open",
|
|
"title": "Suspend-resume FTS calibration race",
|
|
"file": "09-suspend-resume-fts.md",
|
|
"left": "Kernel-side real fix; interim fix shipped. Cold-boot only."
|
|
},
|
|
"12": {
|
|
"section": "Open",
|
|
"title": "Face auth as a capability factor",
|
|
"file": "12-gaze-reference-face-auth.md",
|
|
"left": "Per-target. Phone needs front-camera bring-up — **that is TASK-46's IMX355 half.**"
|
|
},
|
|
"17": {
|
|
"section": "Open",
|
|
"title": "Keyboard + dictation polish",
|
|
"file": "17-keyboard-stevia-dictation.md",
|
|
"left": "Dictation works in daily use. Open: no word completion (`en-us` vs `en_US`) and the stateful mic-key indicator is written but not built. Layout moved to TASK-24. **TTS now exists** (`10.10.20.123:7863`)."
|
|
},
|
|
"18": {
|
|
"section": "Open",
|
|
"title": "Selection/highlight action menu",
|
|
"file": "18-selection-menu.md",
|
|
"left": "Component first, fluid before functional. **Read Aloud is unblocked** — TTS is live."
|
|
},
|
|
"20": {
|
|
"section": "Open",
|
|
"title": "Player: video + agent control",
|
|
"file": "20-player-video-agent.md",
|
|
"left": "Video, snapshot, manifest. Preserve the music path."
|
|
},
|
|
"21": {
|
|
"section": "Open",
|
|
"title": "Reboot-to-Android confirmation",
|
|
"file": "21-reboot-android-confirmation.md",
|
|
"left": "Scoped 07-22. A one-tap irreversible slot flip still sits bare in app search."
|
|
},
|
|
"23": {
|
|
"section": "Open",
|
|
"title": "culver locked-notification nudge",
|
|
"file": "23-culver-locked-notification-nudge.md",
|
|
"left": "Needs `SyncBurst()` + an IdleCoordinator schedule (TASK-15)."
|
|
},
|
|
"24": {
|
|
"section": "Open",
|
|
"title": "Keyboard layout rethink",
|
|
"file": "24-keyboard-layout-rethink.md",
|
|
"left": "Redesign from scratch, not more patches. Start from squeekboard `us+apple`. Casey decides where the mic key goes."
|
|
},
|
|
"27": {
|
|
"section": "Open",
|
|
"title": "Gitea pipeline audit",
|
|
"file": "27-gitea-pipeline-audit.md",
|
|
"left": "The fixes. Overlay is not a package; no `primary` branch; poisoned build sysroot."
|
|
},
|
|
"32": {
|
|
"section": "Open",
|
|
"title": "Pill and keyboard as owned apps",
|
|
"file": "32-pill-and-osk-as-apps.md",
|
|
"left": "Both erroneous daily; neither has an owner or a shipping story."
|
|
},
|
|
"33": {
|
|
"section": "Open",
|
|
"title": "Battery belongs to the state machine",
|
|
"file": "33-battery-as-device-state.md",
|
|
"left": "Last raw feed going straight to the glass. The charge ceiling is writable today."
|
|
},
|
|
"37": {
|
|
"section": "Open",
|
|
"title": "\"Back\" as a first-class verb",
|
|
"file": "37-navigation-back-verb.md",
|
|
"left": "Our `Gestures.qml` is already the compositor half; `can_go_back` is the dial's enabled/reason."
|
|
},
|
|
"38": {
|
|
"section": "Open",
|
|
"title": "Pill swipe-to-max swaps the keyboard",
|
|
"file": "38-pill-swipe-osk-swap.md",
|
|
"left": "Micro. The only route to a terminal keyboard since stevia dropped its layout."
|
|
},
|
|
"39": {
|
|
"section": "Open",
|
|
"title": "Audio levels as tracked state",
|
|
"file": "39-audio-levels-as-state.md",
|
|
"left": "Open policy: roles, defaults, lock tiers, and state-driven profile intent. WirePlumber persistence works; do not add a second writer."
|
|
}
|
|
},
|
|
"rollup": {
|
|
"by_dimension": {
|
|
"identity": {
|
|
"commits": 14,
|
|
"repos": [
|
|
"souveraine",
|
|
"SouveraineOS"
|
|
],
|
|
"authors": [
|
|
"casey.tunturi@gmail.com"
|
|
],
|
|
"declared": 3
|
|
},
|
|
"unassigned": {
|
|
"commits": 14,
|
|
"repos": [
|
|
"SouveraineOS"
|
|
],
|
|
"authors": [
|
|
"casey.tunturi@gmail.com",
|
|
"Casey@SamaritanSolutions.net",
|
|
"casey@samaritansolutions.net"
|
|
],
|
|
"declared": 2
|
|
},
|
|
"surface": {
|
|
"commits": 119,
|
|
"repos": [
|
|
"SouveraineOS",
|
|
"souveraine-viewtop",
|
|
"souveraine",
|
|
"Pixel3Arch",
|
|
"smithay"
|
|
],
|
|
"authors": [
|
|
"casey.tunturi@gmail.com"
|
|
],
|
|
"declared": 5
|
|
},
|
|
"release": {
|
|
"commits": 14,
|
|
"repos": [
|
|
"Pixel3Arch",
|
|
"SouveraineOS"
|
|
],
|
|
"authors": [
|
|
"casey.tunturi@gmail.com"
|
|
]
|
|
},
|
|
"runtime": {
|
|
"commits": 14,
|
|
"repos": [
|
|
"souveraine",
|
|
"SouveraineOS",
|
|
"Pixel3Arch"
|
|
],
|
|
"authors": [
|
|
"casey.tunturi@gmail.com",
|
|
"Casey@SamaritanSolutions.net",
|
|
"casey@samaritansolutions.net"
|
|
],
|
|
"declared": 2
|
|
},
|
|
"sensorium": {
|
|
"commits": 20,
|
|
"repos": [
|
|
"souveraine",
|
|
"Pixel3Arch",
|
|
"SouveraineOS"
|
|
],
|
|
"authors": [
|
|
"casey.tunturi@gmail.com"
|
|
],
|
|
"declared": 6
|
|
},
|
|
"reliability": {
|
|
"commits": 1,
|
|
"repos": [
|
|
"souveraine-viewtop"
|
|
],
|
|
"authors": [
|
|
"casey.tunturi@gmail.com"
|
|
]
|
|
},
|
|
"adoption": {
|
|
"commits": 2,
|
|
"repos": [
|
|
"SouveraineOS",
|
|
"Pixel3Arch"
|
|
],
|
|
"authors": [
|
|
"casey.tunturi@gmail.com"
|
|
]
|
|
},
|
|
"memory": {
|
|
"commits": 3,
|
|
"repos": [
|
|
"souveraine",
|
|
"SouveraineOS"
|
|
],
|
|
"authors": [
|
|
"casey.tunturi@gmail.com"
|
|
]
|
|
}
|
|
},
|
|
"ci": {
|
|
"souveraine": {
|
|
"runs": 68,
|
|
"success": 33,
|
|
"failure": 10,
|
|
"other": 25,
|
|
"newest": {
|
|
"id": "ci:souveraine:1259",
|
|
"conclusion": "success"
|
|
}
|
|
},
|
|
"souveraine-viewtop": {
|
|
"runs": 37,
|
|
"success": 32,
|
|
"failure": 4,
|
|
"other": 1,
|
|
"newest": {
|
|
"id": "ci:souveraine-viewtop:1234",
|
|
"conclusion": "success"
|
|
}
|
|
},
|
|
"Pixel3Arch": {
|
|
"runs": 36,
|
|
"success": 24,
|
|
"failure": 12,
|
|
"other": 0,
|
|
"newest": {
|
|
"id": "ci:Pixel3Arch:1256",
|
|
"conclusion": "failure"
|
|
}
|
|
},
|
|
"smithay": {
|
|
"runs": 2,
|
|
"success": 2,
|
|
"failure": 0,
|
|
"other": 0,
|
|
"newest": {
|
|
"id": "ci:smithay:1207",
|
|
"conclusion": "success"
|
|
}
|
|
}
|
|
},
|
|
"issues": {
|
|
"open": 6,
|
|
"opened_this_week": 0,
|
|
"closed_this_week": 0,
|
|
"ever_closed": 0,
|
|
"oldest_open": "i:SouveraineOS:3",
|
|
"oldest_open_days": -4
|
|
},
|
|
"pulls": {
|
|
"open": 2,
|
|
"merged_this_week": 0,
|
|
"oldest_open_days": 24
|
|
},
|
|
"releases": {
|
|
"cut_this_week": [],
|
|
"newest_age_days": 12
|
|
},
|
|
"dimension_basis": {
|
|
"paths": 158,
|
|
"none": 14,
|
|
"subject": 19,
|
|
"repo": 10
|
|
}
|
|
}
|
|
}
|