- Add 5 workflow tests (task, context loading, stop-on-failure, conversational) - Add 1 shared test (agent-agnostic approval gate) - Reorganize: opencode/ → agents/ for clearer structure - Rename: sdk-tests/ → tests/ for simplicity - Update test runner paths to new structure - Add comprehensive documentation (test plan, guides, migration) - Update all documentation with new paths Total: 13 tests (was 6, added 7) Coverage: +31% workflow compliance All tests passing: 11/11 (100%)
4 KiB
4 KiB
Proposed Directory Structure - Agent-Specific Subfolders
Current Structure (What We Have)
evals/
├── framework/ # Shared framework
├── opencode/
│ ├── openagent/ # OpenAgent tests
│ └── shared/ # Shared tests
└── results/
Proposed Structure (Cleaner)
evals/
├── framework/ # Shared framework (agent-agnostic)
│ ├── src/
│ │ ├── sdk/
│ │ ├── evaluators/
│ │ └── types/
│ └── package.json
│
├── agents/ # All agent-specific tests
│ ├── openagent/ # OpenAgent-specific
│ │ ├── tests/
│ │ │ ├── developer/
│ │ │ ├── business/
│ │ │ ├── creative/
│ │ │ └── edge-case/
│ │ ├── docs/
│ │ │ ├── RULES.md
│ │ │ └── TEST_SCENARIOS.md
│ │ ├── config/
│ │ │ └── config.yaml
│ │ └── README.md
│ │
│ ├── opencoder/ # OpenCoder-specific (future)
│ │ ├── tests/
│ │ │ ├── developer/
│ │ │ └── refactoring/
│ │ ├── docs/
│ │ │ └── RULES.md
│ │ └── README.md
│ │
│ ├── shared/ # Tests for ANY agent
│ │ ├── tests/
│ │ │ └── common/
│ │ └── README.md
│ │
│ └── README.md # Guide to agent testing
│
└── results/ # Test results (gitignored)
Benefits of This Structure
-
Clear Separation
framework/= Shared infrastructureagents/= All agent-specific content- Each agent has its own subfolder
-
Easy to Find
- Want OpenAgent tests? →
agents/openagent/tests/ - Want OpenCoder tests? →
agents/opencoder/tests/ - Want shared tests? →
agents/shared/tests/
- Want OpenAgent tests? →
-
Scalable
- Add new agent:
mkdir -p agents/my-agent/tests/developer - Copy structure from existing agent
- No confusion about where files go
- Add new agent:
-
Consistent Naming
- All agents use same structure:
tests/- Test filesdocs/- Agent-specific documentationconfig/- Agent configurationREADME.md- Agent overview
- All agents use same structure:
Migration Plan
Option A: Rename opencode/ to agents/
mv evals/opencode evals/agents
Option B: Create new agents/ and move content
mkdir -p evals/agents
mv evals/opencode/openagent evals/agents/
mv evals/opencode/shared evals/agents/
rmdir evals/opencode
Option C: Keep both (transition period)
# Keep opencode/ for now
# Create agents/ as new structure
# Migrate gradually
Recommended: Option A (Simple Rename)
cd evals
mv opencode agents
Then update documentation to reference agents/ instead of opencode/.
File Paths After Migration
Before
evals/opencode/openagent/sdk-tests/developer/task-simple-001.yaml
evals/opencode/shared/sdk-tests/common/approval-gate-basic.yaml
After
evals/agents/openagent/tests/developer/task-simple-001.yaml
evals/agents/shared/tests/common/approval-gate-basic.yaml
Commands After Migration
Before
npm run eval:sdk -- --pattern="opencode/openagent/**/*.yaml"
After
npm run eval:sdk -- --pattern="agents/openagent/**/*.yaml"
What Needs to Update
-
Documentation
- Update all references from
opencode/toagents/ - Update all references from
sdk-tests/totests/
- Update all references from
-
Test Runner (if it has hardcoded paths)
- Check
framework/src/sdk/test-runner.ts - Update any hardcoded paths
- Check
-
README files
- Update directory structure diagrams
- Update example commands
Decision Needed
Which option do you prefer?
- Option A: Simple rename
opencode/→agents/ - Option B: Create new
agents/and move content - Option C: Keep current structure (opencode/)
- Option D: Different structure (please specify)