Read-only gated on _MUTATING_TOOLS, which is the palace-write set the peer-writer lease consults to decide which calls need the palace mine lock. Two tools change state without touching the palace, so they are correctly absent from that set and were served on a --read-only server anyway: mempalace_hook_settings rewrites ~/.mempalace/config.json via MempalaceConfig.set_hook_setting, and mempalace_memories_filed_away unlinks ~/.mempalace/hook_state/last_checkpoint on both branches. Add _READ_ONLY_REFUSED_TOOLS and point the dispatch gate and the tools/list filter at it. _MUTATING_TOOLS and the peer-writer path are unchanged: adding the two names there instead would put a config-only tool under the palace lease, so a server that lost the lease to a peer would answer -32001 for a call the lease has no say over. mempalace_reconnect stays reachable on purpose and the comment records why, since clearing ChromaBackend._quarantined_paths lets the reopen rename a segment directory. The two --read-only help strings and the matching row in the remote-server guide said "the mutating tools", which now names the narrower set. |
||
|---|---|---|
| .. | ||
| .vitepress | ||
| concepts | ||
| guide | ||
| public | ||
| reference | ||
| .gitignore | ||
| bun.lock | ||
| index.md | ||
| package.json | ||