]> git.giacomolli.uk - onechat/commit
Store the subagents and read them with zoom
authorAnderson A. Giacomolli <agiacomolli@gmail.com>
Sun, 8 Nov 2026 13:23:35 +0000 (10:23 -0300)
committerAnderson A. Giacomolli <agiacomolli@gmail.com>
Sun, 8 Nov 2026 13:23:35 +0000 (10:23 -0300)
commit6e3e9c5c10f3d35bae7e9846334974a09418aef7
tree5ee622367bf4861bd1a69ade6cc8fc9b03f314ed
parent4a931bccab5879ab708647b2df8dadc052f128bf
Store the subagents and read them with zoom

Each subagent has a directory in subagents/ of the agent directory,
named for it, with its own message log. A name is an adjective and a
noun from two word lists, each capitalized and joined, such as
GreenOtter, and a new subagent draws again when the directory of its
name exists. Only such a name can be a directory, so a name never leaves
subagents/.

The zoom tool gets a nullable name, and zoom("Name") gives the whole log
of that subagent, each message as "i|kind: text". The prompt gets the
tool line for it. The log of a name opens once and stays open until the
daemon stops, because its lock allows one open log, and its mutex keeps
the run of the subagent and a zoom of the agent apart.

Issue: b1ac698
13 files changed:
chain_test.go
daemon.go
daemon_start_helper_test.go
prompt.go
prompt_test.go
subagent.go [new file with mode: 0644]
subagent_helper_test.go [new file with mode: 0644]
subagent_names.go [new file with mode: 0644]
subagent_test.go [new file with mode: 0644]
tools.go
tools_test.go
turn.go
turn_test.go