Commit Graph

180 Commits

Author SHA1 Message Date
Levi Neely aefab5692a add shared logger; per-component log levels via OLLIE_{TAG}_LOG 2026-04-15 10:24:30 +02:00
Levi Neely e4a88a0ab8 fix 9p stat zero-length bug; add debug logging to 9p and core 2026-04-15 10:13:36 +02:00
Levi Neely 9184bc04ab chore: update tui submodule
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-15 07:57:22 +02:00
Levi Neely 42140b6a30 chore: update tui submodule
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-15 07:45:56 +02:00
Levi Neely 04fee9eaf5 chore: update tui submodule
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-15 07:11:41 +02:00
Levi Neely 344c7069f0 chore: update el and tui submodules
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-15 07:02:11 +02:00
Levi Neely 313d9a930f chore: update el and tui submodules
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-15 06:59:40 +02:00
Levi Neely e175e5d7cc feat: directory-aware session resume via cwd-keyed last-session file
last-session now stores {cwd}\t{session-id} lines so each working
directory tracks its own last session independently. Resume, create,
and upsert logic updated in tui, ollie.el, and ollie.sh.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-15 06:59:01 +02:00
Levi Neely 70a2003dc3 chore: update 9p submodule
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-14 23:24:30 +02:00
Levi Neely 92ba860644 doc: use ctl kill instead of rm -r for session teardown
rm -r is blocked by sandbox patterns. echo kill > s/{id}/ctl
achieves the same result safely.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-14 23:15:42 +02:00
Levi Neely 569e2918b9 chore: update skills submodule
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-14 23:11:22 +02:00
Levi Neely 33e0c0d45d chore: update skills submodule
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-14 23:10:34 +02:00
Levi Neely 672dd53d6c chore: update el submodule
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-14 23:03:52 +02:00
Levi Neely bf4dcfe39d chore: update 9p submodule
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-14 22:56:46 +02:00
Levi Neely 53bab021f8 chore: update tui submodule; remove stale backup and test files
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-14 22:53:44 +02:00
Levi Neely 8ca905799b fix: error handling, sandbox env, file tool enforcement
- tools/file_*: hard-fail when OLLIE_SESSION_ID is unset; surface errors
  on all failure paths including dir checks, marker cleanup, and I/O
- tools/file_read: treat nonexistent path as new file (emit "(new file)",
  write empty marker) so file_write can create new files
- tools/file_write: colorize new-file lines with + (U+FF0B)
- tools/file_glob, file_grep, memory_*, task_*: consistent error handling
  and output to stdout so the model sees all failures
- tui/diffcolor.go: match +/− (U+FF0B/U+2212) lookalikes emitted by
  file_edit/file_write; fix +++ / --- header pattern
- prompts: prohibit execute_code for file creation/modification;
  enforce execute_tool with file_write/file_edit instead
- core submodule: surface isError from MCP responses; inject
  OLLIE_SESSION_ID into execute server at session creation

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-14 22:52:10 +02:00
Levi Neely f155ba91d0 doc: add env.sample; update help.md (OLLIE, m/, idx files, backend vars)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-14 21:57:39 +02:00
Levi Neely d332edc11a update 9p submodule: document pluggable backing stores
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-14 21:50:44 +02:00
Levi Neely 90a87fb1c2 update 9p submodule: complete SessionStore integration
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-14 21:46:57 +02:00
Levi Neely f3575fcc78 update 9p submodule: pluggable store interface
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-14 21:40:34 +02:00
Levi Neely 0fa5618a38 README: expand Observed Benefits section
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-14 20:54:20 +02:00
Levi Neely 3911cedeed update 9p submodule; doc: prompt rebuild triggers
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-14 20:07:49 +02:00
Levi Neely 34ba25eb8a minor clarification 2026-04-14 20:03:46 +02:00
Levi Neely 36244bb72c system prompt component reordering 2026-04-14 20:02:44 +02:00
Levi Neely e1cff999ad prompts: move Skills → 06_skills.md, Tools → 07_tools.md
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-14 19:59:20 +02:00
Levi Neely 62826ab77f prompts: split session/filesystem into 01_ollie.md; shift 01-04 → 02-05; clean prompts dir on install
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-14 19:57:56 +02:00
Levi Neely 191ebf5af0 update core submodule; doc: shutdown closes all sessions
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-14 19:53:01 +02:00
Levi Neely 5976cc99da update 9p submodule: session Close() on shutdown
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-14 19:50:35 +02:00
Levi Neely 4f082bbb85 update submodules: systemprompt in dir listing, /sp newline fix
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-14 19:48:26 +02:00
Levi Neely 301744db97 prompts: replace ollie/ and $OLLIE with {{.OllieMountPath}}
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-14 19:44:54 +02:00
Levi Neely 881079116e update core submodule; prompts: use {{.OllieMountPath}} template variable
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-14 19:42:10 +02:00
Levi Neely 1e90b68124 update submodules; doc: systemprompt, session lifecycle, !/sp commands
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-14 19:40:22 +02:00
Levi Neely d41eea54f1 cleanup agents 2026-04-14 19:38:03 +02:00
Levi Neely f33d0fc408 update core submodule: ! commands run in session cwd
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-14 19:35:27 +02:00
Levi Neely d52988a2fc update submodules: tmpdir lifecycle owned by core
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-14 19:30:32 +02:00
Levi Neely 90cbf2dbda update submodules: session tmpdir lifecycle in core
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-14 19:28:27 +02:00
Levi Neely b0f825a339 update el submodule: ollie-show-system-prompt
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-14 19:21:36 +02:00
Levi Neely 14083dbc1b update tui submodule: /sp command
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-14 19:20:34 +02:00
Levi Neely e186660ef3 update core submodule: /sp command
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-14 19:18:49 +02:00
Levi Neely 16462bde69 update submodules; document s/{id}/systemprompt in base prompt
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-14 19:17:10 +02:00
Levi Neely 8a138f167c prompts: split SYSTEM_PROMPT.md into ordered p/ parts
- prompts/SYSTEM_PROMPT.md → prompts/00_base.md (remove conflicting tool-preferences bullet)
- prompts/01_reasoning.md — reasoning guidance
- prompts/02_memory.md — memory guidance
- prompts/03_task.md — task planning guidance
- prompts/04_edit-text.md — file_* tool guidance

These replace the hardcoded eager-loaded skills in core's systemPrompt().
Update core and skills submodule refs.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-14 19:15:25 +02:00
Levi Neely 831e6f2788 update skills submodule: edit-text tools are mandatory
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-14 18:24:48 +02:00
Levi Neely 1b9c7af9c9 tools: clear usage messages on all tools when called with no/bad args
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-14 18:21:35 +02:00
Levi Neely 7999bd34a7 Revert "tools: fix file_edit and file_write to write directly, not via temp+rename"
This reverts commit ce1688efb8.
2026-04-14 18:14:16 +02:00
Levi Neely ce1688efb8 tools: fix file_edit and file_write to write directly, not via temp+rename
The temp file + os.replace() (rename) pattern fails on FUSE-mounted paths
(e.g. $OLLIE/sk/, $OLLIE/pl/) because the 9P server doesn't implement Twstat.
Write directly to file_path instead.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-14 18:12:59 +02:00
Levi Neely 5686be7997 update submodules: edit-text skill, core eager-load
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-14 17:58:51 +02:00
Levi Neely ac4e3f2dc7 remove anvillm-agent
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-14 17:54:38 +02:00
Levi Neely 06f0f81391 trust execute_elevated_bash in superpowers-enabled agents
Has its own approval system; safe to trust by default wherever
SUPERPOWERD_SESSION_TOKEN is present.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-14 17:54:14 +02:00
Levi Neely 76c9dba84d update agents: explicit trustedTools; rename OLLIE_9MOUNT → OLLIE
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-14 17:52:43 +02:00
Levi Neely de00ac1fcc rename OLLIE_9MOUNT → OLLIE throughout; update submodules
Tools, sandbox configs, docs, and skills all updated. $OLLIE is now
the canonical ollie root — cd $OLLIE goes directly to the FUSE mount.
Core now always injects $OLLIE into the execute env at session start.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-14 17:39:48 +02:00