August 10, 2026
38 public commits · 6 public repos · 303 private commits
- Private work 13 repos sealed
303 commits and 1 forge event count toward the day. Names, subjects, and links stay private.
- SouveraineOS 14 changes
- 11:42 p.m. · fff0618
- 11:31 p.m. · a02d3a4
- 11:17 p.m. · 5cf7bbc
- 11:09 p.m. · 3840922
- 10:55 p.m. · a1931fd
- 10:35 p.m. · dee46a6
- 9:55 p.m. · 00489c9
- 8:57 p.m. · 22adbe1
§2 closed, §3 built and half-accepted: the split reaches the message and serialises, but no test asserts it and no surface renders it. §1's config change is recorded as mine, not Casey's word. Run 1283 green, r399 shipped to edge and running on the laptop; the phone has not pulled it.
- 8:46 p.m. · a1c184d
- 8:09 p.m. · 9b54eb4
- 7:39 p.m. · f4683a6
The config hands the subconscious sliding_window where the doc and the code default both say sliding_reflect, and the memory tool exposed the blind strategy while hiding the safe one.
- 5:00 p.m. · 6cc89ef
- 4:53 p.m. · d1312cb
- 3:46 p.m. · 287acdf
Measured once: reply commits and PrimaryComplete fires, then the N+1 pass stops at round 3 of 10 with a fully idle runtime. The pass runs inside run_turn, so tx never drops and the SSE stream never closes. Lead is the todo tool. Stream lifetime is a separate fix.
- souveraine 14 changes
- 11:04 p.m. · ec87e6a
- 11:04 p.m. · aaea09f
The composed config is symlinked into the repo and quickshell reloads on write, so an agent editing QML edits the live shell mid-turn. Stage changes as patches instead; the human applies and reloads on their own beat.
- 10:50 p.m. · ce6741b
- 10:35 p.m. · 28ed6f2
- 10:27 p.m. · 3175700
The Err branch surfaced the same 'no anomalies detected' text as the success path, at Low urgency. A subconscious erroring on every turn was indistinguishable from one noticing nothing. The only record of the real cause was a tracing::warn on a stderr whose socket has no reader.
- 9:41 p.m. · 29ec9fe
The reload killer: FileView under a QtObject root — QtObject has no default property, so the whole service tree failed to compile. Every working service singleton roots in Quickshell's Singleton type.
- 9:24 p.m. · cb7dd73
The vault card lives where notifications were — header with sync pill (clean/ahead/behind/dirty), today's note entry, five freshest notes, cold start and push rows — over the notification list. Lens.qml owns souveraine-lens the way Face owns the rig: one socket, event lines up, no vault access of its own. Kiyoshi's slash grammar and tool registry are noted for the fuller app; the micro view only opens and plants.
- 8:46 p.m. · 658217e
- 8:10 p.m. · 902a724
- 7:35 p.m. · 6eda491
a10ef5e added the counters and nothing read them — assistant_with_usage had zero callers, so ConversationMessage.usage was always None and the only proof caching worked was a grep. The turn now sums usage across its rounds and commits it with the reply, and the per-round log carries the split on every provider rather than only the Anthropic bridge.
- 2:36 p.m. · 30e1c34
Subconscious, reflection and archivist each pick a model independently of the primary, then took the primary's provider to run it on. A subconscious on deepseek-v4-flash under a claude-subscription primary was sent to api.anthropic.com asking for a model it has never heard of, so a split like Opus-5 primary with a DeepSeek subconscious could not work at all.
- 2:24 p.m. · eee26fc
A finished text response arriving with a queued interjection was pushed nowhere: not streamed, not added to messages, and overwritten in final_content on the next round. The surface showed nothing and she answered the interjection blind to what she had just said. It now streams, enters history, and is carried into the single commit.
- 1:33 p.m. · dfc89d0
A cache hit and a short prompt are indistinguishable from outside; this provider logged nothing per request at all, which is how an uncached bridge went unnoticed across 93 turns.
- 1:33 p.m. · a10ef5e
No cache_control was ever set, so tools, system and the whole transcript were charged in full on every round. Breakpoints now sit on the tail of each stable span; message content is always a block array so the marked tail cannot change the prefix bytes as it moves.
- souveraine-lens 4 changes
- 9:19 p.m. · d0f2fab
The sidebar asks, the lens answers on the same line protocol: state returns the freshest notes and the git truth (ahead/behind now read from git status -sb); open drives the page by name; create plants a note and refreshes the page. Page gains thin __lens.open/refresh/sync/create wrappers so the shell never speaks page internals.
- 8:30 p.m. · c2830ab
serve_ipc from the rig's discipline (stale-socket unlink, parent dir created); shell evals run in the page; page events leave as stdout lines the sidebar can hear. The vault stays the one thing with no other readers.
- 8:12 p.m. · forge event
- 8:11 p.m. · 531e7e7
vault walker (frontmatter, wikilinks, graph), embedded page with a hand-rolled force layout, ipc bridge with no server connection, autocommit on save, house ci gates.
- 9:19 p.m. · d0f2fab
- Pixel3Arch 3 changes
- 10:35 p.m. · e06aa70
- 8:46 p.m. · f52a57b
- 8:12 p.m. · 5927aa7
- souveraine-viewtop 3 changes
- 7:32 p.m. · f45f459
- 4:39 p.m. · f49af4a
- 11:39 a.m. · 72608e9
build_planes documented a wait it never performed, so with no exportable fence the atomic commit raced the renderer into the scan-out buffer. That is the tearing on the d10: simpledrm has no syncobj, supports_fencing is false, and nothing held the flip while llvmpipe was still writing.
- smithay 2 changes
- 12:53 p.m. · forge event
- 11:36 a.m. · e57116a
build_planes already documented this: with no exportable fence, or a surface that cannot fence at all, the sync point has to be waited on. It never was, so the atomic commit raced the renderer into the scan-out buffer. Tears on simpledrm + llvmpipe, where supports_fencing is false and nothing held the flip.