Skip to content

suggest using eval_path if path isn't found in llm-step's resolve (used by ls and read) - #308

Merged
nishu-builder merged 1 commit into
mainfrom
read-names-eval-path
Oct 5, 2026
Merged

nishu-builder merged 1 commit into
mainfrom
read-names-eval-path

Conversation

@nishu-builder

Copy link
Copy Markdown
Contributor

read caos-std/README.md failed with only caos resolve <tree> caos-std/README.md /cas/resolved-1 exited with exit status: 1. caos-std/ exists only in the evaluated tree, so the fix was to call eval_path, then read with the hash it returns as root. Nothing the model could see said that, and a cloud session concluded the std index couldn't be read.

  • llm-step resolve() (shared by read and ls) now runs caos resolve with its output captured. If the path is missing from the conversation tree and no root was given, the error says to use eval_path and pass its hash as root. Any other failure carries caos's own reason instead of an exit status. The lookup still never evaluates; it names the tool that does, because evaluating can start a build.
  • Help text: read, ls and grep now name eval_path as a source of root.
  • Stale docs: MCP.md and std/llm-step/.caos-expr still said bash, caos-build and caos-test are registered tools. Since 90dc0f55 they're reached by path, as caos-std/<name>.

Tested:

  • llm-step unit tests: 49 pass, including 2 new ones for the message.
  • A caos-cli talk conversation pinned to this branch got the new error from read caos-std/README.md, followed it (eval_path, then read with root), and returned the README.
  • The full caos-test suite was not run.

Changing std/llm-step re-keys it, so the first session on the next pin rebuilds llm-step once.

🤖 Generated with Claude Code

`read caos-std/README.md` failed with `caos resolve <tree> caos-std/README.md
/cas/resolved-1 exited with exit status: 1` and nothing else. caos-std/ is a
mount that exists only in the evaluated tree, so the answer was eval_path
then `read` with its hash as `root` -- but nothing a model could see said so,
and a cloud session concluded the std index was unreadable.

resolve() now runs `caos resolve` with its output captured. A path missing
from the conversation tree, with no `root`, says what to do instead; any
other failure carries caos' own reason rather than an exit status. The lookup
still never evaluates: it names the tool that does, since evaluating can
build. read, ls and grep's help name eval_path as a source of `root`.

Two stale descriptions of the registry go with it: MCP.md listed `bash`
and the caos build/test tools among llm-step's tools, and llm-step's
.caos-expr said it binds bash-tool, caos-build and caos-test. Since
90dc0f5 those are reached by path, as `caos-std/<name>`.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@nishu-builder nishu-builder changed the title llm-step: a path missing from the conversation names eval_path llm-step: suggest using eval_path if path isn't found in llm-step's resolve (used by ls and read) Oct 5, 2026
@nishu-builder nishu-builder changed the title llm-step: suggest using eval_path if path isn't found in llm-step's resolve (used by ls and read) suggest using eval_path if path isn't found in llm-step's resolve (used by ls and read) Oct 5, 2026
@nishu-builder
nishu-builder merged commit 97877bd into main Oct 5, 2026
2 checks passed
@nishu-builder
nishu-builder deleted the read-names-eval-path branch October 5, 2026 13:42
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