summaryrefslogtreecommitdiff
path: root/.agents/skills/pardes-9p/SKILL.md
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-09-29 02:14:54 -0300
committerGabriel Schneider <[email protected]>2026-10-01 00:12:15 -0300
commit5492da0ba1d5f1c1cc0a880f82107961627c9ba6 (patch)
tree0230c6b9896d773c1e93722aa944a306184dd6a2 /.agents/skills/pardes-9p/SKILL.md
parent69b6d714b7fc7788a1bf1c2305262a6e861253e8 (diff)
downloadpardes-5492da0ba1d5f1c1cc0a880f82107961627c9ba6.tar.gz
pardes-5492da0ba1d5f1c1cc0a880f82107961627c9ba6.zip
Addresses snap to runes, not grapheme clusters
sam and acme address runes; pardes snapped #n, line:col, dot and data's reads to grapheme clusters, so a lone combining mark or a CRLF's \r could not be addressed. #n, line:col, a search's match, dot (both ways) and data now land on rune boundaries (modal.runeStart and friends), and the tty's cell drawing is untouched. The README, fs.md and the skill say so. Co-Authored-By: Claude Opus 5.5 <[email protected]>
Diffstat (limited to '.agents/skills/pardes-9p/SKILL.md')
-rw-r--r--.agents/skills/pardes-9p/SKILL.md5
1 files changed, 4 insertions, 1 deletions
diff --git a/.agents/skills/pardes-9p/SKILL.md b/.agents/skills/pardes-9p/SKILL.md
index 1142efa9..cc129d5c 100644
--- a/.agents/skills/pardes-9p/SKILL.md
+++ b/.agents/skills/pardes-9p/SKILL.md
@@ -311,7 +311,10 @@ as read acts on its text when the range is empty (the only way for a record
at `0 0`). Chord reports need explicit handling. A record is
`<origin><action><q0> <q1> <flag> <n> <text>\n` and its text may hold
newlines: read `n` bytes of text, never up to the next newline (acme counts
-runes; pardes counts bytes, as all its offsets are).
+runes; pardes counts bytes, as all its offsets are). Every address lands on a
+rune boundary, never inside one and never widened to a grapheme cluster: `#n`
+or `line:col` inside a rune snaps back to its start, a match covers the runes
+it touches, and a combining mark or a CRLF's `\r` is addressable alone.
A Restore puts a new editor under every client: the Restore write is
answered, then every connection is hung up (their fids name the old
editor's panes); dial again, and the new log names the restored panes then