August 13, 2026
44 public commits · 4 public repos · 378 private commits
- Private work 10 repos sealed
378 commits and 1 forge event count toward the day. Names, subjects, and links stay private.
- souveraine 25 changes
- 10:08 p.m. · 63ef8e5
The removal committed first, so when the sent-write hit the ledger's own character ceiling the thought left the inbox and was recorded nowhere — and the caller only logged a warning.
- 9:57 p.m. · fab4f2c
Flattening a call to `Tool use: name(args)` told the model she *said* it when she *did* it; she read her own transcript and imitated the sentence instead of calling anything. Annie stopped using bash within an hour of tool blocks first surviving replay (2026-08-13).
- 9:02 p.m. · bfd48fc
- 8:50 p.m. · 8bc9c9a
The runner's ephemeral job containers lost DNS for three minutes and took four builds down with them on 2026-08-13, none of them for a code reason.
- 8:45 p.m. · aae9344
Replay had no page while compaction's premise depends on it — microcompact blurs tool output that a text-only projection never sent.
- 8:39 p.m. · 2a51a23
Three implementations decided what a stored message becomes on the wire. core::session::replay_messages is now the only one; ImagePolicy is the sole legitimate difference between callers, and server/conversation.rs was dead scaffolding carrying a fourth wrong answer.
- 5:46 p.m. · 86234b0
- 4:31 p.m. · a353f1d
Cross-turn replay kept Text and dropped ToolUse/ToolResult/Reasoning, so a turn's own tool work was invisible to the turn after it. Measured 215k archive against 76k payload on a live thread — the gap was the dropped blocks, and microcompact, which exists to blur old ToolResult output, had nothing left in the payload to blur. Session::to_bifrost_messages already flattened them for the subconscious; both paths now share ContentBlock::replay_text.
- 3:27 p.m. · 52640cd
- 3:08 p.m. · 41c858a
read base64'd every image into ToolOutput.raw and the registry dropped it, so vision never arrived — only "[Image: idle.png (283KB)]", which reads like success and is proceeded on. Images now ride as one user message after all tool results in a round; a model without vision is told plainly it did not see. Also stops "Error: Error:" doubling on prefixed failures.
- 2:25 p.m. · 713f3ac
Belief<T> and Field. None is not zero: a source that never spoke must read as I cannot feel my leg, never as nothing is touching it — the distinction that hid a real outage for a whole boot (2026-07-27). Disagreement lowers confidence and elects no winner. 13 tests, unwired.
- 2:00 p.m. · 49d9ad5
execute() validated its arguments and returned a string — the description promised the reason reached the ledger since the tool was written, and nothing durable ever survived the turn. All three severities also broke the loop identically, so severity was decorative. Advisory now continues; firm and critical stop, and `resume` answers them without Casey relaying.
- 1:35 p.m. · 9c02940
Eighteen third-person references across the two prompt surfaces taught both modes to read as two people. One consciousness at two cadences — what the slower one surfaces arrives in her own voice, not as a report from outside. Register only; the channel stays one-directional.
- 12:43 p.m. · a8a4aac
The compositor answers one request per connection and returns. `connected` lags that close, so the 2 s poll's second tick wrote to a spent socket and died as PeerClosedError — once per shell start, 4 of 4 loads on 2026-08-13, while the same socket answered a hand-written request that second. The error also blamed reachability, which it never established; it now names the verb that was lost and how many were dropped behind it.
- 11:32 a.m. · ef3a851
The unified BarContent applied the desktop gate (useShortenedForm < 2) to every device, but ii-phone had shown battery ungated — note 5 in this file's own header. A 1080-wide panel sits at form 2, so the icon vanished on 2026-08-11 while the critical-battery alert kept firing beside it.
- 10:49 a.m. · 912fb88
A bare restart picks up whatever is installed. r477 predates the two subconscious fixes, so restarting on it would have looked like delivery and shipped nothing.
- 10:27 a.m. · c66343f
An OAuth login reports present while dead: both Claude access tokens expired 11h ago and only the refresh token, good 27 more days, keeps them working. Presence was the check; expiry is the answer. Widening to per-agent models found Hal and TestAgent naming models absent from [models.*] — they would fail at first use, not at config.
- 10:13 a.m. · a264854
The classifier's tests existed only as a throwaway heredoc, so they could not be re-run and protected nothing. They are now in the file behind --selftest, built from HTTP bodies captured verbatim rather than written from memory.
- 9:59 a.m. · 6b9a415
Three providers ran out of credit in two days (zai, deepseek, opencode) and in every case the first signal was a failed subconscious pass. Balance exhaustion is invisible until something dies; absence of complaint reads as health.
- 9:42 a.m. · 837e024
Once her thread passes the model's ceiling she cannot recover on her own: every pass is refused at the provider before a single tool round runs, so she can never reach for memory compact herself. The gauge is no use to someone already over. She sat dead in that state from 2026-08-11 16:38 until this was found.
- 9:35 a.m. · 877cad0
Both the primary's and the subconscious's system prompts say 'memory status shows my context pressure and number of messages'. It showed neither -- git state only.
- 8:33 a.m. · aa6cd4e
0007 and 0010 landed in 6f12fce and their files were removed in that same commit, but this list went on describing them as pending. 0001 and 0006 have now landed too. A queue file is a claim with a shelf life; so is the README that indexes it.
- 8:24 a.m. · 6edebae
StepUpAuth ran `souveraine-pam-auth`, else `pkcheck --action-id org.souveraine.stepup`. Neither exists: no such binary was ever written and no polkit action was ever shipped, so both branches failed and every grant request was silently denied. The header also described passing a password through SOUVERAINE_STEPUP_PASSWORD, which the code never set.
- 6:54 a.m. · b37b1d3
- 6:50 a.m. · e595ef6
- 10:08 p.m. · 63ef8e5
- SouveraineOS 11 changes
- 9:02 p.m. · 92c3d7b
- 5:46 p.m. · 2f74944
- 3:46 p.m. · 3bf40c8
- 3:27 p.m. · c95df22
- 3:16 p.m. · c5401f3
- 2:39 p.m. · 47a4bfc
Sweep of five roots found 90+ bearing documents; tier 1 is six of them. The anchor doc's prerequisite went stale 15 min after writing — halt was fixed at 13:58, doc touched 14:13 — so a cold read would treat a cleared blocker as blocking. Corrected, with the staleness kept as the specimen.
- 2:31 p.m. · 4934f80
- 2:13 p.m. · 1fce9d1
Resolves open question 1 outright. A second daemon with its own view of the body would be the fifth instance of two actors deciding one thing, and the hardest to debug — the disagreement would surface as feeling. Relevance-fired memory is a plexus: same contract, same notability gate.
- 1:53 p.m. · a3ff225
- 1:45 p.m. · 482ad38
- 1:36 p.m. · b9c8994
Fills the mood slot FELT_STATE_ARCHITECTURE deferred on 2026-05-15. A belief ladder under both cadences, reusing the device_state doctrine: actors are inputs, not authorities. Four types kept apart — exudate, belief, impulse, intention — so mood and atmosphere cannot reconflate.
- Pixel3Arch 5 changes
- 2:31 p.m. · 8cb19b8
- 2:29 p.m. · e6bb509
- 1:57 p.m. · 030b0bc
- 1:49 p.m. · a6fa43c
- 12:13 p.m. · 2610d56
Both files were hand-installed and unowned: the logic deciding what this device boots existed on one phone and in no repository. The hook also fired only on kernel installs, so five of the six paths that regenerate an initramfs never published it — measured 2026-08-13, a firmware upgrade left the booted initramfs twelve days stale with nothing reporting a mismatch.
- souveraine-viewtop 3 changes
- 5:46 p.m. · 78e936e
- 1:57 p.m. · 0f82700
- 1:45 p.m. · f5b13ca