ollie/fs/session
Levi Neely 59b672966f toolsrv: unified socket-based execution
Execution is now identical for local and remote:
- Session calls Spawn()/SpawnRemote() → owns *Process with socket
- Clients call Dial(LocalAddr(socket)) → *Conn over Unix socket
- ollie-remote serves --listen mode with multi-client accept loop
- Builtins (shell, tool_load, skill_load) run in subprocess with registries

Lifecycle:
- Pdeathsig ensures children die with parent (no orphans)
- Cleanup: SIGTERM → 3s grace → SIGKILL (guaranteed)
- Socket paths use atomic counter for uniqueness
- Session Kill() closes Process

Protocol:
- Extended RPC: set_env, set_cwd, detach, list_detached, etc.
- Shell goes through builtin dispatch (parses 'cmd' field correctly)
- Streaming output via JSON-RPC notifications
2026-07-31 14:10:47 +02:00
..
create.go toolsrv: unified socket-based execution 2026-07-31 14:10:47 +02:00
files.go remove emoji reaction feature (core, dbus, KDE GUI) 2026-07-31 09:09:24 +02:00
format.go flatten: absorb submodules into single Go module 2026-07-30 18:57:51 +02:00
fs.go flatten: absorb submodules into single Go module 2026-07-30 18:57:51 +02:00
fs_test.go flatten: absorb submodules into single Go module 2026-07-30 18:57:51 +02:00
perm.go remove s/, u/, x/ script namespaces and 9P backing 2026-07-30 21:36:54 +02:00
persist.go toolsrv: unified socket-based execution 2026-07-31 14:10:47 +02:00
root.go remove s/, u/, x/ script namespaces and 9P backing 2026-07-30 21:36:54 +02:00
session.go flatten: absorb submodules into single Go module 2026-07-30 18:57:51 +02:00
synth.go flatten: absorb submodules into single Go module 2026-07-30 18:57:51 +02:00
tree.go flatten: absorb submodules into single Go module 2026-07-30 18:57:51 +02:00
types.go toolsrv: unified socket-based execution 2026-07-31 14:10:47 +02:00