August 12, 2026
34 public commits · 3 public repos · 350 private commits
- Private work 11 repos sealed
350 commits count toward the day. Names, subjects, and links stay private.
- souveraine 30 changes
- 9:11 p.m. · 764a4b8
Was Text-only, blind to tool_use/tool_result/reasoning — ~74% of a real thread. This is the number behind the 80/90/95 tier warnings and the archivist's emergency trigger, so both fired late or not at all.
- 8:30 p.m. · 5251572
The tooltip claimed 'Archivist begins compacting around 70%'. The archivist does not compact. It reads journal/ and writes system/synthesized/ - a different substrate from the conversation entirely (core/archivist/mod.rs:5).
- 8:12 p.m. · 57e53ad
- 7:50 p.m. · 6f12fce
0007 was fixing a live error: the server has carried named ContextPressure fields since r463, so event.tokens was undefined and the pill assignment failed on every turn. Applied and verified against the running shell.
- 7:37 p.m. · 0733bfa
- 6:55 p.m. · e50ddee
- 6:50 p.m. · 29f8475
migraine_text built a felt sentence in her own register, pushed it onto the Bifrost message vec, and then `break` exited the loop — no further completion call, vec dropped. Correct wording, correct voice, delivered nowhere.
- 6:50 p.m. · 7530d6d
Three counters measured the same conversation and disagreed 5.6x: the /tokens endpoint said 315,487, the throttle ~200,000, and the compaction engine 56,361. Same TokenCounter, three different notions of what a block weighs, no labels anywhere.
- 5:39 p.m. · b9f404c
- 4:58 p.m. · 715080b
Tokens are fixed-length, so a rotation changes neither size nor same-tick mtime — the stamp missed real swaps and flaked CI.
- 4:45 p.m. · 16587b7
`credential_files` holds them all; a 429 with retry-after over a minute takes the next login and retries at once. Sticky — a swap abandons the cached prefix, so short bursts are waited out where the cache lives.
- 4:15 p.m. · f4837c5
Logging out and into a second account rewrites the file with a token that is neither expired nor spent, so no refresh fires and nothing re-reads the disk — the provider keeps answering as the account that was left. Measured 2026-08-12: server up 10:55, file rewritten 15:20, 429s from 15:22 while the on-disk token returned 200 to the same request.
- 2:54 p.m. · b56635e
Verified against a running shell rather than a clean load, which immediately found two faults every prior gate had called clean. Both controls dropped from 0008 recorded as decisions so a later session does not restore them.
- 2:51 p.m. · 44acb11
Both were live in the running shell and invisible to every check that ran before it. Found by reading the shell's log after Casey applied.
- 2:50 p.m. · 93fe30a
Applied 0009 then 0008 (0008's re-synthesize control calls a function 0009 adds). Casey applied and reloaded; verified against a running shell rather than from a clean load.
- 2:12 p.m. · cb3785b
The queue section claimed 0001-0004 were all unapplied. Verified with git apply --check in both directions: 0003 landed as 8c434df, 0004 as 23cebc5, and 0002 can no longer apply at all.
- 1:55 p.m. · ba13d56
0008 was blocked because the owned delegate carried none of the vendor's seven message controls. df11bba carries five and drops two deliberately; the header now records which and why rather than only lifting the warning.
- 1:50 p.m. · df11bba
Vendor AiMessage exposed seven controls; the owned delegate had none, which made patch 0008 a parity regression rather than a swap. Five are carried, two are deliberately dropped:
- 1:24 p.m. · 1951d2b
deploy.sh: name the hazard the composer already implements — a new file plus a manifest line is inert until the next deploy, while editing a file already in the manifest is live in the running shell immediately. Registration is the dangerous act, not creation.
- 1:11 p.m. · 6d0f891
TASK-72 step 2. AgentMessage consumes the typed segment list and dispatches to owned primitives; ThinkingCard draws reasoning as a segment kind rather than as <think> punctuation inside a flattened string, which removes the think-fence collision class by construction.
- 12:55 p.m. · 3def292
First step of TASK-72's owned destination. modules/souveraine/agent/ is original Souveraine code; no further agent-surface work lands in ii-base.
- 12:20 p.m. · 5a20307
Requires f266136 in the running server; without it the pill honestly shows an em dash rather than a wrong number. Unapplied, unloaded.
- 12:20 p.m. · e784fe4
Authored in a parallel session (Rook, Codex side) on 2026-08-12; committed here because untracked is the fragile state, not because authorship is mine. Finding stands on its own: StepUpAuth called souveraine-pam-auth, a binary never written, and fell back to pkcheck against an action never shipped, so every grant request was silently denied. Unapplied, unloaded.
- 12:11 p.m. · f266136
BackendEvent::ContextPressure was (f32, usize) whose second element was the context limit. A positional tuple crossing a module boundary made every consumer guess: the TUI guessed limit and was right, the HTTP layer named it tokens and was wrong. So every non-TUI surface rendered the ceiling as the usage — a constant 250000 that looked like a measurement. Nothing failed and nothing logged.
- 10:50 a.m. · 5cc7a90
blueline-fingerprintd installs /usr/lib/security/pam_souveraine_fpc.so (PKGBUILD:48). cc541d1 named pam_fpc_polkit.so, which exists nowhere.
- 10:39 a.m. · cc541d1
SESSION-AUTHORITY-DOCTRINE §3 names /etc/pam.d/souveraine-stepup by path. Root-owned config can only arrive by package: rootfs-overlay/ reaches a device on flash and the phone does not flash.
- 10:39 a.m. · acb2b6c
529 is Anthropic's own overload signal on this wire, so classify_status treated it as Permanent and bailed the whole request with zero retries. The bail string reaches the surface, where it reads as an auth failure.
- 9:24 a.m. · d02df0c
- 9:23 a.m. · b5671b0
- 9:23 a.m. · f7e0e51
Null-valued options serialised into config.json and segfaulted JsonAdapter on the next launch, killing the shell after load. Tristate strings (auto/on/off) with boolean fallback.
- 9:11 p.m. · 764a4b8
- SouveraineOS 3 changes
- 8:14 p.m. · e91149f
- 1:11 p.m. · 7d1df02
- 10:04 a.m. · 5bd12a7
- Redflag 1 change
- 8:36 p.m. · 9f47d78
Server gate functions only recognized 'pypi', while the agent reports 'pip'. This made NeedsCapabilityGate('pip') return false, silently routing pip installs through the legacy un-gated path.
- 8:36 p.m. · 9f47d78