summaryrefslogtreecommitdiff
path: root/.agents
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-09-29 05:33:31 -0300
committerGabriel Schneider <[email protected]>2026-10-01 00:12:16 -0300
commit6dacd7778b846967fb945297420148e783f48f95 (patch)
treed09d0ffc52fdbec3479aeb24084e1b8642b86037 /.agents
parent9b623d635b79f97122f512153b974dfa434f85ab (diff)
downloadpardes-6dacd7778b846967fb945297420148e783f48f95.tar.gz
pardes-6dacd7778b846967fb945297420148e783f48f95.zip
The docs: which writes fail, mark for one undo step, directory looks, the skill's log line
Round 15's doc findings: one table of which files fail a write and which only say so; mark to make a loop's data writes one undo step; the 100-byte scratch exemption and the chord write-back in the skill; the skill's log line with ask, answer, changed, newcol, delcol and the restored records; a directory looked at opens a terminal that runs ls, and why; a plain word in a terminal is listed in +Search, its rows @p<serial>. Co-Authored-By: Claude Opus 5.5 <[email protected]>
Diffstat (limited to '.agents')
-rw-r--r--.agents/skills/pardes-9p/SKILL.md12
1 files changed, 10 insertions, 2 deletions
diff --git a/.agents/skills/pardes-9p/SKILL.md b/.agents/skills/pardes-9p/SKILL.md
index 26f3ff19..4f903d5d 100644
--- a/.agents/skills/pardes-9p/SKILL.md
+++ b/.agents/skills/pardes-9p/SKILL.md
@@ -64,6 +64,8 @@ $m/pane/<n>/pty/run write one line, read `exit N` + its output, or `busy` / `e
(a fresh terminal: waits for its first prompt; if none comes, interrupt the read)
$m/log recent events, then EOF: new|del|rename|save <serial> <name>, msg <serial|-> <text>,
run <serial> <line>, exit <serial> <N|?>, send <from> <to> <repl-id>,
+ ask <serial> <what> <choices>, answer <serial> <choice|->, changed <serial>
+ [reloaded|deleted], newcol|delcol <serial>, restored|restoredcol <old> <new>,
dump|restore <path>, err <serial|-> <file>: <why>
(exec 3<>$m/log; echo follow >&3; cat <&3 replays what is there, then waits for new
ones; `echo follow new` waits for new ones only; tail -f does not wait;
@@ -174,7 +176,9 @@ REPLs bound for a language an exec asks which, logged `ask <serial> repl a b`
log says `answer <serial> a|-`). Kill does not stop what a REPL runs (it was
typed, not started by pardes): `echo 'sig INT' > $m/pane/<repl>/pty/ctl`
interrupts it. A range of a `.py` pane goes to its REPL by writing the event
-record `MX<q0> <q1>` to that pane's `event`. `Tty`'s argument is a shell
+record `MX<q0> <q1>` to that pane's `event`. A chorded exec's record (flag 8)
+is followed by two, its argument and where it came from; write all three back
+as read (one write or three) and it runs once with its argument. `Tty`'s argument is a shell
(`Tty fish`), and `Tty` on a pane's ctl opens a new terminal pane. After a
Restore, panes have new serials (`restored <old> <new>` in the log), a
command pane shows `exit ?` and does not run again, and REPLs are unbound. Multi-line code
@@ -243,7 +247,11 @@ env printf 'Edit ,x/foo/{\ni/</\na/>/\n}\n' > $pane/ctl
| Delete that range | `: > $pane/data` | truncate `data` (open with OTRUNC) |
A write leaves `addr` just past what it wrote, so a second `echo x > data`
-inserts after the first: write `addr` again before each replacement. A read
+inserts after the first: write `addr` again before each replacement. Each
+`data` write is one undo step; to make a loop's writes one, `echo 1 > mark`
+(an undo point now), `echo 0 > mark`, the writes, then `echo 1 > mark`.
+A `+New` scratch counts as unsaved (and holds up Exit, Restore, Del) only
+once it holds 100 bytes or more. A read
of `data` or `xdata` moves `addr` past what it read, as in acme.
Truncating `data` is pardes's own (acme ignores OTRUNC and always inserts).
| Read the selection | `cat $pane/dot` (offsets), `cat $pane/sel` (text) | the same two reads |