From 3d8fc0733cd2d2c8a6209514aa1158cbd713be25 Mon Sep 17 00:00:00 2001 From: Gabriel Schneider Date: Mon, 28 Sep 2026 11:05:26 -0300 Subject: docs: the README and skill answer what dogfooding asked A first-time user through a mount could not find how to get a terminal, read path++text as a typo, did not know > on data replaces only the addressed range, which regexps addr takes, that lock fails fast, what errors is, where an unknown exec word goes (typed into a terminal, not an error), that new panes are +New and a column's last pane leaves one, or which 9ns mount other processes can see. The README (still 45 lines), docs/fs.md and the skill now say. Co-Authored-By: Claude Opus 5.5 --- .agents/skills/pardes-9p/SKILL.md | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to '.agents') 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//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/ closes it +$m/pane/new open it to make a pane (a scratch named /+New), read names it; + rmdir $m/pane/ closes it; closing a column's last pane leaves a +New there +$m/pane//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//look` and `$m/pane//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 +: ` record to `$m/log`; through a mount the write itself only says +`Invalid argument`. ## Edit through addresses, dot and the flag files -- cgit v1.3