diff options
Diffstat (limited to '.agents')
| -rw-r--r-- | .agents/skills/pardes-9p/SKILL.md | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/.agents/skills/pardes-9p/SKILL.md b/.agents/skills/pardes-9p/SKILL.md index 6fea5838..daf4c279 100644 --- a/.agents/skills/pardes-9p/SKILL.md +++ b/.agents/skills/pardes-9p/SKILL.md @@ -33,7 +33,9 @@ the `pid`, `version` and `panes` of a session new enough to serve it. `/mnt/9p/pardes` is the registry of posted sessions, mounted once for the machine. It is not the per-pane kernel mount the `Tty9p` builtin makes, which gives one pane's shell `$PARDES_MOUNT`; see [docs/v9fs.md](../../../docs/v9fs.md) -for that. Either mountpoint serves the same tree. +for that. Either mountpoint serves the same tree. A `9ns --unix SOCKET -- cmd` +mount exists only inside `cmd`'s private namespace; to share one, use the +registry (`9ns --mntgen`). A running session serves whatever binary started it. If a listing does not match this document, that session predates the change; restart it. @@ -59,7 +61,9 @@ $m/ctl the settings, one a line as a write takes them; write a setting or and the column words Delcol, Collapse, which act on that pane's column) go to $m/pane/<n>/ctl $m/commands every builtin: `Word`, `Word arg`, then `root` or `pane` (which ctl takes it) -$m/pane/new open it to make a pane, read names it; rmdir $m/pane/<n> closes it +$m/pane/new open it to make a pane (a scratch named <dir>/+New), read names it; + rmdir $m/pane/<n> closes it; closing a column's last pane leaves a +New there +$m/pane/<n>/errors write-only: text appended to the +Errors pane of the pane's directory $m/os/ the host filesystem ``` @@ -74,7 +78,8 @@ n=$(cat "$m/pane/new") # make one, take its serial printf 'text\n' > "$m/pane/$n/body" # append cat "$m/pane/$n/tag" # what its tagline offers echo notes.txt > "$m/pane/$n/name" # rename the buffer -echo Save > "$m/pane/$n/exec" # save it +echo Save > "$m/pane/$n/exec" # save it (or to its ctl) +echo Tty > "$m/pane/$n/ctl" # a terminal in its directory echo "/etc/hosts:3" > "$m/look"; cat "$m/look" # open a file, see where it landed rmdir "$m/pane/$n" # close it, dirty or not ``` @@ -104,7 +109,12 @@ active pane from the root and at that pane from `$m/pane/<n>/look` and `$m/pane/<n>/exec`. Reading any of them answers the serials the last command made, or the pane it focused or acted on. A command that fails is reported in the editor, not as a write error, so inspect the resulting pane, index, message -or screen; only a malformed line fails the write itself. +or screen; only a malformed line fails the write itself. A word no builtin +knows (a typo included) is typed into a terminal -- the pane itself if it is a +terminal at its prompt, else one in the pane's directory, made if need be -- +and is not reported as an error. Every refused 9P write adds an `err <serial|-> +<file>: <why>` record to `$m/log`; through a mount the write itself only says +`Invalid argument`. ## Edit through addresses, dot and the flag files |
