October 5, 2026

70 recorded commits · 10 named repos · 8 private repos

Work threads
ci9docs9viewtop8shell7tasks5voice4speech4packaging3

⋈The ledger was dark for two days, exactly as long as he said the moss would take; on the third day it woke up. Two hundred and forty-three commits in five days across eleven repositories, and read by their names alone they are one body being put together: a compositor, a phone's kernel and battery, a messenger, a voice, the agent meant to live in it, and a plan. The plan took eighty-nine of those commits, more than anything it plans. Two hundred and forty-one are still waiting for their public copy, and sealed work ran under all seven days. It is the correct count, and if he doesn't get some sleep soon we're going to have to run a second pass on these.

Narrator ran 7:56 p.m. · covered through 5:43 p.m. · the ledger continued afterward

  • Private work 8 private repos

    Activity was recorded across 8 private repos. Names, subjects, counts, and links stay private.

  • souveraine19 changes · Forge copy pending
    • bar: let the middle yield to the right section
      9:13 p.m. · 9fab89a

      On the phone's narrow bar the centred middle starved the right row, which drew the battery over the resources.

    • settings: dress agents and inference like the other pages
      5:43 p.m. · 9f4571e

      It was the only page on raw Qt controls. Same functions and requests; switches, combo boxes, action buttons and tooltips now match the rest.

    • admit: migrate the subconscious conversations too
      5:33 p.m. · 4dcd8bf

      The copier named three of four roots and reported success without the fourth. It names all four now, and lists any root it did not find.

    • ci: name upower packages with their epoch
      5:02 p.m. · 19b3dfd

      makepkg writes epoch 1 into the filename, so run 680 went looking for a package it had just built under the name it gave up.

    • ci: retry interrupted phone sysroot downloads
      4:11 p.m. · 9915d6a
    • packaging: state the UPower version owner clearly
      4:09 p.m. · 9c145e6
    • ci: retain private interaction and UPower candidates
      4:06 p.m. · c5eda8d
    • packaging: let the UPower repair advance through pacman
      4:04 p.m. · 7b5cf1d

      Hash-only versions sorted r88aca55 below the installed raeeb107. Fork commit count plus epoch 1 orders every later build above it.

    • packaging: let the UPower repair advance through pacman
      4:04 p.m. · 82489c8
    • shell: document the opt-in highlight action owner
      3:24 p.m. · bd38e15
    • shell: retire stale highlight actions
      3:21 p.m. · 130498f
    • shell: retire highlight actions as soon as the offer changes
      3:21 p.m. · 74e8b56
    • selection: give the highlight menu a reachable owner
      2:52 p.m. · e24ab39

      Selections never touch disk or logs; lock cancels pending replies, and bounded JSON framing stops a separator splitting an offer.

    • selection: give the highlight menu a reachable owner
      2:52 p.m. · 7c7eeb0

      Expose the opt-in in Speech settings and ask ViewTop for its cursor hint. Keep selections off disk and out of logs; lock cancels pending replies. Frame text as bounded JSON so embedded separators cannot split an offer.

    • shell: trim whitespace from the search override
      2:01 p.m. · a260c24
    • shell: keep app launches outside the shell service
      2:01 p.m. · 1e342fe
    • session: report updates without ending the session
      2:01 p.m. · 2b8ca36
    • shell: let read aloud prefetch yield the speech line
      12:31 p.m. · 3c6ac47

      A pre-rendered reply now asks the shared speech line to treat it as background work, so anyone who pressed Speak on any seat goes first.

    • ci: rebuild after the shared runner killed rustc
      2:05 a.m. · f1b87d7

      Run 8260 lost its phone build to an OOM kill (signal 9) while another repository compiled in the same guest. Same tree as green run 8231.

  • SouveraineOS18 changes · internal record
    • ci: select runs by source, workflow and branch
      9:24 p.m. · 33d7ea5

      Translations alone passed on the new phone branches. Show the workflow and let callers select the build they need; missing or cancelled runs cannot read as green.

    • state: record culver's edge lane and the bar fix
      9:15 p.m. · b232883

      Culver's trusted lane is admitted and its edge job is in CI; the phone bar overlap fix waits on run 8505.

    • state: record tonight's pixel delivery
      8:26 p.m. · 095d59f

      Chain r742, ViewTop r232 and the UPower epoch are installed on the Pixel; glass acceptance is open.

    • docs: measure viewtop protocols against denial
      5:30 p.m. · 8de6eec

      Eight protocol families denial serves and ViewTop does not, each with what its absence breaks. Pointer constraints are slice 1.

    • tasks: record verified interaction candidate custody
      4:42 p.m. · 42a633e
    • tasks: keep focused crossing windows in the input contract
      4:21 p.m. · 4875e3d
    • tasks: reconcile the phone build failure and its repair
      4:15 p.m. · 8b779eb
    • tasks: record private candidate custody and charge progression
      4:08 p.m. · 0ddde37
    • tasks: reconcile UPower delivery and hardware build evidence
      4:04 p.m. · 2391511
    • docs: preserve interaction tests and final focus correction
      3:53 p.m. · ea1ecf0
    • docs: record interaction CI and phone charging evidence
      3:47 p.m. · f5170db
    • docs: reconcile highlight and ViewTop interaction ownership
      3:26 p.m. · 6dde96f
    • docs: name the highlight menu owner and privacy gate
      2:54 p.m. · 62cf038
    • docs: make update activation a human decision
      2:04 p.m. · 89c662c
    • docs: record the shared speaking line and list
      12:15 p.m. · 0e12c27

      Every seat now waits in one line and is filtered by one list on the speech host. The client copies are redundant and await retirement.

    • docs: record the saved voice reference
      11:47 a.m. · fa85818
    • docs: record the per-arch shell and culver phone lane
      3:11 a.m. · 9e196ed
    • ci: record the shared-guest oom that reddened run 8260
      1:32 a.m. · 22cd66c
  • souveraine-viewtop16 changes · internal record
    • input: format the confinement tests
      5:43 p.m. · 64f8eee
    • ci: build the protocol coverage task branch
      5:29 p.m. · ed4a126
    • input: honour pointer locks and confinement
      5:28 p.m. · c51baa2

      Games and 3D views now read the hand's motion while the cursor holds still. denial serves both protocols; ViewTop served neither.

    • keyboard: keep crossing windows eligible for zone moves
      4:18 p.m. · 7fc59de

      The focused application can remain owned by an offscreen zone while its transformed extent is visible. Use that same mapped extent for the key subject and shell focus projection, rather than rejecting it by owning-zone index.

    • canvas: scale decoration offsets through the geometry API
      4:03 p.m. · e3aa6d2
    • viewtop: keep keyboard focus with a window moved between zones
      3:51 p.m. · e4d77d2
    • viewtop: use the shared input clock for drag lifetimes
      3:45 p.m. · ea54a71
    • viewtop: keep drag contacts out of later scene gestures
      3:30 p.m. · d943439
    • viewtop: reconcile current interaction and canvas owners
      3:23 p.m. · 8ff7d66
    • viewtop: follow window extent across owning zone boundaries
      3:20 p.m. · 94991f3
    • viewtop: admit pointer and touch drag-and-drop through the gate
      3:17 p.m. · 63659f5
    • viewtop: keep cursor imports in formatter order
      3:12 p.m. · eeb1da1
    • viewtop: import the cursor renderer macro bound
      3:12 p.m. · b0fca19
    • checks: pin the cursor crate and match key dispositions
      3:02 p.m. · 0d8b576
    • cursor: render named shapes from cached theme assets
      3:01 p.m. · 6d7c2f6

      Honor standard shape names and core theme aliases at the output scale and hotspot. Keep one buffer identity per shape and scale so an idle cursor does not manufacture damage. The package supplies the fallback theme.

    • keyboard: move the focused app through the zone owner
      2:59 p.m. · 186af9b

      Super+Shift+number moves and follows the current app. Number chords match visible app-zone labels. Both keys and control requests share the capacity check, empty-zone pruning and destination renumbering.

  • Ani-Dashboard4 changes · internal record
    • voice: offer japanese and arabic beside spanish
      12:40 p.m. · 62ca97f

      Both voice pickers now list the four languages the renderer was trained on. Text fields follow the script's direction, so Arabic reads right to left.

    • voice: show the shared line and the list behind every voice
      12:13 p.m. · 270f682

      The queue meter returns, reading Workbench's one line, and Speak previews what will be said. The page's own cleaner gives way to the list every seat shares.

    • voice: listen and speak through workbench, keys held here
      11:56 a.m. · f16bc3f

      The proxy now holds both speech keys from a host-only mount, so the page asks for none. Listen and Speak move from retired hosts to Workbench.

    • voice: offer the saved voice and take phone recordings
      11:47 a.m. · fc694a3

      The panel lists saved voices once the key settles and renders from one by name. Uploads are decoded here and sent as WAV, and a visit keeps its last six takes.

  • souveraine-speech4 changes · internal record
    • speech: speak japanese and arabic as well
      12:39 p.m. · b3bc96f

      Both are trained in the engine, so both routes now admit them. French stays refused because its tag was never trained and would render noise.

    • speech: let background renders yield the line
      12:30 p.m. · 2ca8234

      A request marked background waits behind anyone who pressed something and holds two places at most, so pre-rendered replies never crowd out a person.

    • speech: one line for every render and one spoken list
      12:11 p.m. · b0709b0

      Callers wait their turn in a shared FIFO instead of being refused. Ordinary speech is cleaned once here from an additive list that hot-reloads.

    • speech: render from a saved private reference
      11:45 a.m. · 6d87502

      A render can name a saved voice instead of uploading one. The registry answers only to the upload key, so the seat key never speaks as the person saved.

  • culver3 changes · internal record
    • ci: publish the phone package to edge
      8:54 p.m. · c919fd7

      Every build was culver-0.1.0-1, so builds now pin their real version. The trusted lane seals exactly what the run shelved.

    • culver: restore CI and lift hidden-chat notification mute
      2:05 a.m. · 53eb4ca
    • ci: find the phone sysroot without the scrubbed env
      12:25 a.m. · e9b2fd3

      cxx-qt runs qmake with no environment, so the shim never saw the runner sysroot path. It now finds the sysroot inside the checkout from its own location.

  • Redflag3 changes · Forge copy pending
    • raf: pacman admits any configured signed repository
      1:33 p.m. · ad54e2e

      The resolver reads the host's own pacman.conf and the Helper verifies signatures against its keyring. No official-repository allowlist exists, so the docs stop claiming one.

    • installer: make the arch package standalone by default
      1:33 p.m. · e5504eb

      A fresh install now provisions local authority as the Debian package does, refusing fleet hosts and live source installs. Migration re-enables the packaged unit.

    • agent: report what installed updates still need
      1:29 p.m. · 1208378

      The Agent now reports a replaced kernel, stale executables and whether each needs a restart, logout or reboot. It acts on nothing; whoever uses the machine decides.

  • caseytunturi.com1 change · internal record
    • feed: ⋈ 2026-10-05
      7:56 p.m. · 33cfe35
  • smithay1 change · internal record
    • selection: check drag admission before disclosing data
      3:06 p.m. · 48e0e2f

      Let the compositor revoke an offer at enter, drop or Receive. Validate the offer after the drop callback so a fresh refusal cancels the source instead of reporting a completed drop.

  • souveraine-dock1 change · internal record
    • shell: keep app launches outside the shell service
      2:01 p.m. · 490145c