Load filebase + content from daemon (
File.read).
Wire:
result is the File row
(indexed id when in project, else id == -1); response.msg
is file content; response.msg_encode: 0
when result.is_text, 1
= base64 otherwise. Populates buffer from decoded msg
— **🚫** no local disk read on thin client.
Whether the path may be read (project vs permission-granted) is a tool/client decision; the daemon reads
params.path
on disk.