summaryrefslogtreecommitdiff
path: root/.agents
diff options
context:
space:
mode:
Diffstat (limited to '.agents')
-rw-r--r--.agents/skills/pardes-9p/SKILL.md9
1 files changed, 6 insertions, 3 deletions
diff --git a/.agents/skills/pardes-9p/SKILL.md b/.agents/skills/pardes-9p/SKILL.md
index 4f903d5d..9e540de8 100644
--- a/.agents/skills/pardes-9p/SKILL.md
+++ b/.agents/skills/pardes-9p/SKILL.md
@@ -154,9 +154,12 @@ an open that wrote, until its next write); open again, or seek to 0, to read
it again. Each command line runs once whole, however a mount cuts a big write; a last
line with no newline runs when the open closes, and an Edit block still open
then fails there (an `err`: ``unmatched `{'``, or an a/c/i text with no `.`
-line), changing nothing. 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. A word no builtin
+line), changing nothing. One rule: a builtin that fails, whether through a
+ctl, look, exec, tagexec or a column's exec, fails the write (EINVAL for a
+malformed line, else EIO or an errno that fits) and logs one `err` with the
+reason, no `msg`. A look that finds nothing is no failure: it answers
+nothing and logs one `err`. A command line run in a command pane is judged
+by its `exit` record. A word no builtin
knows (a typo included) is a command line: written at a terminal at its
prompt it is typed into that shell; from anywhere else it runs as a command
pane, a terminal whose child is the root ctl's `Shell` ($SHELL, else /bin/sh, unless set)