Update evolution history

This commit is contained in:
Ollie Agent 2026-08-16 11:33:33 +02:00
parent e1ac2df3fb
commit cdba6a5297
1 changed files with 71 additions and 12 deletions

View File

@ -55,6 +55,10 @@ gantt
Feed + observer agents :done, 2026-08-13, 1d
BlockOnce/Stream refactor :done, 2026-08-13, 1d
Sub-agents via 9P rdwr :done, 2026-08-14, 1d
Code intelligence tools :done, 2026-08-15, 1d
Go file tools + cleanup :done, 2026-08-16, 1d
OptMem persistent memory :done, 2026-08-16, 1d
Markdown parsing + output cap :done, 2026-08-16, 1d
```
## Phase 1: Monorepo Bootstrap (Apr 11)
Started as independent git repos unified under a monorepo with submodules.
@ -1335,10 +1339,75 @@ The turn state machine in `turn.go` was simplified.
~100 lines deleted, control flow is clearer.
## Phase 27: Tree-sitter Code Intelligence (Aug 15)
Code navigation and structural editing moved into native Go tools backed by
Tree-sitter grammars. The tool set now includes:
- `codebase_overview` for repository structure
- `code_outline` for one-file declarations
- `code_symbols` for workspace-wide symbol searches
- `code_dependencies` for imports and includes
- `code_query` for syntax-aware searches
- `code_rewrite` for structural rewrites
The tools support Go, JavaScript, TypeScript, TSX, Python, Rust, C, C++, JSON,
YAML, PHP, and Markdown. Agent prompts now require structural tools for
repository exploration and reserve text search for simple content searches.
This makes targeted edits safer than broad textual replacement.
## Phase 28: Go File Tools and Tool-Surface Cleanup (Aug 16)
The core file tools (`file_read`, `file_write`, `file_edit`, `file_grep`, and
`file_glob`) were replaced with Go binaries and shared implementation code.
Tests were added for the file-tool package and existing LSP and web-tool
coverage was expanded. The change removes the old Python implementations from
the runtime path while preserving the same tool contracts.
Obsolete process-management tools and the `logseq` tool were removed. The
installation recipe was corrected for the compiled file tools. Workspace-path
placeholders were standardized across prompts and tool metadata so agents use
the actual working directory instead of guessed home paths.
## Phase 29: OptMem Persistent Memory (Aug 16)
Ollie integrated [OptMem](https://github.com/VictorTaelin/OptMem) as its
persistent memory backend. The legacy `memory_recall` and `memory_remember`
scripts were replaced by metadata-defined tools that invoke the bundled
`third_party/optmem/memo` executable directly.
OptMem owns the append-only log and bounded B-tree index at
`$XDG_DATA_HOME/ollie/optmem` (default: `~/.local/share/ollie/optmem`). Ollie
does not maintain a second memory format or parallel store. Reads and writes
use the same backend and serialize through the toolsrv path-lock system.
Both memory tools are auto-loaded by every agent profile. Shared prompt
guidance tells agents to recall relevant prior context before acting and
remember durable decisions, outcomes, preferences, and non-obvious findings.
The OptMem executable is installed under `$XDG_CONFIG_HOME/ollie/optmem` and
explicitly granted `rwx` access by the landrun sandbox.
This integration keeps memory as an ordinary Ollie tool while giving it a
durable, searchable backend. It requires no MCP server, daemon, or new
control-plane protocol.
## Phase 30: Markdown Parsing and Bounded Tool Output (Aug 16)
Tree-sitter Markdown support was added to the code-intelligence layer. `.md`
and `.markdown` files are parsed as Markdown, and headings are available to
structural queries as `atx_heading` and `setext_heading` nodes. This makes
`evolution.md` and other documentation amenable to the same targeted tooling
as source code.
The maximum tool result included in model context was reduced from 128 KiB to
32 KiB. Large command or file results are therefore less likely to crowd out
the conversation and instructions.
---
Commit count: ~50 commits over 2 days. Net code change: approximately -800 lines.
The system does more with less.
Commit count: ~60 commits over 3 days. The recent work added native structural
and file tooling, persistent memory, and tighter context bounds while removing
obsolete tool implementations.
---
@ -1559,16 +1628,6 @@ This is mechanically identical to session restore — same function, same
data path. The sub-agent knows everything the parent knows without
rediscovering it.
### OptMem persistent memory integration (Aug 16)
Ollie integrated [OptMem](https://github.com/VictorTaelin/OptMem) as its persistent memory backend. The legacy `memory_recall` and `memory_remember` scripts were replaced by metadata-defined tools that invoke the bundled `third_party/optmem/memo` executable directly.
OptMem owns the append-only log and bounded B-tree index at `$XDG_DATA_HOME/ollie/optmem` (default: `~/.local/share/ollie/optmem`). Ollie does not maintain a second memory format or parallel store. Reads and writes therefore use the same backend and serialize through the toolsrv path-lock system.
Both memory tools are auto-loaded by every agent profile. Shared prompt guidance tells agents to recall relevant prior context before acting and remember durable decisions, outcomes, preferences, and non-obvious findings. The OptMem executable is installed under `$XDG_CONFIG_HOME/ollie/optmem` and explicitly granted `rwx` access by the landrun sandbox.
This integration keeps memory as an ordinary Ollie tool while giving it a durable, searchable backend. It requires no MCP server, daemon, or new control-plane protocol.
### Future work
- **Shared toolsrv per host** — currently each session spawns its own toolsrv.