* feat(agents): implement category-based agent organization system - Organize agents into domain categories (core, development, content, data, product, learning) - Move 10 agents to category subdirectories with proper git rename tracking - Update 13 subagents with category and type metadata in frontmatter - Add category metadata files (0-category.json) documenting common patterns - Implement local registry fallback in install script for offline development - Add comprehensive validation suite with 15 automated tests (100% pass rate) - Enhance registry validation with duplicate ID and consistency checks - Update eval framework with intelligent path resolution (backward compatible) - Archive legacy eval structure to _archive/ for reference - Update all documentation to reflect category-based structure - Bump version to 0.5.0 with accurate CHANGELOG Technical Details: - 23 agents organized (10 category agents, 13 subagents) - 6 category directories created - Path resolution supports both agent IDs and category paths - Registry schema updated to v2.0.0 - 159 files changed, 872 insertions(+), 10738 deletions(-) BREAKING CHANGE: Agent file paths now use category structure. Update references from .opencode/agent/openagent.md to .opencode/agent/core/openagent.md. Eval framework maintains backward compatibility via path resolution. * refactor(evals): consolidate documentation and enhance test infrastructure - Remove temporary project tracking files (PHASE_5_COMPLETE, PROJECT_COMPLETE, etc.) - Consolidate evaluation framework docs into main README - Enhance test execution with improved logging and multi-prompt support - Move system-builder from core to meta category - Add comprehensive test suites for openagent with organized structure - Create evaluation test structure for all subagents - Clean up archived workflows and redundant documentation - Update registry to reflect new agent organization - Add shared test templates and golden test patterns * feat(ci): add manual trigger support for bot-created PRs in validate-registry workflow - Add pr_number input to workflow_dispatch for manually triggering validation - Fetch PR details dynamically when triggered manually - Support both automatic (PR event) and manual (workflow_dispatch) triggers - Enable validation of bot-created PRs like automated version bumps - Update branch detection and push logic to handle both trigger types - Add documentation explaining how to manually trigger for bot PRs * feat(evals): add explicit context file validation to test framework - Add expectedContextFiles field to test YAML schema for explicit context file specification - Enhance context-loading-evaluator to support both auto-detect and explicit validation modes - Update documentation with comprehensive guide and examples - Clean up archived legacy test structure (90+ old test files) - Add new example tests demonstrating explicit context validation - Backward compatible with existing tests * feat(evals): add multi-agent logging system and performance optimizations Implement comprehensive multi-agent logging and performance improvements for the eval framework. Task 01: Multi-Agent Logging System - Add complete hierarchical logging module (evals/framework/src/logging/) - SessionTracker: tracks parent-child delegation hierarchies - MultiAgentLogger: pretty-prints logs with visual indentation - Formatters: box characters and emoji formatting - 37 passing unit tests (session-tracker, logger, integration) - Integrate with SDK event stream handler - Hook into session.created, message.updated, message.part.updated events - Real-time child session detection via timestamp heuristics - Message deduplication for cleaner output - Enable in debug mode only (<1% performance overhead) - Add demo script and comprehensive documentation Task 02: Performance Optimizations - Reduce grace period from 5s to 2s (67% reduction, 10-20% faster tests) - Add PerformanceMetricsEvaluator for bottleneck identification - Collects tool latencies, inference time, idle time - Provides full performance visibility - Update smoke test to validate delegation (core feature) - Replace simple read test with multi-agent delegation test - Tests both parent and child agent functionality - Validates multi-agent logging system Results: - 37 unit tests passing - Smoke test passing (95/100 score) - Clean hierarchical logging output - 10-20% faster test execution - Full multi-agent visibility Files changed: 16 files, +2678 lines Time saved: ~6-8 days (completed in 6 hours vs 3-5 day estimate) * feat(evals): show child agent execution in non-debug mode - Enable MultiAgentLogger in both debug and non-debug modes - Add verbose parameter to control output level - Non-verbose mode shows concise child session lifecycle: - Child agent started message - Child agent completed with duration - Verbose mode (--debug) shows full delegation hierarchy - Update documentation to reflect new behavior This provides visibility into delegation without overwhelming output, giving confidence that child agents are actually running. * feat(evals): improve delegation testing and behavior validation Major improvements to eval framework: Test Suite: - Add 00-smoke-test.yaml (basic read operation) - Rename 01-smoke-test.yaml → 02-delegation-test.yaml (delegation test) - Add simple-responder test agent for delegation testing - Add debug test: simple-subagent-call.yaml Evaluators: - Add agent-model-evaluator.ts for agent/model validation - Enhance behavior-evaluator.ts with detailed task tool output - Improve delegation-evaluator.ts with better evidence tracking Schema & Execution: - Add expectedAgent and expectedModel to test schema - Improve test executor with better logging and error handling Documentation: - Update evals/README.md with new features and performance improvements - Remove outdated MULTI_AGENT_LOGGING_COMPLETE.md Registry: - Add simple-responder test agent to registry Fixes: - Fix dashboard.sh path resolution These changes provide better visibility into delegation, improved test coverage, and clearer validation of agent behavior. * chore: add GitHub Actions workflow and plugin documentation - Add .github/workflows/evals/run-evaluations.yml for automated eval testing - Add dev/ai-tools/opencode/plugins/Plugin-inspiration.md for plugin development reference
248 lines
6.9 KiB
Markdown
248 lines
6.9 KiB
Markdown
# Context Bundle Template
|
|
|
|
**Purpose**: Template for creating context bundles when delegating tasks to subagents
|
|
|
|
**Location**: `.tmp/context/{session-id}/bundle.md`
|
|
|
|
**Used by**: repo-manager agent when delegating to subagents
|
|
|
|
---
|
|
|
|
## Template
|
|
|
|
```markdown
|
|
# Context Bundle: {Task Name}
|
|
|
|
Session: {session-id}
|
|
Created: {ISO timestamp}
|
|
For: {subagent-name}
|
|
Status: in_progress
|
|
|
|
## Task Overview
|
|
|
|
{Brief description of what we're building/doing}
|
|
|
|
## User Request
|
|
|
|
{Original user request - what they asked for}
|
|
|
|
## Relevant Standards (Load These Before Starting)
|
|
|
|
**Core Standards**:
|
|
- `.opencode/context/core/standards/code.md` → Modular, functional code patterns
|
|
- `.opencode/context/core/standards/tests.md` → Testing requirements and TDD
|
|
- `.opencode/context/core/standards/docs.md` → Documentation standards
|
|
- `.opencode/context/core/standards/patterns.md` → Error handling, security patterns
|
|
|
|
**Core Workflows**:
|
|
- `.opencode/context/core/workflows/delegation.md` → Delegation process
|
|
- `.opencode/context/core/workflows/task-breakdown.md` → Task breakdown methodology
|
|
- `.opencode/context/core/workflows/review.md` → Code review guidelines
|
|
|
|
## Repository-Specific Context (Load These Before Starting)
|
|
|
|
**Quick Start** (ALWAYS load first):
|
|
- `.opencode/context/openagents-repo/quick-start.md` → Repo orientation and common commands
|
|
|
|
**Core Concepts** (Load based on task type):
|
|
- `.opencode/context/openagents-repo/core-concepts/agents.md` → How agents work
|
|
- `.opencode/context/openagents-repo/core-concepts/evals.md` → How testing works
|
|
- `.opencode/context/openagents-repo/core-concepts/registry.md` → How registry works
|
|
- `.opencode/context/openagents-repo/core-concepts/categories.md` → How organization works
|
|
|
|
**Guides** (Load for specific workflows):
|
|
- `.opencode/context/openagents-repo/guides/adding-agent.md` → Step-by-step agent creation
|
|
- `.opencode/context/openagents-repo/guides/testing-agent.md` → Testing workflow
|
|
- `.opencode/context/openagents-repo/guides/updating-registry.md` → Registry workflow
|
|
- `.opencode/context/openagents-repo/guides/debugging.md` → Troubleshooting
|
|
|
|
**Lookup** (Quick reference):
|
|
- `.opencode/context/openagents-repo/lookup/file-locations.md` → Where everything is
|
|
- `.opencode/context/openagents-repo/lookup/commands.md` → Command reference
|
|
|
|
## Key Requirements
|
|
|
|
{Extract key requirements from loaded context}
|
|
|
|
**From Standards**:
|
|
- {requirement 1 from standards/code.md}
|
|
- {requirement 2 from standards/tests.md}
|
|
- {requirement 3 from standards/docs.md}
|
|
|
|
**From Repository Context**:
|
|
- {requirement 1 from repo context}
|
|
- {requirement 2 from repo context}
|
|
- {requirement 3 from repo context}
|
|
|
|
**Naming Conventions**:
|
|
- {convention 1}
|
|
- {convention 2}
|
|
|
|
**File Structure**:
|
|
- {structure requirement 1}
|
|
- {structure requirement 2}
|
|
|
|
## Technical Constraints
|
|
|
|
{List technical constraints and limitations}
|
|
|
|
- {constraint 1 - e.g., "Must use TypeScript"}
|
|
- {constraint 2 - e.g., "Must follow category-based organization"}
|
|
- {constraint 3 - e.g., "Must include proper frontmatter metadata"}
|
|
|
|
## Files to Create/Modify
|
|
|
|
{List all files that need to be created or modified}
|
|
|
|
**Create**:
|
|
- `{file-path-1}` - {purpose and what it should contain}
|
|
- `{file-path-2}` - {purpose and what it should contain}
|
|
|
|
**Modify**:
|
|
- `{file-path-3}` - {what needs to be changed}
|
|
- `{file-path-4}` - {what needs to be changed}
|
|
|
|
## Success Criteria
|
|
|
|
{Define what "done" looks like - binary pass/fail conditions}
|
|
|
|
- [ ] {criteria 1 - e.g., "Agent file created with proper frontmatter"}
|
|
- [ ] {criteria 2 - e.g., "Eval tests pass"}
|
|
- [ ] {criteria 3 - e.g., "Registry validation passes"}
|
|
- [ ] {criteria 4 - e.g., "Documentation updated"}
|
|
|
|
## Validation Requirements
|
|
|
|
{How to validate the work}
|
|
|
|
**Scripts to Run**:
|
|
- `{validation-script-1}` - {what it validates}
|
|
- `{validation-script-2}` - {what it validates}
|
|
|
|
**Tests to Run**:
|
|
- `{test-command-1}` - {what it tests}
|
|
- `{test-command-2}` - {what it tests}
|
|
|
|
**Manual Checks**:
|
|
- {check 1}
|
|
- {check 2}
|
|
|
|
## Expected Output
|
|
|
|
{What the subagent should produce}
|
|
|
|
**Deliverables**:
|
|
- {deliverable 1}
|
|
- {deliverable 2}
|
|
|
|
**Format**:
|
|
- {format requirement 1}
|
|
- {format requirement 2}
|
|
|
|
## Progress Tracking
|
|
|
|
{Track progress through the task}
|
|
|
|
- [ ] Context loaded and understood
|
|
- [ ] {step 1}
|
|
- [ ] {step 2}
|
|
- [ ] {step 3}
|
|
- [ ] Validation passed
|
|
- [ ] Documentation updated
|
|
|
|
---
|
|
|
|
## Instructions for Subagent
|
|
|
|
{Specific, detailed instructions for the subagent}
|
|
|
|
**IMPORTANT**:
|
|
1. Load ALL context files listed in "Relevant Standards" and "Repository-Specific Context" sections BEFORE starting work
|
|
2. Follow ALL requirements from the loaded context
|
|
3. Apply naming conventions and file structure requirements
|
|
4. Validate your work using the validation requirements
|
|
5. Update progress tracking as you complete steps
|
|
|
|
**Your Task**:
|
|
{Detailed description of what the subagent needs to do}
|
|
|
|
**Approach**:
|
|
{Suggested approach or methodology}
|
|
|
|
**Constraints**:
|
|
{Any additional constraints or notes}
|
|
|
|
**Questions/Clarifications**:
|
|
{Any questions the subagent should consider or clarifications needed}
|
|
```
|
|
|
|
---
|
|
|
|
## Usage Instructions
|
|
|
|
### When to Create a Context Bundle
|
|
|
|
Create a context bundle when:
|
|
- Delegating to any subagent
|
|
- Task requires coordination across multiple components
|
|
- Subagent needs project-specific context
|
|
- Task has complex requirements or constraints
|
|
|
|
### How to Create a Context Bundle
|
|
|
|
1. **Create session directory**:
|
|
```bash
|
|
mkdir -p .tmp/context/{session-id}
|
|
```
|
|
|
|
2. **Copy template**:
|
|
```bash
|
|
cp .opencode/context/openagents-repo/templates/context-bundle-template.md \
|
|
.tmp/context/{session-id}/bundle.md
|
|
```
|
|
|
|
3. **Fill in all sections**:
|
|
- Replace all `{placeholders}` with actual values
|
|
- List specific context files to load (with full paths)
|
|
- Extract key requirements from loaded context
|
|
- Define clear success criteria
|
|
- Provide specific instructions
|
|
|
|
4. **Pass to subagent**:
|
|
```javascript
|
|
task(
|
|
subagent_type="subagents/core/{subagent}",
|
|
description="Brief description",
|
|
prompt="Load context from .tmp/context/{session-id}/bundle.md before starting.
|
|
|
|
{Specific task instructions}
|
|
|
|
Follow all standards and requirements in the context bundle."
|
|
)
|
|
```
|
|
|
|
### Best Practices
|
|
|
|
**DO**:
|
|
- ✅ List context files with full paths (don't duplicate content)
|
|
- ✅ Extract key requirements from loaded context
|
|
- ✅ Define binary success criteria (pass/fail)
|
|
- ✅ Provide specific validation requirements
|
|
- ✅ Include clear instructions for subagent
|
|
- ✅ Track progress through the task
|
|
|
|
**DON'T**:
|
|
- ❌ Duplicate full context file content (just reference paths)
|
|
- ❌ Use vague success criteria ("make it good")
|
|
- ❌ Skip validation requirements
|
|
- ❌ Forget to list technical constraints
|
|
- ❌ Omit file paths for files to create/modify
|
|
|
|
### Example Context Bundle
|
|
|
|
See `.opencode/context/openagents-repo/examples/context-bundle-example.md` for a complete example.
|
|
|
|
---
|
|
|
|
**Last Updated**: 2025-01-21
|
|
**Version**: 1.0.0
|