Commit Graph

170 Commits

Author SHA1 Message Date
Ollie Agent 119e673299 fix naming problems 2026-08-02 22:10:00 +02:00
Ollie Agent 7b5573ee89 docs: fix design philosophy — Plan 9/Acme, not Emacs
Ollie's extensibility is the opposite of Emacs: instead of building
capabilities on top of an interpreter, the core provides integration
surfaces (9P, shell) and pushes everything else to the surrounding
system. This is the Acme/Plan 9 model.
2026-08-02 16:45:54 +02:00
Ollie Agent 6c6c133d76 docs: update architecture docs for Aug 1-2 refactors
Covers the major changes from the past two days:

- 9P Declarative EDSL (fs/spec.go + fs/builder.go, fs/session/ → fs/ flattening)
- 9P Server streamlining (fid map, GroupTable, method extraction)
- Multi-Agent Deepening (ID/Name split, UUIDv4, two-step creation, empty sessions)
- Eventwait redesign (global /eventwait ring buffer, structured delta events)
- Chat log [[[type]]]/[[[end]]] block format
- KDE submodule evolution (StreamFsm, responsive tree, emoji states, eventwait)

Updates: AGENTS.md, ARCHITECTURE.md, EVOLUTION.md, MULTI_AGENT.md,
         CORE.md, edsl.md
2026-08-02 16:43:13 +02:00
Ollie Agent 1e126ce76a Replace imperative 9P filesystem with declarative EDSL
The old fs/session/ package (14 files) and cmd/olliesrv/elevate_tree.go
(imperative FileTree implementations) are gone. Replaced by a single
declarative EDSL in fs/spec.go that declares the entire 9P namespace.

cmd/olliesrv/server.go simplified from 1430 to 825 lines:
- Deleted pathType() (110 lines) — tree.Stat() now handles all path resolution
- Deleted isSessionFile(), dirMode(), filePerm() — all from tree's info
- Deleted fsRoute/routes/route/routeDir — single rootTree, no route table
- Deleted elevateTree — EDSL handles /elevate/ in spec.go
- Deleted handleWrite(), readDNS(), helpPath() — dead code
- Deleted all 5 per-fid result fields — EDSL Request handlers manage state
- Deleted all path-based intercepts in read()/write() — entry.RequestRespMode()
- Deleted all path-depth hacks in makeStat() — custom Stat() closures in EDSL
- Deleted all content-length compute logic — info.Size() from tree
- Removed imports: agent, backend, elevate, paths, toolsrv, json

New fs/ package:
- spec.go — single EDSL declaration of the entire namespace
- builder.go — BuildTree() validates and compiles spec into *Tree
- tree.go — configurable FileTree implementation
- fsnode.go — Dir(), Leaf(), TemplateDir(), NodeOption constructors
- agentfiles.go / sessionfiles.go / rootfiles.go / elevatefiles.go
  — handler implementations wired by the EDSL
- lifecycle.go — Create, Kill, Rename, Shutdown, InterruptAll
- persist.go, procfiles.go
- edsl.md — documentation of the EDSL
2026-08-02 15:22:17 +02:00
Levi Neely 5911315408 docs: remove all D-Bus references, add Phase 13 to EVOLUTION
- Delete data/prompts/session-dbus.md (obsolete operational model)
- AGENTS.md: remove dbus/ from layout, single integration surface
- ARCHITECTURE.md: remove D-Bus adapter section, embedded adapter, diagrams
- EVOLUTION.md: add Phase 13 (9P streaming, D-Bus removal), fix principles,
  add D-Bus to dead ends table
- USAGE.md: remove D-Bus reference
- session-9p.md: document chat (streaming) and log (64KB window) files
2026-07-31 20:47:15 +02:00
Ollie Agent cfdedb2e5e help.md: sync to actual 9P tree (agent/ subdir, elevate/, toolsrv.*, react, no t/) 2026-07-31 08:46:02 +02:00
Ollie Agent 03e66c8a0a rewrite help.md: remove dead 9P dirs (sk/, u/, x/, tmp/, tr/), use 9p commands 2026-07-31 08:43:14 +02:00
Ollie Agent 3d4ac9699e remove transcript archive docs (dead feature) 2026-07-31 08:42:13 +02:00
Ollie Agent 9abf16d75f remove SUPERPOWERD and OLLIE_TRANSCRIPT_PATH references 2026-07-31 08:40:37 +02:00
Ollie Agent 5ce4477316 remove stale IDEAS_CONTROLLER.md (dead /home/lkn/mnt/ollie/session/ refs) 2026-07-31 08:37:26 +02:00
Ollie Agent 5021dedabe docs: replace /home/lkn/mnt/ollie/session/ paths with 9p commands 2026-07-31 08:36:47 +02:00
Ollie Agent cb98439339 docs: remove dead s/ls, s/kill, s/cleanup refs; fix ollie-9p remove→rm 2026-07-31 07:56:39 +02:00
Ollie Agent 855671d8ac remove dead acme scripts (Kmpl, Oi, Theo, Wtf) and stale data/scripts/README 2026-07-31 07:50:41 +02:00
Ollie Agent 5c27a948bd docs: remove stale s/ u/ x/ script namespace references 2026-07-31 07:31:58 +02:00
Ollie Agent 93225704f8 docs: document sudo and tool variants 2026-07-31 07:20:52 +02:00
Ollie Agent 3ea6bc3865 docs: declare the declarative tool registration paradigm 2026-07-30 23:50:04 +02:00
Ollie Agent 5c7df3a9fe docs: document variants and update WRITING_TOOLS for network transparency 2026-07-30 23:14:53 +02:00
Ollie Agent 44e420fc7e toolsrv: support cmd field in .meta for external tool resolution
Tools no longer need to be co-located in $OLLIE_TOOLS_PATH. The .meta
sidecar can specify a cmd field pointing to any executable:
- Absolute path: use directly
- Bare name: resolve via $PATH

Resolution order: OLLIE_TOOLS_PATH/<name> → meta.cmd → PATH lookup.
Local wrappers always win, enabling simplified interfaces over complex
system binaries.

Rewrites doc/WRITING_TOOLS.md to document the plugin model: any
executable + .meta = tool, no source tree integration required.
2026-07-30 23:02:08 +02:00
Ollie Agent ebd994fe7e doc/EVOLUTION: add LSP Go port to Phase 12 2026-07-30 22:54:28 +02:00
Ollie Agent 9f947e93ec docs: update repo layout for tools/builtin, tools/lsp, data/ 2026-07-30 22:53:48 +02:00
Ollie Agent 6ef99918e0 doc: add Phase 12 to EVOLUTION.md 2026-07-30 21:50:18 +02:00
Ollie Agent 69b2c2cc40 tool metadata: replace header comment parsing with .meta sidecar files
The tool registry now reads metadata exclusively from JSON .meta sidecar
files alongside each tool executable. Header comment parsing (ollie:prompt,
ollie:tier, ollie:parallel, args_json) is removed entirely.

- Add toolsrv/meta.go: MetaFile struct, LoadMetaFile, ToolInfoFromMeta
- Rewrite discover.go: scans .meta files only
- Rewrite schema.go: ParseToolInfo reads .meta only
- Rewrite tier.go: tier/readOnly from .meta only
- Generate .meta for all 35 tools
- Update all docs: README, AGENTS.md, ARCHITECTURE, CORE, USAGE, WRITING_TOOLS
2026-07-30 21:48:42 +02:00
Ollie Agent d9871e686a docs: replace s/{sh,b,bfg,bbg} references with generate/complete/route
These scripts were removed. Update all documentation to reference the
current alternatives: ollie-9p rdwr generate, ollie-9p rdwr complete,
and ollie-9p rdwr route.
2026-07-30 21:30:18 +02:00
Ollie Agent 178d79b3cb remove remaining webui/httpgw references in docs 2026-07-30 20:22:49 +02:00
Ollie Agent ea3db9eb08 remove httpgw and webui; update AGENTS.md to reflect current structure
- Remove cmd/ollie-httpgw/ directory and webui/ submodule
- Update justfile: remove httpgw/webui build targets
- Update README.md: remove httpgw/webui references
- Update doc/ARCHITECTURE.md: remove httpgw/webui references
- Update doc/EVOLUTION.md: remove httpgw/webui references
- Update doc/USAGE.md: remove httpgw/webui sections
- Update AGENTS.md: fix repo layout, build targets, testing, architecture
  paths, key files, adding tools/prompts, submodule workflow
2026-07-30 20:19:32 +02:00
Ollie Agent f63cb3bb37 doc: update architecture diagrams to Mermaid, reflect current codebase
- Convert all ASCII diagrams to Mermaid (gitea-rendered)
- ARCHITECTURE.md: System Overview, Data Flow, Frontends → Mermaid
- CORE.md: Package Map, Per-Iteration Flow → Mermaid
- EVOLUTION.md: Timeline → Gantt, coordination/security/frontends → Mermaid
- MULTI_AGENT.md: coordination patterns → Mermaid
- REMOTE_EXECUTION.md: split-brain architecture → Mermaid
- Update all references: agent.Core → *agent.Agent, execute.Server → toolsrv.Server,
  tools.Dispatcher → toolsrv.Runner, s/ → session/ namespace
- Fix namespace layout to show agent/{aid}/ subdirectory hierarchy
- Update package layout to reflect flat Go module (no core/ or 9p/ submodules)
2026-07-30 19:58:53 +02:00
Ollie Agent 9b6ddb7df1 flatten: absorb submodules into single Go module
- Remove submodules: core, 9p, acme, httpgw, remote, el
- Keep submodules: kde, webui (separate build systems)
- Collapse core/ packages into root: agent/, backend/, detach/, elevate/,
  env/, log/, paths/, sandbox/, session/, skills/, tools/, toolsrv/
- Collapse 9p/ packages: fs/session/, mount/, dbus/, cmd/olliesrv/
- Move binaries: acme/ → cmd/Ollie/, httpgw/ → cmd/ollie-httpgw/,
  remote/ → cmd/ollie-remote/, 9p/cmd/ollie-9p/ → cmd/ollie-9p/
- Move data: agents/, prompts/, tools/, scripts/, skills/ → contrib/
- Move services/ → contrib/services/, experiments/ → doc/experiments/
- Delete .beads/, .claude/, .kiro
- Single go.mod at root (module ollie)
- Fix all import paths, merge fs/ + session/ packages
- Extract dbus/ and elevate/notify.go from 9p server package
- Update justfile for new paths and single-module build
2026-07-30 18:57:51 +02:00
Levi Neely fdd39b7499 docs: update tool registry references to reflect dynamic discovery 2026-07-30 10:08:13 +02:00
Levi Neely 1d74d9bbb6 doc: Phase 11 — The Great Flattening (Jul 29-30) 2026-07-30 00:47:33 +02:00
Levi Neely 106dc310e6 docs: s/ → session/ namespace rename throughout 2026-07-29 20:34:51 +02:00
Levi Neely 67867fd568 docs: update for core/ restructure, add ollie-9p section
- Fix all pkg/ path references in doc/*.md
- Update ARCHITECTURE.md package table and 9P interaction model
- Fix stale /tmp/ollie references
- Add ollie-9p client documentation to 9p/README.md
2026-07-29 18:14:46 +02:00
Levi Neely c3d37f60c9 doc: replace mermaid with ASCII diagrams 2026-07-29 15:43:10 +02:00
Levi Neely c5b6e5b694 doc: add EVOLUTION.md — architectural history of the system 2026-07-29 15:40:21 +02:00
Levi Neely 70d0a22af4 user-preferences, execute_code→shell, dead scripts cleanup
- Add prompts/user-preferences.md: visual-first communication preference
  and communication style directives (moved from system_prompt.md).
- Inject user-preferences.md into all agent definitions.
- Replace all execute_code references with shell across docs, prompts,
  and agent configs.
- Remove dead u/ and x/ entries from scripts/README.md.
- Remove SYSTEM_PROMPT_QWEN systemPrompt override from navigator.
- justfile: install user-preferences.md.
2026-07-29 14:44:25 +02:00
Levi Neely 977dd684fc doc: rename Argument Handling to Input Protocol 2026-07-29 08:49:55 +02:00
Levi Neely 283add2862 tools: stdin JSON contract for all tools
All tools now receive arguments as a JSON object on stdin instead of
positional CLI args. Each tool declares its schema via # args_json:
header comment.

New shared helpers:
- _lib/args.py: Python parse_args() -> Args with require/get/get_bool/etc
- _lib/args.sh: Bash arg_require/arg_get/arg_bool via jq

Removed denote_view (unused).
Updated WRITING_TOOLS.md to document the new contract.
2026-07-29 08:47:15 +02:00
Ollie Agent a9a4b53cbe add Writing Ollie Tools guide covering sandboxing, elevation, and tool metadata 2026-07-29 00:39:37 +02:00
Ollie Agent 481a913ed7 note that both shell AND promoted tools are sandboxed 2026-07-29 00:36:24 +02:00
Ollie Agent abdc4f2146 rewrite lazy loading observation: error rates improved after facade layer 2026-07-29 00:33:06 +02:00
Ollie Agent cb1a9bdc01 add lazy tool loading observation to OBSERVATIONS.md 2026-07-29 00:30:50 +02:00
Ollie Agent e4fab8cfb1 remove call_tool and pipe references from docs 2026-07-28 22:47:12 +02:00
Ollie Agent fd27166c12 ollie: remove daemon subcommands, centralize service file management
olliesrv no longer has start/fgstart/stop/status subcommands — it runs
in the foreground and relies on the supervisor (systemd, openrc, or
xdg-autostart) for lifecycle management. This simplifies the binary
and makes the single-process model explicit.

Changes:
- All docs: olliesrv start → olliesrv
- justfile: add install-services target, used by all install recipes;
  installs systemd user unit, openrc init script, xdg autostart entry;
  remove inline autostart installs from individual targets
- systemd unit: ExecStart drops "start" subcommand
- openrc init script: deleted (was for daemonized start; now managed
  via install-services)
- xdg-autostart: new desktop entry (moved from 9p/ submodule),
  Exec=olliesrv (no longer shells out to start + remount)
- contrib/ollie-remount: add debug echo for namespace/socket
- 9p submodule: remove daemon subcommands from Go code;
  delete old desktop file
- el submodule: update README for foreground-only olliesrv
2026-07-25 18:20:26 +02:00
Levi Neely 6ed1d098ab fix CreateSession: add remote parameter to D-Bus method
The D-Bus adapter only exposed 4 parameters (cwd, backend, model, agent)
but the session manager supports 6 (+ system_prompt, remote). The remote
had already added system_prompt as the 5th; this adds remote as the 6th.

All frontends (KDE plasmoid, Kate, tray, dolphin, webui, httpgw) and
tool scripts now pass the correct 6 arguments.
2026-07-24 11:58:34 +02:00
Ollie Agent ae37c322cb doc: add system prompt override and tool discovery sections to USAGE.md 2026-07-21 15:02:01 +02:00
Ollie Agent ec5de866d2 docs: document peer/ operations in help.md and session-9p.md 2026-07-21 14:57:30 +02:00
Ollie Agent 5a990d6e4e doc: update help.md with current filesystem layout and request-response files 2026-07-21 14:47:27 +02:00
Ollie Agent db616bcbf1 remove doc/PLANNING.md (unimplemented task_plan/task_complete)
These tools were never reliably used by agents. Planning is handled
via in-context plan files (s/{id}/plan) and the replan/stall detection
in the agent loop.
2026-07-21 12:33:40 +02:00
Ollie Agent 0fa24ef8c2 remove elevate-adapter-start script and agentSpawn hook
The adapter is now started by the system service manager, not
on-demand from inside the sandbox. ensureElevateAdapter was
removed from core in the previous commit.
2026-07-21 11:49:42 +02:00
Ollie Agent e2e1e95fd8 remove dbus submodule, update docs for -no9p mode
olliesrv now supports D-Bus-only operation via -no9p flag,
replacing the need for the standalone ollied daemon (archived).

- Remove dbus/ submodule
- Update README: three-mode table, remove ollied references
- Update doc/ARCHITECTURE.md: remove ollied section and references
2026-07-21 11:44:38 +02:00
Ollie Agent be041cff1a doc: add Streaming section to REMOTE_EXECUTION 2026-07-19 21:41:24 +02:00