Validating Configuration
Before deploying, validate your configuration to catch errors early.Dry Run
Use--dry-run to validate without actually deploying:
- YAML syntax correctness
- Required fields present (
name,prompt,triggers) - Trigger configuration validity
- Agent file references exist
Verbose Output
Add--verbose for detailed validation output:
- Which files are being processed
- Configuration parsing results
- What would be deployed
Debug Mode
Enable debug logging for troubleshooting:~/.buster/logs/debug.log.
Viewing Agent Runs
Every agent execution is logged and visible in the Buster web app.Run Logs
Navigate to the Runs tab to see all agent executions. Each run includes:Trigger Context
Trigger Context
What caused the execution:
- PR number, author, changed files (for PR triggers)
- Timestamp, branch (for scheduled triggers)
- DAG ID, error message (for Airflow triggers)
Files Accessed
Files Accessed
Complete list of files read or modified:
- File paths and operation types
- Content before/after for modifications
SQL Queries
SQL Queries
All queries executed against your warehouse:
- Full SQL text
- Execution time
- Rows returned
- Any errors
Tool Calls
Tool Calls
Every tool invocation:
- Tool name and parameters
- Output or return value
- Execution duration
Agent Reasoning
Agent Reasoning
The agent’s decision-making process:
- Why certain actions were taken
- How conclusions were reached
Actions Taken
Actions Taken
Final outcomes:
- PRs created (with links)
- Comments posted
- Files modified
- Slack messages sent
Errors
Errors
Any failures encountered:
- Error messages
- Failed tool calls
- Stack traces
GitHub Check Runs
Every agent execution creates a GitHub Check Run visible on the PR:- Queued — Agent execution started
- In Progress — Agent is running
- Completed — Finished with success or failure
Common Issues
Agent Didn’t Trigger
File patterns don't match
File patterns don't match
Check that your
includes patterns match the changed files:Branch filter excludes the PR
Branch filter excludes the PR
Verify the PR targets a branch in your
branches list:GitHub App not installed
GitHub App not installed
Ensure the Buster GitHub App is installed on the repository:
- Go to GitHub Settings → Applications → Installed GitHub Apps
- Verify “Buster” is listed and has access to the repository
Agent not deployed
Agent not deployed
Confirm your agent was deployed successfully:Check that the agent file is referenced in
buster.yml:Agent Didn’t Take Expected Action
Ambiguous prompt
Ambiguous prompt
The agent may have interpreted instructions differently than intended. Make prompts more specific:
Missing tool
Missing tool
If your agent needs Slack, ensure it’s enabled:
Check the run logs
Check the run logs
Review the agent’s reasoning in the run logs to understand why it made certain decisions. Look for:
- What files it read
- What conditions it evaluated
- What actions it attempted
Agent Encountered Errors
SQL timeout
SQL timeout
File not found
File not found
Glob to find files dynamically:Git push failed
Git push failed
- Branch protection rules block the push
- Another commit was pushed simultaneously (with
auto_commit: true)
auto_commit: false to create a separate PR instead.Warehouse connection failed
Warehouse connection failed
- Go to Settings → Data Sources
- Verify credentials are correct
- Ensure the warehouse is accessible (IP allowlisting, etc.)
Iterating on Prompts
Most debugging involves refining the agent’s prompt. Start broad and add specificity based on results.Iteration Strategy
Testing Edge Cases
Test your agent with various scenarios:| Scenario | What to Test |
|---|---|
| Empty changes | PR with no relevant files |
| Single file | One model changed |
| Many files | 20+ models changed |
| Invalid SQL | Syntax errors in models |
| Missing YAML | Model without documentation file |
| Large tables | Models with millions of rows |
Best Practices
Pre-Deployment Checklist
Test with a sample PR
Create a test branch, make a small change, and open a PR to verify the agent triggers and behaves as expected.
Monitor first runs
Watch the first few executions in the Runs tab. Check:
- Did it trigger on the right events?
- Did it access the expected files?
- Did it produce the desired output?