testing
This commit is contained in:
@@ -0,0 +1,77 @@
|
||||
# Test Plan: Agents
|
||||
|
||||
## Feature description
|
||||
|
||||
Agents combine a role (instructions), tools (bash/python/ts scripts),
|
||||
optional RAG, optional MCP servers, and optional sub-agent spawning
|
||||
capability. Agent::init compiles tools, resolves model, loads RAG,
|
||||
and sets up the agent environment.
|
||||
|
||||
## Behaviors to test
|
||||
|
||||
### Agent initialization
|
||||
- [ ] Agent::init loads config.yaml from agent directory
|
||||
- [ ] Agent tools compiled from tools.sh / tools.py / tools.ts
|
||||
- [ ] Tool file priority: .sh > .py > .ts > .js
|
||||
- [ ] Global tools loaded (from global_tools config)
|
||||
- [ ] Model resolved from agent config or defaults to current
|
||||
- [ ] Agent with no model_id uses current model
|
||||
- [ ] Temperature/top_p from agent config applied
|
||||
- [ ] Dynamic instructions (_instructions function) invoked if configured
|
||||
- [ ] Static instructions loaded from config
|
||||
- [ ] Agent variables interpolated into instructions
|
||||
- [ ] Special variables (__os__, __cwd__, __now__, etc.) interpolated
|
||||
- [ ] Agent .env file loaded if present
|
||||
- [ ] Built-in agents installed on first run (skip if exists)
|
||||
|
||||
### Agent tools
|
||||
- [ ] Agent-specific tools available as function declarations
|
||||
- [ ] Global tools (from global_tools) also available
|
||||
- [ ] Tool binaries built in agent bin directory
|
||||
- [ ] clear_agent_bin_dir removes old binaries before rebuild
|
||||
- [ ] Tool declarations include name, description, parameters
|
||||
|
||||
### Agent with MCP
|
||||
- [ ] MCP servers listed in agent config started
|
||||
- [ ] MCP meta functions (invoke/search/describe) added
|
||||
- [ ] Agent with MCP but mcp_server_support=false → error
|
||||
- [ ] MCP servers stopped on agent exit
|
||||
|
||||
### Agent with RAG
|
||||
- [ ] RAG documents loaded from agent config
|
||||
- [ ] RAG available during agent conversation
|
||||
- [ ] RAG search results included in context
|
||||
|
||||
### Agent sessions
|
||||
- [ ] Agent session started (temp or named)
|
||||
- [ ] agent_session config used if no explicit session
|
||||
- [ ] Agent session variables initialized
|
||||
|
||||
### Agent lifecycle
|
||||
- [ ] use_agent checks function_calling_support
|
||||
- [ ] use_agent errors if agent already active
|
||||
- [ ] exit_agent clears agent, session, rag, supervisor
|
||||
- [ ] exit_agent restores global tool scope
|
||||
|
||||
### Auto-continuation
|
||||
- [ ] Agents with auto_continue=true continue after incomplete todos
|
||||
- [ ] max_auto_continues limits continuation attempts
|
||||
- [ ] Continuation prompt sent with todo state
|
||||
- [ ] clear todo stops continuation
|
||||
|
||||
### Conversation starters
|
||||
- [ ] Starters loaded from agent config
|
||||
- [ ] .starter lists available starters
|
||||
- [ ] .starter <n> sends the starter as a message
|
||||
|
||||
## Context switching scenarios
|
||||
- [ ] Agent → exit: tools cleared, MCP stopped, session ended
|
||||
- [ ] Agent with MCP → exit: MCP servers released, global MCP restored
|
||||
- [ ] Already in agent → start agent: error
|
||||
- [ ] Agent with RAG → exit: RAG cleared
|
||||
|
||||
## Old code reference
|
||||
- `src/config/agent.rs` — Agent::init, agent config parsing
|
||||
- `src/config/mod.rs` — use_agent, exit_agent
|
||||
- `src/config/request_context.rs` — use_agent, exit_agent
|
||||
- `src/function/mod.rs` — Functions::init_agent, tool compilation
|
||||
Reference in New Issue
Block a user