Commit Graph

17 Commits

Author SHA1 Message Date
Levi Neely c5b96bcac1 Update docs: execute_code is the only MCP tool
- Rewrite code execution docs to reflect single-tool model
- Remove obsolete migration guide and testing doc
- Update README, kiro-cli README, BEADS.md MCP sections
- Remove all 'direct tool calls' / 'legacy tools' framing
- Update sandbox-config diagram: roles→sandbox, override→merge
- Add 9P security mitigation: run locally on trusted network
- Regenerate sandbox-config.svg
2026-03-18 23:39:23 +01:00
Levi Neely 4fa1e0cc7d architecture diagram: rename Backends to tmux sessions 2026-03-18 23:23:30 +01:00
Levi Neely c5e95eb1ea Remove cmd/anvilweb, cmd/anvilwebgw, cmd/anvillm, and elisp/
Drop legacy frontend proof-of-concepts (TUI, web UI, HTTP gateway,
Emacs major mode) to focus on the core. Assist remains as the primary
frontend; any 9P-speaking program can serve as a frontend.

Update README, mkfile, .gitignore, and architecture/client-interactions
diagrams accordingly.
2026-03-18 23:20:54 +01:00
Levi Neely d3e2a543cb Update remaining read_inbox references to check_inbox 2026-03-18 08:20:41 +01:00
Levi Neely e53ce4bb1f Rename read_inbox.sh to check_inbox.sh
Renamed mcptools/read_inbox.sh to mcptools/check_inbox.sh and updated
all references across docs, scripts, and skills.
2026-03-18 08:18:20 +01:00
Levi Neely 2a1d620a31 rename 9P endpoint from 'agent' to 'anvillm'
- Update socket path, MountService calls, path prefixes
- Update mcptools, scripts, docs, diagrams, services
- Fix idleSince initialization at session creation
2026-03-12 12:13:40 +01:00
Levi Neely 5f8c41b576
Implement MCP code execution pattern (#20)
* Implement MCP code execution pattern

- Add execute_code tool for bash execution in landrun sandbox
- Remove redundant MCP tools (read_inbox, send_message, etc.)
- Implement dynamic tool discovery from ~/.config/anvillm/mcptools/
- Add workspace isolation (~/.cache/anvillm/exec)
- Add security: output limits, concurrency limits, validation, path traversal protection
- Update bot templates (Conductor, Taskmaster) with bash examples
- Update anvillm-communication skill to use execute_code pattern
- Create comprehensive documentation (user guide, migration guide, security guide)
- Add test suite for validation and limitedWriter
- Fix landrun flags: --rox for executables, --env for AGENT_ID passthrough
- Network blocked by default (no --connect-tcp or --unrestricted-network)

Token reduction: 80-99% via progressive tool discovery and subprocess data processing

* Fix code review issues in MCP code execution pattern

- Security: Change security.jsonl permissions from 0644 to 0600
- Bug: Fix limitedWriter to return correct byte count for io.Copy
- Bug: Fix tool schema inconsistency (execute_code requires only 'code')
- Performance: Move whitespace regex to package-level var
- Security: Improve validateCode with regex patterns and normalization
- Cleanup: Remove dead code from main.go and tools.go
- Cleanup: Rewrite shell scripts to use jq for safe JSON construction
- Docs: Fix duplicate sections and JavaScript syntax in bash examples

* Improve code validation security patterns

- Fix rm -rf bypass: allow optional whitespace before /
- Expand rm -rf to block sensitive paths (/home, /var, /usr, etc.)
- Block all network protocols in curl/wget (not just http/https)
- Add test for regex pattern compilation
- Add test cases for tabs, sensitive paths, ftp/file protocols

* Harden shell scripts and improve rate limiting

---------

Co-authored-by: Levi Neely <lkn@darkstar.example.net>
Co-authored-by: Levi Neely <lneely@pascom.net>
2026-02-26 14:02:54 +01:00
Levi Neely 5bcaa38ad7 cost / usage optimization, phase 1 2026-02-25 19:17:50 +01:00
Levi Neely 4c4b906acd Add anvilmcp connection to Backends in architecture diagram 2026-02-22 12:52:46 +01:00
Levi Neely 3ef9cc54c0 Fix architecture diagram: Web connects to anvilwebgw via HTTP 2026-02-22 12:49:32 +01:00
Levi Neely 36e5de7e3c Replace autonomous workflow with sequence diagram
- Shows full workflow: User → Taskmaster → Beads → Conductor → Bots
- Illustrates dependency management and completion notification
- Increased width to 600px for better readability
- Updated cache-busting to v=3
2026-02-22 12:24:01 +01:00
Levi Neely cf83b07b04 Add cache-busting to SVG URLs and use default theme
- Add ?v=2 query parameter to all SVG URLs to bypass GitHub cache
- Regenerate with default theme as requested
2026-02-22 12:13:54 +01:00
Levi Neely 4bb5c4e743 Use forest theme for darker arrows
- Arrows now use #000000 (black) instead of #333333
- Much better visibility on all backgrounds
2026-02-22 12:12:13 +01:00
Levi Neely e3b3c111cd Use default theme for better contrast
- Regenerate SVGs with default theme
- Provides darker arrows and better visibility
2026-02-22 12:11:18 +01:00
Levi Neely b78f798db8 Use neutral theme for diagrams
- Regenerate all SVGs with neutral theme instead of dark
- Improves visibility on both light and dark backgrounds
- Better contrast for arrows and boxes
2026-02-22 12:09:32 +01:00
Levi Neely 41acc805d1 Replace ASCII diagrams with SVG images
- Create Mermaid source files for all diagrams
- Generate SVGs using mermaid-cli
- Replace all ASCII art with embedded SVG images
- Diagrams: architecture, sandbox-config, session-lifecycle, crash-recovery, client-interactions, mailbox-flow, automation-workflow, events
- Fixes alignment issues with ASCII box drawing characters
2026-02-22 12:08:12 +01:00
Levi Neely 9d0e9b7e42 Add ollama backend support
- Add ollama backend implementation using mcphost and ollie
- Add ollama.yaml sandbox configuration
- Update README with ollama installation and usage instructions
- Add ollama command to Assist, anvilmcp, and anvilsrv
- Add ANVILLM_OLLAMA_MODEL environment variable
- Hardcode ollama-mcp.json config path to ~/.config/anvillm/ollama-mcp.json
2026-02-21 21:03:55 +01:00