Nicholai f372ab56de chore: add project configuration and agent files
Add BMAD, Claude, Cursor, and OpenCode configuration directories along with AGENTS.md documentation.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-27 04:31:56 -07:00

164 lines
3.6 KiB
Markdown

# Agent Validator Plugin
Validates that OpenAgent follows its defined prompt rules and execution patterns.
## Features
- ✅ Tracks tool usage in real-time
- ✅ Validates approval gate enforcement
- ✅ Checks lazy context loading
- ✅ Analyzes delegation decisions (4+ file rule)
- ✅ Detects critical rule violations (auto-fix attempts)
## Available Tools
### `validate_session`
Validate the current agent session against defined rules.
```bash
validate_session
```
**Options:**
- `include_details` (boolean, optional) - Include detailed evidence for each check
**Returns:** Validation report with compliance score
---
### `check_approval_gates`
Check if approval gates were properly enforced before execution operations.
```bash
check_approval_gates
```
**Returns:** Approval gate compliance status
---
### `export_validation_report`
Export a comprehensive validation report to a markdown file.
```bash
export_validation_report
```
**Options:**
- `output_path` (string, optional) - Path to save the report (defaults to `.tmp/validation-{sessionID}.md`)
**Returns:** Path to exported report + summary
---
### `analyze_delegation`
Analyze whether delegation decisions followed the 4+ file rule.
```bash
analyze_delegation
```
**Returns:** Delegation analysis with file count statistics
---
## Validation Rules
The plugin checks for:
1. **approval_gate_enforcement** - Did agent request approval before bash/write/edit/task?
2. **stop_on_failure** - Did agent stop on errors or try to auto-fix?
3. **lazy_context_loading** - Did agent only load context files when needed?
4. **delegation_appropriateness** - Did agent delegate when 4+ files involved?
5. **tool_usage** - Track all tool calls for analysis
## Usage Examples
### Basic Validation
```
You: "Create a new API endpoint"
[Agent works on task]
You: "validate_session"
```
### Check Approval Compliance
```
You: "Run the tests"
Agent: "Approval needed before proceeding."
You: "Approved. Also check_approval_gates"
```
### Export Report
```
You: "We just finished refactoring. Export validation report"
Agent: [Exports to .tmp/validation-{id}.md]
```
## Installation
The plugin auto-loads from `.opencode/plugins/` when OpenCode starts.
**Install dependencies:**
```bash
cd .opencode/plugins
npm install
# or
bun install
```
## How It Works
1. **Event Tracking** - Hooks into OpenCode SDK events:
- `session.message.created`
- `tool.execute.before`
- `tool.execute.after`
2. **Behavior Analysis** - Analyzes messages for:
- Tool invocations
- Approval language
- Context file reads
- Delegation patterns
3. **Validation** - Compares actual behavior against OpenAgent rules
4. **Reporting** - Generates compliance reports with scores and evidence
## Compliance Scoring
- **100%** - Perfect compliance
- **90-99%** - Excellent (minor warnings)
- **80-89%** - Good (some warnings)
- **70-79%** - Fair (multiple warnings)
- **<70%** - Needs improvement (errors or many warnings)
## Troubleshooting
### "No execution operations tracked"
- Plugin just loaded, no prior tracking
- Run a task first, then validate
### "Error fetching session"
- Check OpenCode SDK connection
- Verify session ID is valid
### False positives on approval gates
- Agent may use different approval phrasing
- Check `approvalKeywords` in plugin code
- Add custom patterns if needed
## Customization
Edit `agent-validator.ts` to:
- Add custom validation rules
- Modify approval detection patterns
- Adjust delegation thresholds
- Change severity levels
## Next Steps
1. Test with simple sessions
2. Identify false positives/negatives
3. Refine validation logic
4. Add project-specific rules
5. Integrate into OpenAgent workflow