Watch
1
0
Fork
You've already forked souveraine
0

patches: retire the stale 0005 entry, record what closed

This commit is contained in:
Fimeg 2026-08-12 09:23:39 -04:00
commit b5671b0b8a

View file

@ -42,42 +42,16 @@ again.
## In the queue
### 0005 — mount the agent island (TASK-69 + TASK-70)
Nothing. 00010004 remain below only if listed; anything applied or retired is
gone from this directory by design.
The four **activating** edits for the agent-session work. Everything the patch
switches on already landed inert in `47ce2d1` / `b211842`:
`scripts/agent/agent-sessions.sh`, `services/AgentSessions.qml`,
`modules/souveraine/island/`.
## Recently closed
Touches: `services/qmldir` (register the singleton),
`modules/common/Config.qml` (`bar.agentSessions` block),
`modules/ii/bar/UtilButtons.qml` (mount), `deploy.sh` (manifest).
Mounted in `UtilButtons` rather than `BarContent` on purpose: UtilButtons is
already a Souveraine-owned override, so the island reaches **both** device bars
without forking the 13.8K `BarContent` twice (ii-base *and* ii-phone) and
carrying that divergence against the pin. The island narrows itself — dot on a
cramped bar, pill where there is room — from the same threshold BarContent uses.
**Status: verified / reasoned / untested — in that order, per piece.**
- *Verified*: the collector. Run by hand against real data — 0.47 s, valid
JSON, exit 0, correctly identifies this very conversation as a live session.
Two bugs found and fixed by running it rather than reading it: jq's
`fromdateiso8601` rejects the fractional seconds all three providers emit
(every session read "idle"), and the Codex id was the date prefix, not the uuid.
- *Verified*: syntax. `qmllint` exit 0 on all four QML files — using
**`/usr/lib/qt6/bin/qmllint`**, not `/usr/bin/qmllint`, which is a Qt5 binary
that prints nothing and cannot be trusted as a gate. Proven by feeding it a
deliberately broken file first.
- *Reasoned*: the mount point, the device-form split, the degradation policy.
- *Untested*: **nothing has rendered.** No shell has loaded this. `qmllint`
cannot resolve `qs.*` imports from the repo, so property-level mistakes
(a wrong `Appearance` key, a missing `StyledToolTip` property) will only
appear at load.
Lint the **composed** tree, not the repo, for a stronger check:
`~/.config/quickshell/souveraine/` after `deploy.sh`.
If it does not come up: `git reset --hard HEAD~1`. The three inert commits are
safe to keep either way — nothing imports them until this patch lands.
- **0005 — config: never store a null option.** Applied and committed as
`f7e0e51`. Null-valued options serialised into `config.json` and segfaulted
`JsonAdapter::deserializeRec` on the *next* launch — the session that wrote
the option ran fine, every launch after it died ~10 s in. Replaced with
tristate strings (`auto`/`on`/`off`), booleans still honoured. Verified live:
shell loads clean, no nulls written back.
- **0005 (earlier) — mount the agent island.** Retired by `013a06a`; the island
left the bar to sit beside chat (`2179b62`). The number was reused.