Skip to content

cli: correct fs help and learn.md - #65

Merged
pcarrier merged 9 commits into
yas-run:mainfrom
indent-com:fix/fs-help
Oct 15, 2026
Merged

pcarrier merged 9 commits into
yas-run:mainfrom
indent-com:fix/fs-help

Conversation

@mgasner

@mgasner mgasner commented Sep 28, 2026

Copy link
Copy Markdown
Collaborator

Stacked on #47. Review only the top commit, "cli: correct fs help and learn.md".

This fixes help text and learn.md:

  • The --no-ignore help now says results stay in path order.
  • The fs sync PATH help now says the path is relative to the client's cwd.
  • learn.md used flags that don't exist: fs mkdir -p is now fs mkdir --parents, and fs rm -r is now fs rm.

Fork PR with the isolated diff: indent-com#30.

View in Indent
Tag @indent to continue the conversation here.

@pcarrier
pcarrier force-pushed the main branch 2 times, most recently from d3cddfa to 9d19cd5 Compare October 8, 2026 02:54
@indent
indent Bot force-pushed the fix/fs-help branch 4 times, most recently from 8581425 to 85b2308 Compare October 15, 2026 01:43
@indent
indent Bot deleted the fix/fs-help branch October 15, 2026 13:07
@indent
indent Bot force-pushed the fix/fs-help branch 2 times, most recently from 85b2308 to 1da42f4 Compare October 15, 2026 13:10

@ultimator-ai ultimator-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ultimator's review of 1da42f4

This round is a rebase onto bc9ba7c. The top commit, "cli: correct fs help and learn.md", has the same help and learn.md text as 85b2308: client-cwd wording for fs sync, git --repo and lsp --root, --no-ignore/-m help, and learn.md now using fs mkdir --parents and plain fs rm dir. It matches the stacked behavior changes, and I found no defects. CI for 1da42f4 is not reported yet (85b2308 passed 11 checks).

No issues found.

Reviewed in 14s · Session · @ultimator-ai review reviews again · @ultimator-ai fix fixes the open issues

@ultimator-ai

ultimator-ai Bot commented Oct 15, 2026

Copy link
Copy Markdown

Skipped this pull request: the review of 1da42f4 covers it · Session

A status snapshot can reflect an index written after its pass reconciled
the watch set; the set catches up on the pass that index event triggers.
Tests that asserted the set right after the snapshot raced that pass. The
debug hook now signals each published set, and the tests wait on it.
Windows PowerShell 5.1 can take over 20 s to print its first line when the
runner starts it cold under the parallel suite, which failed read_until's
20 s timeout. read_until now waits for the next event; an early exit still
fails the test. The residue grace is measured from the first output, so a
slow start no longer counts against it.
run_git_watch opened every subscription with an empty snapshot and only
delivered repository state as a later Reset. One-shot `yas git status`
printed that empty snapshot, so it always said clean. The first native
snapshot now is the initial snapshot.
A PATCH_TEXT answer needs a content object and neither INDEX nor WORKTREE
names one, so `yas git diff -p` failed with Unsupported. Use the null
object ID for patches between two mutable endpoints.
`yas git show REV` sent a BLOB query for the commit and failed with
Invalid. It now prints the commit in `git cat-file commit` layout (from
the LOG record), and lists a directory for REV:DIR and REV:.

--repo and `git discover PATH` were sent verbatim, so relative paths
(including the default `.`) resolved against the server's cwd. They now
resolve against the client's cwd, like fs and lsp --root.
The server family pairs a native LOCATION with the MARKUP that follows it
into one HoverRecord, but translate::hover pushed the markup first, so
every hover failed with "LSP markup has no target location" (surfaced as
Internal: no detail). Push the location first, as one group, and fall
back to the empty range at the queried position when the language server
reports no range.
run_lsp_watch sent a buffer-only initial snapshot and delivered the
engine's retained diagnostics only as a later Reset, so one-shot
`yas lsp diagnostics` always printed nothing and exited 0. The initial
snapshot of a diagnostics subscription now waits for the engine's first
diagnostics replay.

--wait now waits for indexing, then for the next published diagnostics,
ending after 5 seconds without any server update so a clean workspace
still returns.

Help: lsp --root is relative to the client's cwd, not the server's;
learn.md names the actual `Busy: Warming` error.
enumerate_paths walked with hidden(false), which keeps dotfiles as the
design wants but also descended into .git, so grep and find searched
repository metadata. .git is now pruned like an ignored directory, and
with ignored paths included it is walked and marked ignored
(docs/design/fs-grep.md).

GREP's default per-file cap was the page record limit and counted from
the first match, so a file with more matches than one page could hold
lost the rest even though the cursor resumed inside it. Zero now caps
nothing.

`yas fs grep -m N` sent N as the page record limit and kept paging, so it
never limited anything, -m 1 failed with Invalid, and small pages hit the
dropped-match bug above. It now uses the default page size and stops
after N matching files; a file split across pages counts and prints
once, and multi-page searches no longer warn that results were
truncated.
--no-ignore results are in path order, not ranked after tracked files;
fs sync PATH resolves against the client's cwd; -m 0 means no limit.
learn.md used `fs mkdir -p` and `fs rm -r`, which do not exist; they are
`--parents` and plain `rm`.

@ultimator-ai ultimator-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ultimator's review of 1795981

This round is a re-stack. The top commit, "cli: correct fs help and learn.md", has the same text as 1da42f4 (cli.rs help, learn.md), and I found no new issues in it. The only change since is in a stacked commit under it, which is out of scope here: debug_wait_worktree_watches (crates/git/src/state.rs) lost its 5 s timeout, so a watch set that never publishes hangs the git engine test instead of failing it. CI for 1795981 has not reported yet.

No issues found.

Reviewed in 15s · Session · @ultimator-ai review reviews again · @ultimator-ai fix fixes the open issues

@yas-run yas-run deleted a comment from indent Bot Oct 15, 2026
@pcarrier
pcarrier merged commit 0b0786b into yas-run:main Oct 15, 2026
10 of 11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants