task-77: the lens, a human-first garden over a git vault
Folder/subcategory support and inbox capture landed in souveraine-lens (61cf534, c71c7e4); this files the owner doc the build was missing and indexes it.
This commit is contained in:
parent
cdbb744466
commit
91128b8638
2 changed files with 86 additions and 0 deletions
85
docs/tasks/77-lens-garden.md
Normal file
85
docs/tasks/77-lens-garden.md
Normal file
|
|
@ -0,0 +1,85 @@
|
|||
# 77 — The lens: a human-first garden over a git vault
|
||||
|
||||
Status: **built and packaged 2026-08-15; CI + hardware verification outstanding.**
|
||||
Owner: Rook, under Casey's direction. Repo: `~/Projects/souveraine-lens`
|
||||
(gitea `Fimeg/souveraine-lens`, branch `primary`).
|
||||
|
||||
Origin: the 2026-08-15 session (`ses_ffb2ae46…`). Casey asked why the lens was
|
||||
not installed on the laptop, then: *"make it into a proper package… overhaul
|
||||
everything please… Lens is built for the human first… the agent is coming
|
||||
alongside to help the human… not use it for its own space."* Then, on the
|
||||
garden itself: folder/subcategory support — *"Project SouveraineOS → Souveraine
|
||||
the Agent / Souveraine the Substrate → their components, as I understand them,
|
||||
not just how the Agent understands them"* — and *"dump ideas down and have them
|
||||
analyzed by my agent for connections."*
|
||||
|
||||
## The shape — decided
|
||||
|
||||
- **Human-first.** The lens is for a person (several, eventually). The agent
|
||||
never lives here; it comes alongside as a guest over the limb — open a note,
|
||||
plant one on a human's behalf, read events over the socket. The vault is
|
||||
never synced into the SouveraineOS docs tree.
|
||||
- **The vault is files, git is the archive.** `~/vault`, markdown + frontmatter
|
||||
(`description`, `tags`, anything else round-tripped), `[[wikilinks]]` as the
|
||||
linking grammar, every save/plant a git commit.
|
||||
- **Zero dependency, no network.** One embedded page (`src/ui.rs`); the only
|
||||
conversation is the IPC bridge. The force layout is hand-rolled.
|
||||
- **The seam.** Page → process: `graph note save create sync status`. Process →
|
||||
page: `window.__lens.reply/open/refresh/sync/create`.
|
||||
- **The limb.** `--ipc <sock>`: the shell drives the process (`eval state open
|
||||
create quit`), the process emits one-line events (`note_opened`, `note_saved`,
|
||||
`note_created`, `synced`) so a sidebar hears without reaching into the vault.
|
||||
- **Folders** (this session): a note may live in any folder under the vault —
|
||||
real directories, not a tag layer, so the files stay legible to git and to
|
||||
Casey directly. The rail grows a folder tree; the plant dialog takes a
|
||||
folder; a capture line plants a thought straight into `inbox/`. Folder paths
|
||||
are guarded so nothing can climb out of the vault.
|
||||
- **Idea capture → connections.** The dump surface is the inbox. The *analysis
|
||||
for connections* is the substrate agent's job over the limb, not a lens
|
||||
feature — the lens shows links and backlinks; the agent is the one who walks
|
||||
the vault and proposes joins. Prior art: the Cloister folder tree
|
||||
(`docs/substrate/tasks/tui-memory-browser.md`), the Archivist synthesis pass
|
||||
(`souveraine/src/core/archivist/mod.rs`), and the OpenCode Memory System's
|
||||
association accelerator (`~/Downloads/Memory stuff/docs/PRD.md` §5.7).
|
||||
|
||||
## Acceptance
|
||||
|
||||
- [x] Lens UI overhauled (two themes, `[[` linking, backlinks, palette, guide).
|
||||
- [x] Packaged: PKGBUILD + `.desktop` + icon + CI package job + edge publisher.
|
||||
- [x] Folder/subcategory support + inbox capture (commit `61cf534`).
|
||||
- [x] Edge publisher executable (commit `c71c7e4`) — fixes run 1632's exit 126.
|
||||
- [ ] Lens CI green on `primary`; package job publishes the `edge` asset + sig.
|
||||
- [ ] `pacman -U` on the laptop; launch `souveraine-lens`; verify folder tree,
|
||||
capture → inbox, linking.
|
||||
- [ ] Edge repo DB wiring so the package installs by name (documented follow-up).
|
||||
|
||||
## Evidence
|
||||
|
||||
- `souveraine-lens/DESIGN.md` is the in-repo system argument (garden, seam,
|
||||
face, limb, delivery).
|
||||
- Prior-art docs read: `73-self-dashboard.md` (lens skeleton precedent),
|
||||
`68-shared-household-state.md`, `FIRST-CLASS-APPS.md`,
|
||||
`SHARED-STATE-ARCHITECTURE.md`; kiyoshi (`~/Projects/references/kiyoshi/`)
|
||||
is the visual reference — sampled, not copied.
|
||||
- CI run 1632 failed only at the publish step (exit 126, non-executable
|
||||
publisher); build, makepkg and sign all passed before it.
|
||||
|
||||
## Remaining work
|
||||
|
||||
1. Watch lens CI on `primary`; confirm the package job publishes the edge asset.
|
||||
2. Install on the laptop (`pacman -U`), launch, verify folders + capture.
|
||||
3. Edge repo DB wiring (install-by-name) as the follow-up.
|
||||
4. The shared-task lane when TASK-68's authority shape lands (the agent assigns
|
||||
human tasks through the vault; the lens surfaces them as notes).
|
||||
5. The "agent analyzes dumped ideas for connections" lane — substrate-side,
|
||||
over the limb; not built.
|
||||
|
||||
## Connections
|
||||
|
||||
- 73-self-dashboard — the lens skeleton is the Gatehouse precedent.
|
||||
- 68-shared-household-state — the authority shape the lens's task lane will
|
||||
implement.
|
||||
- 69-agent-usage-session-daemon — "shell services are projections of one
|
||||
socket" is the limb's shape.
|
||||
- substrate `tui-memory-browser.md` + `archivist/mod.rs` — the Cloister and the
|
||||
synthesis pass this garden samples.
|
||||
|
|
@ -39,6 +39,7 @@ Four that are cheap relative to what they unblock:
|
|||
|
||||
| # | Task | What's left |
|
||||
|---|------|-------------|
|
||||
| 77 | [The lens: a human-first garden over a git vault](77-lens-garden.md) | Built + packaged 2026-08-15 — folder/subcategory support and inbox capture landed (`61cf534`), publisher chmod fix (`c71c7e4`). Left: lens CI green + `edge` asset published, `pacman -U` on the laptop, then edge-repo DB wiring. |
|
||||
| 65 | [A stalled subconscious wedges the surface](65-subconscious-stall-wedges-the-surface.md) | Reproduced and measured, not diagnosed. The reply commits and `PrimaryComplete` fires, then the N+1 pass stalls at round 3 of 10 with a fully idle runtime — and because it runs inside `run_turn`, the SSE stream never closes and Surfaces spins forever. Lead is the `todo` tool. Needs a backtrace; the stream-lifetime coupling is a fix in its own right. |
|
||||
| 63 | [The second body: SouveraineOS on the iPhone 7](63-d10-second-body.md) | **The shell is on the glass 2026-08-09** — viewtop, sessiond and `qs -c souveraine` all run on a T8010 with no GPU, drawn by llvmpipe, over one USB cable. Hoolock is the bootloader and nothing else. The build half of this is TASK-64. |
|
||||
| 62 | [Full USB KVM](62-full-usb-kvm.md) | GUD + HID + NCM + smoo and the signed package path are green. Still open: install and cable/glass acceptance; real Session Authority gates (peer identity, probe lease, step-up, D-Bus enforcement); cold-boot SSH-over-NCM proof. Type-C/TCPM host negotiation remains TASK-58. |
|
||||
|
|
|
|||
Loading…
Reference in a new issue