Refine spill and completion docs after cross-platform hardening

- Spill permissions are POSIX-only; note the temp-file + rename write so
  readers know a visible spill file is always complete
- Add the .list kind completion bullet, which now includes prompts
2026-08-25 11:38:53 -06:00
parent 5ccd7b2ba9
commit f8614276e2
2 changed files with 5 additions and 2 deletions
+3 -2
@@ -635,8 +635,9 @@ Binary content is **never** inlined into model context. Instead:
1. Coyote first attempts a UTF-8 decode of the blob. If it decodes cleanly, it is treated as text and paged inline
regardless of the server's claimed MIME type (servers mislabel text constantly).
2. Genuinely binary content is decoded (up to a 50 MiB ceiling) and written to
`<cache_dir>/mcp-resources/<server>/<sha256>.<ext>` with `0600` permissions, and the read returns a
self-describing metadata object instead of the bytes:
`<cache_dir>/mcp-resources/<server>/<sha256>.<ext>`, with `0600` permissions on POSIX systems. Writes land in a
temp file and are renamed into place, so a visible spill file is always complete, even with concurrent readers.
The read returns a self-describing metadata object instead of the bytes:
```json
{
+2
@@ -18,6 +18,8 @@ things like
* `.set key <tab>` to complete configuration values
* `.mcp auth <tab>` to complete remote MCP server names
* `.macro <tab>` to complete macro names and the `enable`/`disable` subcommands
* `.list <tab>` to complete the listable kinds (`roles`, `sessions`, `agents`, `rags`, `macros`, `skills`,
`prompts`, `tools`, `mcp-servers`, `bundles`)
* `.prompt <tab>` to complete MCP servers, then prompt names, then `key=` arguments, queried live from the
running servers (see [`.prompt`](#prompt---invoke-an-mcp-server-prompt) below)
* **Multi-Line Prompts:** You can also type prompts that span more than one line to help organize your thoughts. This