<feed xmlns='http://www.w3.org/2005/Atom'>
<title>pardes.git/docs/fs.md, branch release-0.24</title>
<subtitle>Pardes</subtitle>
<id>https://git.0x4200.cafe/pardes.git/atom?h=release-0.24</id>
<link rel='self' href='https://git.0x4200.cafe/pardes.git/atom?h=release-0.24'/>
<link rel='alternate' type='text/html' href='https://git.0x4200.cafe/pardes.git/'/>
<updated>2026-10-01T03:12:17Z</updated>
<entry>
<title>The reference is fs.md's per-file semantics, errors and limits in Typst, with the settings table, and says what the pane ctl's Left, Right, Up and Down do</title>
<updated>2026-10-01T03:12:17Z</updated>
<author>
<name>Gabriel Schneider</name>
<email>gbrls@0x4200.cafe</email>
</author>
<published>2026-10-01T02:04:26Z</published>
<link rel='alternate' type='text/html' href='https://git.0x4200.cafe/pardes.git/commit/?id=5e72bfc34cc97d12be5185930135b55c2eb001b4'/>
<id>urn:sha1:5e72bfc34cc97d12be5185930135b55c2eb001b4</id>
<content type='text'>
Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Docs say how a look resolves a relative path: the looking pane's directory, then each jump-list pane's, most recent first</title>
<updated>2026-10-01T03:12:17Z</updated>
<author>
<name>Gabriel Schneider</name>
<email>gbrls@0x4200.cafe</email>
</author>
<published>2026-10-01T00:58:59Z</published>
<link rel='alternate' type='text/html' href='https://git.0x4200.cafe/pardes.git/commit/?id=78e01b9da2090c7c626640fd9103b6e97d4644b5'/>
<id>urn:sha1:78e01b9da2090c7c626640fd9103b6e97d4644b5</id>
<content type='text'>
fs.md's look section and tags.md said nothing of where a relative path
is looked for, so a look that found a file in a directory visited an
hour ago, or not in an open pane never visited, was a surprise. The
order is written as look.zig's resolveLookTarget has it.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Docs give a look miss's real words, that event is one reader's, the real cap on held reads, Dump's Restore word, a reused command pane's runs, and the one-write trap</title>
<updated>2026-10-01T03:12:17Z</updated>
<author>
<name>Gabriel Schneider</name>
<email>gbrls@0x4200.cafe</email>
</author>
<published>2026-10-01T00:40:57Z</published>
<link rel='alternate' type='text/html' href='https://git.0x4200.cafe/pardes.git/commit/?id=86ce788e925bd19297213ef14cf02fa564ae9f10'/>
<id>urn:sha1:86ce788e925bd19297213ef14cf02fa564ae9f10</id>
<content type='text'>
fs.md's look misses now read as the editor says them (&lt;path&gt;:99 has no
line 99, has no page N); event says a second reading open fails file in
use; held reads say the 64 state-holding opens are the real cap, under
the 128 a connection may park; Dump says it adds a Restore word to the
workspace tag; a reused command pane's body is said to keep each run
under a % line, with how to take the last. The 9P skill gains the trap
that bash's printf to a mounted ctl arrives one write per line.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Edit's w and the other left-out sam commands fail EIO in words, never EOPNOTSUPP, and /os refuses a rename or a chmod as not permitted, EACCES</title>
<updated>2026-10-01T03:12:17Z</updated>
<author>
<name>Gabriel Schneider</name>
<email>gbrls@0x4200.cafe</email>
</author>
<published>2026-10-01T00:40:57Z</published>
<link rel='alternate' type='text/html' href='https://git.0x4200.cafe/pardes.git/commit/?id=f8710ab27b54bf0241ad2ed629ccc98aaa619709'/>
<id>urn:sha1:f8710ab27b54bf0241ad2ed629ccc98aaa619709</id>
<content type='text'>
"w is not supported in pardes" read through a mount as EOPNOTSUPP, as
if the file system lacked an operation, and a chmod under /os was
answered "invalid truncate", EINVAL. An Edit command pardes leaves out
now says so in words 9ns reads as EIO, and a rename or mode change of
an /os file is "permission denied", EACCES. fs.md's Failure section and
/os entry say both.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>name takes any byte a file name can hold, controls, edge blanks and bytes not UTF-8 included, so what name reads writes back as it was</title>
<updated>2026-10-01T03:12:17Z</updated>
<author>
<name>Gabriel Schneider</name>
<email>gbrls@0x4200.cafe</email>
</author>
<published>2026-10-01T00:29:39Z</published>
<link rel='alternate' type='text/html' href='https://git.0x4200.cafe/pardes.git/commit/?id=20685b048fcb307840451471679339c9b9704b23'/>
<id>urn:sha1:20685b048fcb307840451471679339c9b9704b23</id>
<content type='text'>
A pane opened on a file whose name held a tab, a control byte or bytes
not UTF-8 read that name from its name file, and the same bytes written
back were refused. Only what no file name holds is refused now: a second
line and a NUL. The ctl word name still refuses a second blank after the
word, as a line's words are split at blanks.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Views generated by each read stat 0, as acme's do: data, xdata, index, layout, recent and listeners; fs.md says which files have real lengths</title>
<updated>2026-10-01T03:12:17Z</updated>
<author>
<name>Gabriel Schneider</name>
<email>gbrls@0x4200.cafe</email>
</author>
<published>2026-10-01T00:19:57Z</published>
<link rel='alternate' type='text/html' href='https://git.0x4200.cafe/pardes.git/commit/?id=137dc2ea4be0fc5baf4cab1d8a757ce426e5cbb2'/>
<id>urn:sha1:137dc2ea4be0fc5baf4cab1d8a757ce426e5cbb2</id>
<content type='text'>
A stat of index, layout, recent or listeners built the whole view to
count it, and data and xdata reported the body's length though a read
answers what addr selects. Those now stat 0, as screen and pane/new
already did, and fs.md lists the files whose length is real and says to
read the rest to the end.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>A diff line looks up the path and line it names, as any look does</title>
<updated>2026-10-01T03:12:17Z</updated>
<author>
<name>Gabriel Schneider</name>
<email>gbrls@0x4200.cafe</email>
</author>
<published>2026-10-01T00:38:57Z</published>
<link rel='alternate' type='text/html' href='https://git.0x4200.cafe/pardes.git/commit/?id=988b288b870dd0165f09b991839c2c37fcd3fd62'/>
<id>urn:sha1:988b288b870dd0165f09b991839c2c37fcd3fd62</id>
<content type='text'>
The look on a diff line was its own resolver: a walk up to .git/.jj from
the diff's directory, its own "no such file here" and "deleted by this
diff". A review tool's cached patch, in no repository, missed every file
though the session's terminals sat in the checkout.

Now a diff line only expands and transforms. Its expansion (what the hover
shows) is the whole line for a header, a `@@` line, or a hunk line
pointed at on its prefix, and its text is the look address the line names
(look.diffAddress): `path` for `diff --git`/`---`/`+++`, `path:c` for
`@@ -a,b +c,d @@`, `path:N` for a hunk line's new line (a removed line's,
the new line now where it was). That text goes through the regular look
exactly as if selected by hand: same resolution, placement and errors. A
9P look of a whole diff line takes the same transform.

Kept: the line classification, hunk arithmetic, git prefix stripping and
timestamp cutting (diff.zig). Gone: the repo-root walk, its messages,
Target.old_side and deletesAhead, and the click's row stash
(Pardes.diff_look). A test compares a B3 on a cached patch's line with a
look of the hand-selected `entry/src/entry.rs:2` in the same session.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Recent and /recent keep PDFs and images as they keep files, and an open file's row is where its dot is now</title>
<updated>2026-10-01T03:12:17Z</updated>
<author>
<name>Gabriel Schneider</name>
<email>gbrls@0x4200.cafe</email>
</author>
<published>2026-09-30T23:09:32Z</published>
<link rel='alternate' type='text/html' href='https://git.0x4200.cafe/pardes.git/commit/?id=f8fe738416fe3a40a7136f2cb5528e8fd57f40df'/>
<id>urn:sha1:f8fe738416fe3a40a7136f2cb5528e8fd57f40df</id>
<content type='text'>
Only text files were recorded, so a PDF read yesterday was not there to
find again, and an open file's row showed the place it last closed at,
stale by however far it had moved since. A PDF is kept at its page and
reopened there from its row; an image by its path; an open one's row
reads its pane's place at the time of the listing.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Docs say what Rename, a look at a missing or unreadable file, Restore, a PDF's body and one open's undo step do, and the PDF tag in its order</title>
<updated>2026-10-01T03:12:17Z</updated>
<author>
<name>Gabriel Schneider</name>
<email>gbrls@0x4200.cafe</email>
</author>
<published>2026-09-30T22:50:57Z</published>
<link rel='alternate' type='text/html' href='https://git.0x4200.cafe/pardes.git/commit/?id=872294ece905b8b5336e01ec3ce3f5420cd35b50'/>
<id>urn:sha1:872294ece905b8b5336e01ec3ce3f5420cd35b50</id>
<content type='text'>
fs.md said Rename lists the places; it says its count and lists none.
It now also says a look at no such file is a logged miss while an
unreadable one fails the write, that Restore brings no jump list back,
that a PDF's body is read-only page text no address reaches, and that
one open's writes are one undo step only while nothing else edits the
pane between them. tags.md listed the PDF tag's words out of order.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>fs.md says a body write to a terminal is typed input, never a bracketed paste</title>
<updated>2026-10-01T03:12:17Z</updated>
<author>
<name>Gabriel Schneider</name>
<email>gbrls@0x4200.cafe</email>
</author>
<published>2026-09-30T20:42:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0x4200.cafe/pardes.git/commit/?id=73050ca20405fc14c2e3a53b692954b1771dfe24'/>
<id>urn:sha1:73050ca20405fc14c2e3a53b692954b1771dfe24</id>
<content type='text'>
A write to a terminal's body goes to its child as typed keys: no
bracketed-paste marks around it, even when the program set 2004, so a
newline in it is Enter and a shell runs each line. fs.md did not say
which, and a script cannot guess. It does now, and a test writes to a
terminal whose program asked for bracketed paste and checks the bytes
sent are only the ones written.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
</feed>
