picoclaw/session-log.md
anthrodjear d1c6f6e44c feat(tools): implement permission prompting for filesystem operations
Integrate `PermissionCache` into `WriteFileTool`, `EditFileTool`, `AppendFileTool`, and `ListDirTool` to allow user approval for actions outside the workspace.

- Add `PermissionPrompter` interface and `TerminalPrompter` implementation.
- Update `AgentInstance` to initialize and register the permission cache and `RequestPermissionTool`.
- Refactor filesystem tools to support permission checks via a `PermissionChecker` interface.
- Add `plan.md` documenting the multi-wave permission implementation strategy.
2026-05-05 11:27:12 +03:00

52 lines
2.7 KiB
Markdown

## 2026-05-05 00:00 [saved]
Goal: Initial project setup - create memory files for PicoClaw project
Decisions:
- Initialized git repository for staleness tracking (enables precise project-map.md freshness checks)
- Created project-map.md with directory structure, key files, critical constraints, and hot files
- Created CLAUDE.md with build commands, environment setup, critical constraints, and architecture notes
- Project is PicoClaw: ultra-lightweight AI assistant in Go targeting low end hardware with <50MB RAM
Rejected: None (initial setup)
## 2026-05-05 00:01 [saved]
Goal: Document tools implementation and backend API interaction
Decisions:
- Created docs/tools-api.md with comprehensive tools documentation
- Documented all 20+ tools across 8 categories (filesystem, automation, web, communication, skills, agents, hardware, discovery)
- Documented backend API endpoints for tool management (GET/PUT /api/tools, web-search-config)
- Documented tool data structures (Tool interface, ToolResult, SubTurnConfig)
- Documented MCP integration and tool discovery flow
- Documented security considerations and configuration examples
Rejected: None
Open: None
## 2026-05-05 00:02 [saved]
Goal: Document exec tool internals and how to sandbox/remove it
Decisions:
- Created docs/reference/exec-tool.md with comprehensive exec tool documentation
- Documented exec flow: LLM invocation action routing sync/background execution isolation wrapper
- Documented 40+ built-in deny patterns (rm -rf, dd, shutdown, sudo, docker, etc.)
- Documented 3 ways to disable: config (enabled=false), disable remote, strict timeout
- Documented complete removal steps (delete files, remove registration, config, defaults)
- Documented sandboxing options: bubblewrap (Linux), restricted tokens (Windows), workspace restriction, custom deny patterns
- Listed all key files: shell.go, session.go, spawn.go, instance.go, config.go, defaults.go, isolation/
Rejected: None
Open: None
## 2026-05-05 00:03 [saved]
Goal: Implement exec tool permission system via subagent-driven-development
Decisions:
- Executed plan docs/superpowers-optimized/plans/2026-05-05-exec-permission.md
- Task 1: Created PermissionCache (commit 843552ad)
- Task 2: Added PermissionCache tests (commit cf494c7b)
- Task 3: Created RequestPermissionTool (commit 7804b120)
- Task 4: Modified ExecTool to check permissions (commit 9ac94f32)
- Task 5: Added ask_permission to config (commit 8feb6892)
- Task 6: Wired up PermissionCache in agent (commit 9455c2d6)
- Task 7: Build passes, permission tests PASS
- Task 8: Updated documentation (commit 4c74b13c)
- Fixed test file to use exported field names (PermissionCache, AskPermission) (commit f46cf4c7)
Rejected: None
Open: None
Open: None