From fb4d76a3aa8013d7cb4f2cfa026fc0dc865be70e Mon Sep 17 00:00:00 2001 From: Levi Neely Date: Fri, 24 Apr 2026 08:41:46 +0200 Subject: [PATCH] server, docs: remove batch jobs; rename spec -> cfg BatchStore removed from server. s/new always creates an interactive session. Filesystem layout updated: batch dirspec gone, cfg replaces spec in session dirspec, s/job -> s/b, s/q -> s/bfg, s/sched -> s/bbg. Co-Authored-By: Claude Sonnet 4.6 --- README.md | 36 +++++++++++------------------------- server.go | 2 +- 2 files changed, 12 insertions(+), 26 deletions(-) diff --git a/README.md b/README.md index 87ca311..d08b880 100644 --- a/README.md +++ b/README.md @@ -27,29 +27,25 @@ ollie/ creation and is not served via p/. The assembled system prompt is visible at s//systemprompt. - s/ dir: sessions, session management scripts, and batch job scripts - new r/w: read: KV template; write: create session or batch job (see below) - idx read: index of all sessions and batch jobs (id, state, cwd, backend/agent — one per line) + s/ dir: sessions and session management scripts + new r/w: read: KV template; write: create session + idx read: index of all sessions (id, state, cwd, backend, model — one per line) sh exec: interactive chat shell ls exec: list active sessions kill exec: kill a session by ID - job exec: core batch job runner (submit, wait, print result) - q exec: foreground one-shot query; thin wrapper around job - sched exec: submit background job; prints s/ path; wrapper around job - cleanup exec: remove all batch jobs with state "done" + b exec: one-shot query: create session, submit prompt, wait, print result, kill + bfg exec: batch foreground: submit prompt, wait, print result + bbg exec: batch background: submit prompt, print session path, return immediately + cleanup exec: kill all idle sessions - Writing to s/new creates either an interactive session or a batch job depending on format: - key=value pairs only (no --- separator) => interactive session - key=value pairs + \n---\n + prompt body => batch job (one-and-done lifecycle) - - Interactive session directories (multi-turn, idle<=>running): + Session directories (multi-turn, idle<=>running): / rm -r to kill; mv to rename - spec r/w: KV snapshot of config and current state; write partial KV to mutate - read fields: state, backend, model, agent, cwd, usage, ctxsz, offset, + cfg r/w: KV snapshot of config and current state; write partial KV to mutate + read fields: state, backend, model, agent, cwd, maxTokens, temperature, frequencyPenalty, presencePenalty writable fields: backend, model, agent, cwd, maxTokens, temperature, frequencyPenalty, presencePenalty - (state, usage, ctxsz, offset are read-only; silently ignored on write) + (state is read-only; silently ignored on write) chat read: cumulative conversation history ctl write: stop | fifo.in write: queue a prompt for later execution @@ -62,16 +58,6 @@ ollie/ models read: available models from the backend systemprompt read: fully rendered system prompt for this session tail exec: exec tail -f chat - - Batch job directories (one-and-done: running => done | failed): - / rm -r to cancel and remove - spec read: verbatim spec as submitted to s/new - state read: running | done | failed: - statewait read: blocks until terminal state; returns final state - result read: assistant reply (populated when done) - usage read: token counts - ctxsz read: context size - log read: raw event log (tool calls, assistant output) sk/ dir: skills (r/w, from OLLIE_SKILLS_PATH or ~/.config/ollie/skills/) .md r/w: skill SKILL.md content t/ dir: tool scripts (r/w, backed by ~/.config/ollie/tools/) diff --git a/server.go b/server.go index e6d3dac..902b829 100644 --- a/server.go +++ b/server.go @@ -1364,7 +1364,7 @@ func (s *Server) makeStat(path string) plan9.Dir { mode = 0200 case "chat", "usage", "ctxsz", "models", "fifo.out", "offset", "statewait", "systemprompt": mode = 0444 - case "spec": + case "cfg": mode = 0666 case "tail": mode = 0555