Commit Graph

179 Commits

Author SHA1 Message Date
Levi Neely a72554f9b1 remove doc/help.md: help is now generated from spec 2026-08-04 11:45:57 +02:00
Levi Neely 89c2c41679 doc: update architecture diagram frontend label to 'o' 2026-08-03 10:00:11 +02:00
Levi Neely d8cca00fd0 doc: add o CLI and o tui documentation to USAGE.md 2026-08-03 09:58:42 +02:00
Levi Neely 44f173214d fs: add Aliases to FsNodeDecl for immutable ID path resolution
Nodes in the 9P namespace can now declare alternate names (Aliases)
that resolve during Twalk but are invisible in directory listings.
Session dirs alias their immutable RunnableID(), agent dirs alias
their ID(). Clients can use session/{uuid}/agent/{uuid}/... paths
that remain valid across renames.

Changes:
- fs/fsnode.go: Add Aliases []string field, Alias() NodeOption
- fs/builder.go: findChild checks aliases via matchAlias helper
- fs/sessionfiles.go: Session dirs get Alias(s.RunnableID())
- fs/agentfiles.go: Agent dirs get Alias(a.ID())
- fs/spec.go: Add /aliases file (read-only alias→path table)
- fs/rootfiles.go: readAliases handler
- fs/lifecycle.go: buildIndex includes immutable ID in session/idx
- doc/edsl.md: Document Aliases field and behavior
- prompts: Update session/idx format documentation

The KDE GUI submodule now uses immutable IDs in all 9P paths,
fixing disconnected indicators after session rename.
2026-08-03 09:41:26 +02:00
Ollie Agent 261f987c5e move current SLOC table to end of EVOLUTION.md 2026-08-03 01:46:13 +02:00
Ollie Agent fce1e4b4fc restore old SLOC table, add current SLOC table alongside 2026-08-03 01:44:06 +02:00
Ollie Agent 5060ce7d6e update SLOC table in EVOLUTION.md 2026-08-03 01:42:05 +02:00
Ollie Agent aeb97621d5 ellie: switch from FUSE file I/O to ollie-9p CLI
ellie.el previously accessed ollie through a FUSE-mounted 9P
filesystem (plain file I/O via insert-file-contents/write-region).
This had several failure modes: stale mounts after suspend/resume,
no error propagation from 9P Rerror, no streaming support.

Now uses the ollie-9p CLI tool which speaks the 9P protocol
directly over the Unix socket. Also removed ellie-dired binding
(C-c C-d) and the ellie-mount-directory customization since
there is no mount point.

The completion subsystem was updated to use ollie-9p rdwr complete
instead of a shell pipeline to a 9P mount path.
2026-08-03 01:30:39 +02:00
Ollie Agent 60fafd5381 remove tools/builtin/ — zero built-in tools, all tools are external scripts
With the zero-tools transition complete, the tools/builtin/ package
served no purpose — Builtins() returned nil. Removed:

- tools/builtin/builtins.go and the directory
- builtins field, WithBuiltins, Dispatch from toolsrv.Server
- Handler type from toolsrv (only used by builtins)
- OnPreDispatch/WithOnPreDispatch (dead code)
- Strict field and WithStrict (dead code, never read)
- CallTool simplified — no fallback to Dispatch
- builtin import and WithBuiltins/WithStrict calls from ollie-remote
- tools/builtin from justfile build/test targets

Updated AGENTS.md, ARCHITECTURE.md, README.md, EVOLUTION.md
2026-08-03 00:55:22 +02:00
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