Who owns the log
Development reference · View source
Log ownership follows editor-state ownership:
| Mode | Owner | File |
|---|---|---|
| ide | the TUI process | .runyte/standalone-<pid>.log |
| mux | the host process | .runyte/host.log |
| editor | the TUI process, only with --log PATH | that path |
- An ide-mode name includes the process ID because several ide-mode editors may open one workspace; two can never write or rotate the same file.
- A host has one name because exactly one host serves a workspace, and it keeps logging while no TUI is attached.
- A client never appends to a host’s log or forwards records over the local protocol: transport diagnostics must not depend on the transport working. The host records what it sees of clients — attachment, detachment, refusal, disconnection, and rejected frames.
- Failures confined to a client’s own input, rendering, or terminal setup are printed to stderr after the terminal is restored, and are not in the host log.
- Logs live under the runtime state boundary, normally
.runyte/, and never under a Git-tracked directory.
File safety:
- Linux and macOS create logs owner-only (
0600). Windows uses a protected ACL granting access to the owning user. - Private storage needs local NTFS on Windows; network volumes, reparse points, and hardlinked files are refused. Other filesystem types are unsupported.
- Writes reject symlinked parent directories, symlinked targets, hard-linked files, and special files such as FIFOs.
- Rotation uses the opened file and directory even if their names change.
- A refused default log is reported without blocking editing. An unusable
explicit
--logfails startup.