Commit Graph

262 Commits

Author SHA1 Message Date
Levi Neely 7d44e9ac1f doc: add tool overlays documentation
- Add doc/tool-overlays.md explaining meta-only tools and overlay pattern
- Examples: ripgrep, kubectl, MCP server wrapping
- Update README.md with tool overlays row in capabilities table
2026-08-12 19:14:32 +02:00
Levi Neely 92d9fec51a docs: fix auth section - both servers use attach identity for permissions 2026-08-12 18:20:34 +02:00
Levi Neely 255986bad6 docs: fix 9p.md auth section, clarify toolsrv Tauth and aname scoping 2026-08-12 18:17:39 +02:00
Levi Neely 79a7cc68c7 docs: rewrite 9p.md to match current olliesrv and toolsrv namespaces 2026-08-12 18:16:55 +02:00
Levi Neely c2df612da5 docs: update usage.md slash commands, fix context model description 2026-08-12 18:12:01 +02:00
Levi Neely 31d550a94b docs: update README and usage for current architecture 2026-08-12 18:06:22 +02:00
Levi Neely fe24736b19 docs: update for background process changes
- doc/TODO.md: remove stale bgTracker cleanup item, add future considerations
- doc/9p.md: add proc/ section with list, new, new.bg, and per-pid files
- doc/9p.md: document <system-proc-complete> push mechanism
- README.md: update background process description
2026-08-12 17:39:16 +02:00
Levi Neely 6eb3bf960b refactor: query toolsrv directly for proc list
- ListProcs() now queries toolsrv directly instead of local tracker
- Remove ownership verification from SignalProc/ProcOutput/DismissProc
- Clean up stale procs from local tracker when they disappear from toolsrv
- Document local tracker quirk in TODO.md for future cleanup
2026-08-12 16:06:22 +02:00
Levi Neely 9bb3cd76b8 Remove sudo mechanism from bypass system
The sudo credential broker was never functional and added complexity
without value. This removes:

- Sudo field from bypass Request structs (broker, client, toolsrv)
- Sudo parameter from EvaluateRequest interface and implementations
- Sudo/ResetsCounter fields from MetaFile and Variant structs
- sudo: true from system_logs.meta variants
- All sudo documentation from writing-tools.md, tool-registry.md,
  core.md, evolution.md, and misc.md

Bypass remains fully functional for sandbox escapes. Tools that need
elevated privileges should handle that internally or be run manually.
2026-08-12 08:58:41 +02:00
Ollie Agent b01dbdfba8 sandbox: single config, no named profiles
Removed the named sandbox concept. One config file: sandbox.yaml
(installed to ~/.config/ollie/sandbox.yaml). Removed sandbox-remote.yaml,
moved restricted.yaml to doc/ as a sample. Removed the 'sandbox' arg
from tool dispatch.
2026-08-11 21:23:23 +02:00
Ollie Agent 9e4c7582a3 doc: remove stale logging section from evolution.md 2026-08-11 10:25:54 +02:00
Ollie Agent 391465be77 doc+fix: background procs force timeout=0, update docs
- Background procs get timeout=0 (no deadline) set by toolsrv at
  the execution layer — not injected as an arg from olliesrv.
  Foreground default remains 30s. User can still override via args.
- Timeout logic simplified: caller sets default, ExecuteTool honors it.
- System prompt: clarify background has no timeout, uses 'stop' not 'kill'
- architecture.md: document lifecycle (connection-based ownership)
- evolution.md: update interrupt section with streaming, lifecycle, id= format
- README.md: add parallel execution to capabilities table
2026-08-11 10:18:30 +02:00
Ollie Agent 12babf2f92 doc: document parallel execution, background interrupts, and dispatch flags 2026-08-11 08:30:31 +02:00
Ollie Agent 3e6d1aa7d5 doc: update concurrency section with parallel fan-out and protocol constraints 2026-08-11 08:06:38 +02:00
Ollie Agent bb58c42f4f doc: note concurrency as unsolved problem in toolsrv evolution 2026-08-11 07:32:38 +02:00
Ollie Agent 41969ed4b2 doc: clarify toolsrv lifecycle for local vs SSH-remote case 2026-08-11 07:27:38 +02:00
Ollie Agent 4b7d5cdd79 doc: update architecture, evolution, README for toolsrv 9P migration
- README: toolsrv shown as separate child process in architecture diagram,
  cmd/toolsrv added to repository layout table
- architecture.md: repository structure reflects cmd/{olliesrv,toolsrv}
  internal packages, package table updated for two-server model
- evolution.md: add Phase 20 (toolsrv 9P migration & process isolation),
  update topology diagram, add to gantt chart
2026-08-11 07:24:53 +02:00
Ollie Agent fbe8059cf5 maintainability: docs, contracts, structural cleanup
- doc/boot-sequence.md: init chain from main → fs.NewRoot → session.Init
- Event protocol: comprehensive table on Event struct (all roles, semantics)
- RPC server moved from cmd/ollie-remote into toolsrv/rpcserver.go
  (binary is now a 93-line thin wrapper)
- SetSessionEnv folded into NewAgent (no post-construction wiring needed)
- AgentCfg → AgentParams (distinguish from AgentConfig JSON schema)
- ToolResult/ToolResultContent shared types in toolsrv/rpcwire.go
- toolsrv/shell.go → toolsrv/exec.go (name matches purpose)
- Resume unified: single path, always through Keeper
- AGENTS.md: fix fs/builder.go → fsedsl/builder.go, handlers_*.go
- fsedsl/Tree: document dual-mode (EDSL lazy vs Manual Mount)
- Truncation stack documented at defaultToolResultMaxBytes
- Integration test rewritten to use srv.ServeRPC directly
2026-08-09 21:45:56 +02:00
Ollie Agent 2d74ffb95e prompt audit: trim system prompt, kill dead code, improve maintainability
- System prompt: ~200 → ~80 lines (removed tool-first table, API docs,
  output protocol, dead 9P entries)
- Removed AllowTools entirely (field, RPC, configs)
- Removed PRIME_* env vars, replaced with typed struct fields
- Merged tool listing + docs into single renderTools()
- Killed BuildToolListing, changed OnToolsChanged to func() signal
- Typed Preamble.Section (compile-time safety)
- Added protocol docs on extractToolResult
- Added session/ package godoc
- Moved output protocol to per-agent prompts
- Rewrote data/agents/README.md
- Moved 7 reference docs from doc/resources/ to doc/
- Deleted PromptEnv() dead function
2026-08-09 14:13:52 +02:00
Ollie Agent 1dcde13f26 rm doc 2026-08-09 12:55:02 +02:00
Ollie Agent 9c90cb8954 refactor: reduce redundancy, remove dead code, improve structure
- Fix CodeWhisperer SetModel cache invalidation bug
- Remove dead code: gemini stub, orphaned comments, kiroMetadataEvent
- Extract paths.NewUUID() replacing 3 duplicate UUID implementations
- Export toolsrv.BuildToolListing, deduplicate tool listing render
- Extract baseBackend struct (Name/Model/SetModel) embedded in all backends
- Unify backend factory post-processing (7 if-blocks → 1)
- Split fs/handlers.go (888 lines) into handlers_{root,session,agent}.go
- Strip dead filesystem-backed tree code from fsedsl (WithReadOnly,
  WithIndex, WithResolver, ValidateReadMode, resolve/writePath fallbacks)
2026-08-09 11:23:25 +02:00
Ollie Agent 25924d0909 fs: add /help ctl command — returns command reference 2026-08-09 03:32:21 +02:00
Ollie Agent aa74e1c683 docs: fix stale references in 9p.md, usage.md, misc.md
- 9p.md: update agent file table to current namespace
- usage.md: readloop→read -l, tail→read chat, command table updated,
  TUI description updated (no grep pipe)
- misc.md: readloop→read -l
2026-08-09 03:10:20 +02:00
Ollie Agent 42823dab2e docs: update README, AGENTS.md, architecture, evolution for Aug 9 changes
- README: fix CLI commands, repo layout (remove detach/, add fsedsl/lib9p)
- AGENTS.md: update architecture section (ctl rdwr, bypass, tool_load)
- architecture.md: rewrite namespace tree to match current state
- evolution.md: add Aug 9 section documenting all simplifications
2026-08-09 03:06:05 +02:00
Ollie Agent c7aea0db59 rename elevate→bypass throughout
The sandbox escape mechanism is a bypass, not privilege elevation.
The old name caused the agent to confuse it with sudo.

- elevate/ → bypass/ (package, types, tests)
- elevate_notify.go → bypass_notify.go
- Namespace: /elevate → /bypass, session/*/elevate → session/*/bypass
- Tool arg: "elevated" → "bypass"
- Env: OLLIE_ELEVATE_SOCKET → OLLIE_BYPASS_SOCKET
- File: elevate-policy.yaml → bypass-policy.yaml
- All docs, prompts, and scripts updated
2026-08-09 02:22:39 +02:00
Ollie Agent 38b35f1ba5 toolsrv/agent: rename ClassifyTool→CanParallelize, ClassifyTier→MemoryTier
Rename throughout: Go methods, interface types, Runtime fields, wire
protocol RPCs, tests, and ollie-remote.

- IsParallelRead / ParallelClassifier → CanParallelize
- ResultTier / ResultTierArgs / TierClassifier → MemoryTier / MemoryTierArgs / MemoryTierClassifier
- Wire: is_parallel_read → can_parallelize, result_tier → memory_tier, result_tier_args → memory_tier_args
2026-08-08 14:29:41 +02:00
Ollie Agent d80a87eb86 clean up OLLIE_* env vars: replace with XDG conventions
- Remove all OLLIE_*_PATH vars (TOOLS_PATH, CFG_PATH, DATA_PATH, etc.)
  Use XDG_CONFIG_HOME/ollie/* and XDG_DATA_HOME/ollie/* instead
- Replace OLLIE_<TAG>_LOG per-component logging with single OLLIE_LOG={level}
- Replace OLLIE_USAGE_LOG with XDG_DATA_HOME-based path
- Replace OLLIE_OLLAMA_URL with standard OLLAMA_HOST (or omit entirely)
- Rename protocol markers: OLLIE_LISTEN_READY → ListenReady, OLLIE_9P_OPEN → Open
- Remove freeloader hooks from agent configs
- Update sandbox YAMLs to use XDG paths instead of OLLIE_*_PATH tokens
- Update shell tools to use $(dirname "$0") fallback instead of OLLIE_TOOLS_PATH
- Update docs and prompts accordingly
2026-08-07 07:11:53 +02:00
Ollie Agent 30dbe69d59 Remove OLLIE_TIER_* from env.sample 2026-08-05 19:45:45 +02:00
Ollie Agent 244f328a43 Remove dead OLLIE_ENABLED_BACKENDS from docs 2026-08-05 19:45:13 +02:00
Ollie Agent 5584a24efb Remove tool_active/skill_active references from system prompts and core.md 2026-08-05 19:40:21 +02:00
Ollie Agent 36822717a1 Move 'Tool registry: zero built-in tools' to doc/resources/tool-registry.md 2026-08-05 19:10:08 +02:00
Ollie Agent 0d8bd9a56c Move '9P: Everything is a File' to doc/resources/9p.md 2026-08-05 19:05:49 +02:00
Levi Neely 361a68bc3a docs: remove FUSE mount references, use ollie-9p CLI
- Update README examples to use ollie-9p instead of /mnt/ollie paths
- Remove OLLIE mount path from env.sample (no longer needed)
- Update network transparency section for direct 9P access
2026-08-05 08:25:02 +02:00
Ollie Agent 8f883c2355 rename resources/whitepaper.md to misc.md 2026-08-04 21:15:49 +02:00
Ollie Agent 35c090376b remove whitepaper (user will write it) 2026-08-04 21:15:24 +02:00
Ollie Agent 9522579670 whitepaper: fix server description (two parts) 2026-08-04 21:14:40 +02:00
Ollie Agent 7899ef3cb1 whitepaper: single refined opening paragraph 2026-08-04 21:13:15 +02:00
Ollie Agent b1b014b804 whitepaper: tighten opening to two questions 2026-08-04 21:11:58 +02:00
Ollie Agent d9befe74cc whitepaper: draft opening paragraph 2026-08-04 21:11:05 +02:00
Ollie Agent 6657030969 revert whitepaper: move back to resources/, restore original content 2026-08-04 21:10:28 +02:00
Ollie Agent bc0c0709e4 whitepaper: move from resources/ to doc/ (top-level) 2026-08-04 21:09:30 +02:00
Ollie Agent 8b3fce317a whitepaper: add opening paragraph (what + motivations) 2026-08-04 21:08:57 +02:00
Ollie Agent 9c92c5736d doc: move img back to doc/img/, keep resources/ for extra docs 2026-08-04 21:07:04 +02:00
Ollie Agent b72b2a0a83 doc: organize into doc/resources/, keep front-page docs at doc/ 2026-08-04 21:06:20 +02:00
Ollie Agent 20400711a0 doc/kde-gui.md: document the Qt6 desktop frontend with screenshot 2026-08-04 21:03:26 +02:00
Ollie Agent cdf46b54f4 doc/ellie.md: link thumbnail to full-size screenshot 2026-08-04 21:01:25 +02:00
Ollie Agent 2a29510c5d doc/ellie.md: sync keybinding tables to match ellie.el
Chat: add SPC and n bindings, update q description.\nTree: already aligned.
2026-08-04 21:01:12 +02:00
Ollie Agent 6fe9c20b54 ellie: point preservation, stale-stream guard, block-headers, keybinding polish, and doc screenshot
ellie.el:
- Preserve tree selection and cursor across tree rerenders.
- Keep chat cursor stationary; only update when already at end.
- Guard chat-filter against stale output from replaced ollie-9p read processes.
- Render [[[name]]] markers as bold underlined block headers; suppress [[[end]]].
- Refresh session/idx and start timer on startup so tree displays immediately.
- Fix Active/Inactive header tuple layout (was missing 'nil' slot).
- Bind TAB for tree expand/collapse, C-c C-SPC and C-c C-p for prompt input,
  SPC in chat for prompt, q in chat for quit (stops stream + buries buffer).
- RET on an agent now opens the chat buffer.
- Prompt input window selects and focuses itself after opening.

doc/ellie.md:
- Embed ellie screenshot (img/ellie.png) centered at 75% width above Session tree.
2026-08-04 20:59:23 +02:00
Ollie Agent 491f259a2b README: strip all D-Bus references, 9P is the only surface 2026-08-04 20:18:22 +02:00
Ollie Agent bc648a5c95 usage: remove nonexistent web front-end 2026-08-04 20:14:41 +02:00