Commit Graph

35 Commits

Author SHA1 Message Date
Levi Neely 0722f9d8a0 Fix remaining anvilsrv references 2026-03-20 16:27:49 +01:00
Levi Neely ac0aaa931f Rename anvilsrv to anvillm 2026-03-20 16:27:09 +01:00
Levi Neely b846183c37 Move code-execution docs to anvillm-mcp 2026-03-20 15:25:37 +01:00
Levi Neely af07a3d6de Fix missing msgtrace.py heading in toys.md 2026-03-19 00:35:13 +01:00
Levi Neely cd24421141 Document metrics-dashboard.sh in toys.md 2026-03-19 00:34:21 +01:00
Levi Neely cd487a61bc Add docs/toys.md: inbox_refresh.py and msgtrace.py 2026-03-19 00:33:06 +01:00
Levi Neely 08acc47631 Update automation workflow diagram: Conductor decomposes goals directly, remove Taskmaster 2026-03-19 00:05:37 +01:00
Levi Neely 1746fc4c5c Include debug logs in observability references 2026-03-18 23:54:27 +01:00
Levi Neely 3f271122ec Replace fabricated audit logging claims with actual observability (event stream, mailbox archives) 2026-03-18 23:53:02 +01:00
Levi Neely 862e42a58d Remove broken OWASP link from security docs 2026-03-18 23:51:22 +01:00
Levi Neely 20e574ac26 Document custom sandbox configurations via YAML 2026-03-18 23:50:41 +01:00
Levi Neely 1a87b1ae7e Remove patronizing recommendation from security docs 2026-03-18 23:48:20 +01:00
Levi Neely b74696aecf Remove future enhancements section from security docs 2026-03-18 23:47:30 +01:00
Levi Neely 537fc2d9d1 Remove compliance section from security docs 2026-03-18 23:46:48 +01:00
Levi Neely 0e4848f72f Document: explicitly use anvilmcp sandbox for higher-risk scenarios 2026-03-18 23:45:47 +01:00
Levi Neely 7c7d2de1e3 Document default sandbox selection: anvilmcp with fallback to default 2026-03-18 23:44:13 +01:00
Levi Neely 2dc9961bea Fix docs: check_inbox.sh takes no args 2026-03-18 23:41:28 +01:00
Levi Neely 4cf346934d Fix docs: tools path is anvillm/tools, not anvillm/tools/anvilmcp 2026-03-18 23:40:16 +01:00
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