feat(viewer): the agent dock and the first-run page (P11b)

D-27: a terminal panel along the bottom of the viewer (alacritty_terminal over
a PTY) runs Claude Code (default) or Codex in the book's books home, resizable,
collapsible, the choice remembered. The agent is an ordinary child process the
owner describes (agent_start); the viewer stays read-only: the agent writes
through the server like any other. A missing agent is offered through its
vendor's installer (a command to copy), never bundled; no folder is marked
trusted (Q-7, recommended answer: let Codex ask). Windows is not offered until
its ConPTY checks are recorded.

P11a found that onboarding with no terminal was false: the viewer opened only an
existing book. With no books and an owner, wanderbooks gui now shows a first-run
page: the private folder, the owner passphrase (typed in the viewer, optional),
the first books, an agent, then the books open. connect and New books... make
the books home. Tests: dock.rs, welcome.rs, books_home.rs (host and cli).
Docs: testing.md record and For P12, architecture, parity, gui.md, README.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HS8WZziDnyxunC23MUxrLp
This commit is contained in:
swaitsandClaude Fable 5.1 committed 2026-10-29 17:06:14 -06:00
1 parent 0442ab804e
commit 8f2e3378e8
15 files changed
+2620 -33

No files matched your search

+12 -3
View File
@@ -144,11 +144,20 @@ column and the tie-out badge (S6), write-offs on the timeline (S7),
documents grouped by category and subject (P6). S4.5 adds the number,
terms, bill-to and the issued copy to Save.
Landed 2026-10-29 (P11b): **the agent dock** along the bottom of the window
(Claude Code or Codex in the book's books home, over a PTY with
`alacritty_terminal`; collapsible and resizable; the choice remembered;
Linux checked, macOS by CI, Windows not offered until its ConPTY checks are
recorded; `dock.rs`, `tests/dock.rs`) and **the first-run page** (no books yet:
the private folder, the owner passphrase, the first books, an agent, then
the books open; `welcome.rs`, `tests/welcome.rs`), which is what lets an
installed app onboard with no terminal. Both go through the `Owner`; the
viewer still writes nothing of the books.
Next, in the plan's order: S4.5's page changes; P4's draft states in
Needs attention; P11a (the installed app: the viewer is its face, with
"Check for updates" in the menu) and P11b (the agent dock along the
bottom of the window, Claude Code or Codex in it, started in the book's
books home; D-27). Not planned: a web build, which belongs to the hosted
"Check for updates" in the menu; P11b, the dock and the first run, is
landed, above). Not planned: a web build, which belongs to the hosted
service (`plan/served.md` section 11, a browser viewer); the remote
viewer replica (D-51: a backup clone opened read-only serves instead).
Still open from the first version's list: a cash forecast with a