Commit Graph

1382 Commits

Author SHA1 Message Date
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 e968f5407e env: remove OLLIE mount point variable from managed vars and defaults 2026-07-31 08:02:17 +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 7a69f14277 toolsrv: typed RateLimitedError, agent loop: don't count rate-limited calls as consecutive errors 2026-07-31 07:46:32 +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 cb5f99b332 fix ResolveTool to check OLLIE_TOOLS_PATH for variant cmd names 2026-07-30 23:40:24 +02:00
Ollie Agent 3d65d787a2 elevate: broker credential support for privileged tool execution 2026-07-30 23:37:57 +02:00
Ollie Agent 5955562c1d system_logs: first variant-based tool + OR match support
Adds system_logs with two variants:
- journalctl (systemd hosts): unit, since, lines, grep
- dmesg (any Linux): source, lines, grep

Both declare sudo: true — privilege escalation is handled by dispatch.

Also adds OR support in match conditions: array values mean any must
pass. Combined with AND across keys:
  {"binary": ["journalctl", "systemd-cat"], "os": "linux"}
  = (journalctl OR systemd-cat) AND linux
2026-07-30 23:28:37 +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 ca8af814e9 toolsrv: conditional tool variants for heterogeneous hosts
A .meta file can now declare multiple variants, each gated by match
conditions. The first variant where all conditions pass determines the
tool's schema, documentation, and executable. If no variant matches,
the tool is hidden from the registry on that host.

Match conditions:
  binary  — exec.LookPath or absolute path stat
  file    — os.Stat (file or dir exists)
  os      — runtime.GOOS
  arch    — runtime.GOARCH
  env     — environment variable is non-empty
  nenv    — environment variable is empty

This enables network-transparent tool declarations: one .meta file
works across heterogeneous hosts (systemd vs syslog, apt vs pacman,
GUI vs headless). When ollie-remote deploys to a different machine,
tools adapt their contract to what's actually available.

No variants field = current behavior, zero breaking changes.
2026-07-30 23:13:31 +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 059cceed5c AGENTS.md: document both script and compiled tool paths 2026-07-30 22:54:54 +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 5a84e8b326 toolsrv: fix Registry.discover() to use .meta files
The Registry had its own discover() method that still required
'ollie:prompt' in file content — the old header-based check that was
removed from DiscoverTools(). This caused tool_load to fail for ALL
tools (not just Go binaries) since .meta is now the sole metadata source.

Fix: delegate to DiscoverTools() which correctly scans .meta files.
2026-07-30 22:50:49 +02:00
Ollie Agent 46a990cd42 tools/lsp: fix arg field names to match .meta schema
Binaries now read path/line/col (matching the .meta schema the model
sees) instead of file/line/character. Also fix col to be 1-indexed
(matching the schema description) with proper -1 conversion to LSP
0-indexed protocol.
2026-07-30 22:47:27 +02:00
Ollie Agent 36e42057d4 justfile: rm stale files before go build (overwrite safety) 2026-07-30 22:43:03 +02:00
Ollie Agent 77b4b624cf tools/lsp: port LSP tools from Python to Go
Implements a bridge daemon + client architecture in pure Go:
- tools/lsp/ — shared library (adapter registry, LSP server management,
  JSON-RPC framing, bridge daemon, client)
- tools/lsp/cmd/{lsp_definition,lsp_references,lsp_hover,lsp_rename,
  lsp_symbols,lsp_completion,lsp_diagnostics}/ — individual binaries

Each binary:
- Reads JSON args from stdin (same contract as before)
- Connects to bridge daemon over Unix socket (starts it if needed)
- Bridge manages long-lived LSP server processes (gopls, clangd, intelephense)
- Bridge auto-exits after 5min idle

Removes:
- Python LSP tool scripts (data/tools/lsp_*)
- Python LSP library (data/tools/_lib/lsp/)

Adds lsp-tools build target to justfile. The .meta sidecar files remain
in data/tools/ and are installed alongside the compiled binaries.
2026-07-30 22:10:56 +02:00
Ollie Agent 1015536f2c tools: move builtins to tools/builtin/
Prepares tools/ as the umbrella for all tool implementations:
- tools/builtin/ — in-process handlers (shell, reasoning, tool/skill registry)
- tools/lsp/ — (next) Go LSP tools with shared client library

Package rename: ollie/tools → ollie/tools/builtin
2026-07-30 22:04:32 +02:00
Ollie Agent ba8db09143 justfile: fix .meta install loop and remove dead targets
- Fix for loop: just doesn't need $$ escaping (that produces PID)
- Remove empty install-scripts and install-contrib targets
- Fold script installs into install-data
2026-07-30 21:55:21 +02:00
Ollie Agent 63f602fb07 README: fix custom tools description 2026-07-30 21:52:58 +02:00
Ollie Agent a632f630ce README: update for current architecture
- Remove terminal/s/sh/bfg from diagram and frontends
- Update repo layout table (data/, mount/, skills)
- Fix env var descriptions (u/complete → code completion)
- Update intro text
2026-07-30 21:52:25 +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 942cad2dee rename contrib/{prompts,scripts,services,tools,skills,agents} → data/
These are project data files, not community contributions.
contrib/elisp stays as-is.
2026-07-30 21:40:11 +02:00
Ollie Agent ddddb1f53b remove s/, u/, x/ script namespaces and 9P backing
All session scripts (s/sh, s/b, s/bfg, s/bbg, s/ls, s/kill, s/cleanup),
utility scripts (u/optimize, u/complete, u/cascade, u/escalate), and
internal scripts (x/bd, x/prime, x/freeloader, x/task) are removed.

These are replaced by:
- generate, complete, route files (ollie-9p rdwr)
- integrated elevation broker
- D-Bus/9P session management

Also removes:
- 9P rootFileOrder entries and permission map for script files
- Script-serving catch-all in rootOpen
- prependOlliePath (no x/ scripts to shadow PATH with)

ollie-watchdog moved to contrib/scripts/ alongside ollie-remount.
2026-07-30 21:36:54 +02:00
Ollie Agent ffe45c4f1f docs: replace s/sh, s/bfg, s/bbg references with generate/complete/route
These scripts have been removed. Update all documentation to reference
the current interfaces: ollie-9p rdwr generate, complete, and route.
2026-07-30 21:31:10 +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 a306cbbce6 remove dead session scripts s/{sh,b,bfg,bbg} 2026-07-30 21:24:54 +02:00
Ollie Agent 0cea373207 mount: document purpose and fix misleading comment
Add README.md explaining the network transparency role of the mount
package. Replace 'kept as a convenience' comment with one that explains
why it exists and how it differs from local 9pfuse.
2026-07-30 21:23:25 +02:00
Ollie Agent dd8520abb7 Revert "remove dead mount/ package and olliesrv mount subcommand"
This reverts commit bcfdda26b4.
2026-07-30 21:19:11 +02:00
Ollie Agent bcfdda26b4 remove dead mount/ package and olliesrv mount subcommand
The FUSE-based 9P mount (mount/) was unused — all actual mounting
uses 9pfuse via ollie-remount. Remove the package, the olliesrv mount
subcommand, and the go-fuse dependency.
2026-07-30 21:18:52 +02:00
Ollie Agent 96dc6e442b main.go for olliesrv 2026-07-30 21:14:26 +02:00
Ollie Agent 35cbee0e35 update kde submodule: fix justfile paths 2026-07-30 20:51:32 +02:00
Ollie Agent b2a3e7121f justfile: move install-kde* rules to kde/justfile
The install-kde and install-kde-kf5 targets are now invoked via
'just -f kde/justfile install-kde' from the install/install-kf5 recipes.
Removed the standalone install-kde* targets from the root justfile.
2026-07-30 20:44:31 +02:00
Ollie Agent d6544ba892 fix justfiles: quote echo args with parens, remove stale cd kde
- KDE justfile: quote @echo arguments containing parentheses (sh syntax)
- KDE justfile: remove 'cd kde &&' prefix from cmake commands (already
  running from kde/ directory when invoked via just -f)
- Root justfile: quote all @echo arguments with parentheses
- KDE justfile: fix cmake install prefix and j*(nproc) typo
2026-07-30 20:43:08 +02:00
Ollie Agent 7bbdbd1f7f agent: refresh tool definitions from server on every turn
Previously the agent loop used a frozen Tools slice from BuildRuntime.
When tool_load promoted a tool, it was added to the registry but the
runtime's Tools slice was never updated — the LLM never saw the new
tool's schema until a session rebuild.

Fix: on each turn, call ToolServer.ListTools() to get the current set
of built-in + dynamically loaded tools, then convert to backend.Tool.
This makes tool_load behave identically to a built-in: the schema is
injected into the tool definitions on the very next turn.
2026-07-30 20:37:35 +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 dd5701b1bb readme: bring up to date after Great Flattening
- Frame olliesrv as single binary with two surfaces (9P + D-Bus)
- Fix repository layout table: no core/, 9p/, remote/ submodules
- Fix all namespace paths: session/{id}/agent/{aid}/
- Fix architecture diagram labels (agent.Agent, toolsrv.Server)
- Fix httpgw description (HTTP→9P, not D-Bus)
- Replace verbose features list with concise capability table
- Remove outdated development/pull.sh sections
2026-07-30 20:02:14 +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 df22946249 pull.sh: update for flattened repo (only . kde webui remain) 2026-07-30 19:42:21 +02:00
Ollie Agent b6cdd3d369 update submodule pointers for kde and webui (justfiles added) 2026-07-30 19:36:20 +02:00
Ollie Agent 33030053ef split KDE and webui into submodule justfiles
- Create kde/justfile with build, install, clean, uninstall targets
- Create webui/justfile with build target
- Root justfile delegates to submodule justfiles via `just -f`
- Remove inlined KDE commands from root justfile
2026-07-30 19:18:28 +02:00
Ollie Agent 619dbe555c justfile: fix indentation, update acme/scripts/ paths, remove cd core 2026-07-30 19:06:48 +02:00