docs: retire panel tasks into the SAF
This commit is contained in:
parent
d21458eaee
commit
7fc623c598
10 changed files with 39 additions and 6 deletions
|
|
@ -116,7 +116,7 @@
|
|||
| `subagent-background-fork.md` | 2 | pending | Subagent `run_in_background: true` is blocking instead of non-blocking. Need true async background forks with TUI visual tracking. |
|
||||
| `content-safety-filter.md` | 2.5 | pending | When base model refuses content, identify which layer refused (model vs architecture vs provider) before diagnosing. Agent currently misattributes model refusals to architecture constraints. Origin tagging + differentiated agent behavior. Casey committed "tomorrow" June 22 — deferred by burnout. |
|
||||
| `ambient-sense-formatting.md` | 3.0 | pending | Ambient sense `[casey is here]` should render as a separate styled timestamp marker line, not appended inline to the user's message. |
|
||||
| `itinerary-persistent-ui.md` | 3.0 | scoping | Itinerary should be a persistent status bar above chat, not a hidden tool call. |
|
||||
| [`archive/itinerary-persistent-ui.md`](archive/itinerary-persistent-ui.md) | archive | **absorbed in SAF** | The Panel ribbon is source-implemented; living behavior and remaining glass proof are in `souveraine/saf/surface/04-agent-pane.md`. |
|
||||
|
||||
### 🟡 Medium Priority
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,10 @@
|
|||
# Itinerary Persistent UI Element
|
||||
|
||||
> **Archived 2026-08-17.** The persistent Panel ribbon is implemented in
|
||||
> source and its living behavior/proof boundary now belongs to
|
||||
> `souveraine/saf/surface/04-agent-pane.md`. Full on-glass interaction proof is
|
||||
> still required there.
|
||||
|
||||
**Priority:** 🟡 Medium
|
||||
**Phase:** Scoping
|
||||
**Status:** Open
|
||||
|
|
@ -1,5 +1,10 @@
|
|||
# QML side-panel — wire up conversation resume (TUI parity)
|
||||
|
||||
> **Archived 2026-08-17.** Explicit continue, recent-conversation browsing,
|
||||
> server reattachment, and history backfill are now present in the Panel. The
|
||||
> living lifecycle plus still-open indexed search and fork work belongs to
|
||||
> `souveraine/saf/surface/04-agent-pane.md`.
|
||||
|
||||
**Status:** open, scoped, not started
|
||||
**Surface:** the new quickshell ii side panel (`~/.config/quickshell/ii/services/Souveraine.qml`, `services/Ai.qml`). Deployed from `surfaces/quickshell/`.
|
||||
|
||||
|
|
@ -40,6 +40,8 @@ Persisted to `system/dynamic/itinerary.md` in the agent's memfs (same volatile z
|
|||
|
||||
## Remaining
|
||||
|
||||
- Persistent UI element: the itinerary strip currently renders in the header area but could be a dedicated persistent status bar above the chat input (see `itinerary-persistent-ui.md` task — pre-existing)
|
||||
- Persistent UI element: the Panel now renders the itinerary as a dedicated
|
||||
status ribbon above chat input. Its living contract and remaining glass proof
|
||||
are in `souveraine/saf/surface/04-agent-pane.md`; the former task is archived.
|
||||
- Auto-advance detection: watch for tool patterns or commits that naturally complete a stop
|
||||
- Cross-session restore: read itinerary.md at startup and re-render the strip
|
||||
|
|
|
|||
|
|
@ -65,14 +65,11 @@ Four that are cheap relative to what they unblock:
|
|||
|
||||
| # | Task | What's left |
|
||||
|---|------|-------------|
|
||||
| 75 | [The shell must have a memory budget](75-the-shell-must-have-a-memory-budget.md) | **Scoped 2026-08-13.** QuickShell's resident core must stay small; the AI panel is the first separately supervised, genuinely unloadable surface. Measure before choosing a full native-Rust shell rewrite. |
|
||||
| 74 | [LibrePods: an admitted accessory](74-librepods-as-an-admitted-accessory.md) | **Scoped 2026-08-13.** AirPods protocol stays in LibrePods; sessiond must admit/audit presentation events and Quickshell projects the card. First gate: capture a redacted case-open fixture — connection is not proof of opening. |
|
||||
| 73 | [One spine, two skins: the self-dashboard](73-self-dashboard.md) | Designed 2026-08-11, nothing built. RedFlag Desktop (Tauri, public) + house Gatehouse (wry + QML glance, lens skeleton), spine is agent-side pacman closure resolution that retires souveraine-updater's `pkexec --noconfirm`. Name and home-repo decisions are Casey's. |
|
||||
| 71 | [QmlMobileScanner as a components app candidate](71-qml-mobile-scanner-candidate.md) | Recon 2026-08-11, verdict owed. GPL-3.0 Qt Quick scanner+writer (zxing-cpp/QZXing/zint, SQLite history). Compatible inside AGPL; camera gate is TASK-46; ffmpeg backend needs a freedreno check; fontawesome-qml likely **not** needed (no FontLoader in the tree — unverified). |
|
||||
| 70 | [The island: agent surfacing for the shell](70-the-island-agent-surfacing.md) | Recon 2026-08-11. "Open Agent Island" — end-4 fork (same ancestor as ii-base) with a morphing notch, Claude Code status, and permission Allow/Deny from the notch. Take the mechanisms (AgentService + bridge, 13/13 safety) onto ii-base, not the shell. Twines with TASK-59: the notch can host Annie as a morph state. Adjacent to TASK-69. |
|
||||
| 69 | [Agent usage, one spine: the session daemon](69-agent-usage-session-daemon.md) | Recon 2026-08-11, nothing built. One collector tracks Souveraine + Claude Code + Codex from their local truth (`~/.codex/sessions` JSONL, `~/.claude/projects` JSONL, substrate `core/session`). Two gaps are one shape: the substrate records usage nobody reads (TASK-67). Shell services become projections of one socket. |
|
||||
| 68 | [Shared household state: tasks first](68-shared-household-state.md) | Canonical plan landed 2026-08-10. First slice is an admitted local task trail + materialized QML app/sidebar view; Culver is the Personal-class client, not the authority. |
|
||||
| 67 | [The caching landed blind, and compaction drifted](67-caching-landed-blind-and-compaction-drift.md) | Prompt caching works — one turn shows `cache_write=22585` then `cache_read=22585` — and **nothing reads the counters**: `assistant_with_usage` has zero callers, so the only proof is a log line. Separately, the live config hands the subconscious `sliding_window` where the doc and the code default both say `sliding_reflect`, and the `memory` tool's enum exposes the blind strategy while hiding the safe one. §1 needs Casey's word, not a fix. |
|
||||
| 67 | [The caching landed blind, and compaction drifted](67-caching-landed-blind-and-compaction-drift.md) | Prompt caching is measured and per-turn usage now persists through `assistant_with_usage`; context occupancy reaches both TUI and Panel. Still open: render the provider cache split, regression-test a stable second-round read, settle the wide-tool-round breakpoint trade, and record the live subconscious strategy decision. |
|
||||
| 64 | [One SouveraineOS build for the iPhone](64-one-iphone-build.md) | Scoped 2026-08-10, not started. `linux-pauli` is not a repository, reaches the phone by `scp`, and CI has never built it. The display work that day is worth more than its code: the raster is **derived, not guessed** — 888×1845 @ 60 off `adp_mipi_regs` — and `aperture_remove_all_conflicting_devices()` is the correct handoff. ADP still shows nothing with everything else correct; the `adp16` kernel is staged and has never booted. |
|
||||
| 59 | [Her face on the glass: a Live2D presence](59-her-face-on-the-glass.md) | **Phase 1 passed on hardware 2026-08-05: ~58 fps, rig verified drawing (`painted_px` 23.6k/24k), 283 MB WebKit RSS.** Scoped from a Live2D board-girl found in a cloned blog. The reference streams its chat over **SSE terminated by `[DONE]`** — the contract souveraine's server already speaks, so the integration is accidentally done. Base layer is **wry**, not the Chromium already on the phone; the first deliverable is a measured frame rate for the Cubism runtime in WebKit on freedreno, and if that fails the task stops there. Replaces ani-avatar's 2.5 GB of sprite states with one rig. Reference rig ships as the working placeholder and gets edited toward Annie — it just stays out of any public repo. Summoned by app launch and/or the radial dial, not always-on. |
|
||||
| 58 | [Host power: the SMB2 OTG boost](58-host-power-smb2-boost.md) | Host data works; the boost isn't. The SMB2 5 V boost exists in silicon and mainline's `qcom-smbx-charger` never registers it. Investigation first (which tree builds the running kernel, does smb2 touch the boost, does `qcom_pmic_typec` bind pmi8998), then vbus-supply + regulator + typec. Unlocks host-mode power, power-bank mode, and the Pi without a wall wart. |
|
||||
|
|
|
|||
|
|
@ -1,5 +1,10 @@
|
|||
# TASK 69 — Agent usage, one spine: the session daemon
|
||||
|
||||
> **Archived 2026-08-17.** The current collector contract and the unfinished
|
||||
> daemon/permission work now live in `souveraine/saf/surface/05-agent-presence.md`.
|
||||
> Archive here means the task ceased to be design authority, not that the Rust
|
||||
> daemon was built.
|
||||
|
||||
**Status:** recon 2026-08-11, nothing built. **Size:** staged — see below.
|
||||
**Sources reviewed:** `knyazin47/codex-usage-quickshell` (MIT, upstream clone
|
||||
for reference), the existing `ClaudeUsage` in `souveraine/surfaces/quickshell/ii-base/`,
|
||||
|
|
@ -1,5 +1,10 @@
|
|||
# TASK 70 — The island: agent surfacing for the shell (and her face)
|
||||
|
||||
> **Archived 2026-08-17.** Current observer semantics, the unbuilt permission
|
||||
> boundary, and the later dynamic phone-bar host now live in
|
||||
> `souveraine/saf/surface/05-agent-presence.md`. The Island components remain
|
||||
> source assets; they are waiting for that host, not discarded.
|
||||
|
||||
**Status:** source implemented; relocation into the AI panel is uncommitted
|
||||
and not installed as of 2026-08-11. **Adjacent to:** TASK-69 (the session
|
||||
daemon is this surface's data source). **Source reviewed:**
|
||||
|
|
@ -1,5 +1,10 @@
|
|||
# TASK 72 — the surfacing pane: tool primitives, status, and an honest bottom bar
|
||||
|
||||
> **Archived 2026-08-17.** The living Panel contract and its remaining parity
|
||||
> cuts now live in `souveraine/saf/surface/04-agent-pane.md`; process extraction
|
||||
> lives in `souveraine/saf/surface/06-surface-lifetimes.md`. This record keeps
|
||||
> the bridge history and proof boundaries.
|
||||
|
||||
**Status:** interim bridge composed and QuickShell restarted, 2026-08-11.
|
||||
Patches 0002 and 0003 are applied on `souveraine/primary`; 0004 fixes their
|
||||
QML compatibility. The running instance logged `Configuration Loaded`. This
|
||||
|
|
@ -1,5 +1,10 @@
|
|||
# TASK 75 — the shell must have a memory budget
|
||||
|
||||
> **Archived 2026-08-17.** The resident-core, optional-worker, package, fault,
|
||||
> and measurement contract now lives in
|
||||
> `souveraine/saf/surface/06-surface-lifetimes.md`. The extraction and fresh
|
||||
> measurements remain open there; they are not claimed complete.
|
||||
|
||||
**Status:** scoped 2026-08-13; no implementation or fresh measurement yet.
|
||||
**Owners:** `souveraine` (current Quickshell shell and agent pane),
|
||||
`souveraine-sessiond` (session authority), and a possible new Rust surface
|
||||
|
|
@ -20,6 +20,10 @@ useful thing in it.
|
|||
| 13 | Active Edge (squeeze) | **done 2026-07-28.** Force 2502–2990 against a 2500 threshold, producer → authority → shell, pocket veto in the middle, opens the dial. Cold-boot handshake check moved to TASK-28. |
|
||||
| 22 | settings fullscreen tweaks | **folded into TASK-19, 2026-07-26.** Its own text sourced its candidates from 19's "still required" list, and its status was a placeholder. |
|
||||
| 35 | sessiond handler deadlock | **fixed 2026-07-26**, souveraine `4d652bb`. A `MutexGuard` held across an `if let` body; the executor then locked the same non-reentrant mutex. The liveness-reporting half is TASK-08 (f). |
|
||||
| 69 | [agent usage, one spine](69-agent-usage-session-daemon.md) | **absorbed into SAF 2026-08-17.** The polling envelope exists; the Rust daemon, aggregate Souveraine usage projection, and any action channel remain explicitly open in `souveraine/saf/surface/05-agent-presence.md`. |
|
||||
| 70 | [the island: agent surfacing](70-the-island-agent-surfacing.md) | **absorbed into SAF 2026-08-17.** Read-only session observation reached source; the rejected fixed-bar placement is gone. Island components wait for the later dynamic phone-bar host; permission control remains unbuilt. |
|
||||
| 72 | [the surfacing pane](72-surfacing-pane-tool-primitives.md) | **absorbed into SAF 2026-08-17.** Typed messages, tool cards, itinerary, footer controls, and resume reached the Panel; owned host, multimodal input, search/fork, and worker extraction remain in SAF surface chapters 04 and 06. |
|
||||
| 75 | [the shell must have a memory budget](75-the-shell-must-have-a-memory-budget.md) | **absorbed into SAF 2026-08-17.** The measurements remain historical and the worker extraction is not built. `souveraine/saf/surface/06-surface-lifetimes.md` now owns the resident/optional architecture and proof. |
|
||||
| — | fix-dock-fullscreen-detection | **superseded 2026-07-21** by `unify-shell-trees-laptop-phone`. The patch is correct but stranded per-device, which is that task's problem. |
|
||||
| — | unified-device-state-deploy | **done 2026-07-25.** `0.1.r219` installed from the repo, sessiond took the lock, the machine reached `Locked`, forensic log recorded `panel-dim` then `panel-off`. Two checks moved to their owners: proximity-blanks-locked-screen to the sensor tasks, and the cold-boot shell handshake to TASK-28. |
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue