aios-core
Version:
Synkra AIOS: AI-Orchestrated System for Full Stack Development - Core Framework
625 lines (489 loc) • 11.6 kB
Markdown
# Synkra AIOS Meta-Agent Troubleshooting Guide
## Overview
This guide helps diagnose and resolve common issues when using the Synkra AIOS meta-agent for component creation and management.
## Table of Contents
1. [Component Creation Issues](#component-creation-issues)
2. [Template Processing Problems](#template-processing-problems)
3. [Elicitation Workflow Issues](#elicitation-workflow-issues)
4. [Security Validation Errors](#security-validation-errors)
5. [Transaction and Rollback Problems](#transaction-and-rollback-problems)
6. [Batch Creation Failures](#batch-creation-failures)
7. [Dependency Resolution Issues](#dependency-resolution-issues)
8. [Performance Problems](#performance-problems)
9. [Debug Techniques](#debug-techniques)
## Component Creation Issues
### Issue: "Component already exists"
**Symptoms:**
```
❌ Error: Agent 'data-analyst' already exists at /aios-core/agents/data-analyst.md
```
**Causes:**
- Component with same name already created
- Previous creation attempt partially succeeded
**Solutions:**
1. Choose a different name:
```bash
*create-agent
? Agent name: data-analyst-v2
```
2. Check existing components:
```bash
ls aios-core/agents/
```
3. If overwriting is intended:
```bash
# Remove existing component first
rm aios-core/agents/data-analyst.md
*create-agent
```
### Issue: "Invalid name format"
**Symptoms:**
```
❌ Name must be lowercase with hyphens only
```
**Causes:**
- Using uppercase letters
- Spaces or underscores in name
- Starting with number
**Solutions:**
1. Follow naming conventions:
- ✅ Good: `data-analyst`, `api-tester`, `log-monitor`
- ❌ Bad: `DataAnalyst`, `api_tester`, `log monitor`, `2-analyzer`
2. Use the transformer:
```javascript
// Name transformer logic
const validName = inputName
.toLowerCase()
.replace(/\s+/g, '-')
.replace(/[^a-z0-9-]/g, '')
.replace(/^[0-9]/, '');
```
### Issue: "Template not found"
**Symptoms:**
```
❌ Error: Template not found: agent-template.yaml
```
**Causes:**
- Missing template files
- Incorrect installation
- Wrong working directory
**Solutions:**
1. Verify template location:
```bash
ls aios-core/templates/
# Should see: agent-template.yaml, task-template.md, workflow-template.yaml
```
2. Reinstall templates:
```bash
# From project root
npm run setup:templates
```
3. Check working directory:
```bash
pwd
# Should be in aios-core root
```
## Template Processing Problems
### Issue: Variables not replaced
**Symptoms:**
```
Generated content contains: {{AGENT_NAME}} instead of actual value
```
**Causes:**
- Missing variables in elicitation
- Typo in variable names
- Template syntax errors
**Solutions:**
1. Enable debug mode:
```bash
DEBUG_TEMPLATES=true *create-agent
```
2. Check variable mapping:
```javascript
// Common variable mappings
{
AGENT_NAME: answers.agentName,
AGENT_TITLE: answers.agentTitle,
WHEN_TO_USE: answers.whenToUse
}
```
3. Validate template syntax:
- Opening tag: `{{#IF_VARIABLE}}`
- Closing tag: `{{/IF_VARIABLE}}`
- Variable: `{{VARIABLE_NAME}}`
### Issue: Malformed output
**Symptoms:**
- Broken YAML structure
- Missing sections
- Incorrect indentation
**Causes:**
- Template indentation issues
- Conditional logic errors
- Special characters in input
**Solutions:**
1. Check template indentation:
```yaml
{{#IF_COMMANDS}}
commands:
{{#EACH_COMMANDS}}
- name: {{COMMAND_NAME}} # Note the spacing
{{/EACH_COMMANDS}}
{{/IF_COMMANDS}}
```
2. Escape special characters:
```javascript
const escaped = input
.replace(/"/g, '\\"')
.replace(/\n/g, '\\n');
```
## Elicitation Workflow Issues
### Issue: Prompts not appearing
**Symptoms:**
- Command exits immediately
- No interactive prompts shown
**Causes:**
- Non-interactive terminal
- Mock mode enabled
- Input stream issues
**Solutions:**
1. Ensure interactive terminal:
```bash
# Force interactive mode
*create-agent --interactive
```
2. Check mock mode:
```javascript
// In elicitation-engine.js
if (this.mockMode) {
console.log('Mock mode is enabled');
}
```
3. Reset terminal:
```bash
reset
*create-agent
```
### Issue: Session not saving
**Symptoms:**
```
⚠️ Warning: Failed to save elicitation session
```
**Causes:**
- Missing session directory
- Permissions issues
- Disk space
**Solutions:**
1. Create session directory:
```bash
mkdir -p aios-core/.sessions
```
2. Check permissions:
```bash
chmod 755 aios-core/.sessions
```
3. Verify disk space:
```bash
df -h .
```
## Security Validation Errors
### Issue: "Security check failed"
**Symptoms:**
```
❌ Security check failed: Potential code injection detected
```
**Causes:**
- Script tags in input
- Executable code patterns
- Suspicious file paths
**Solutions:**
1. Avoid code in descriptions:
- ❌ Bad: `Executes <script>alert('hi')</script>`
- ✅ Good: `Processes user alerts`
2. Use plain text:
```
? Description: Analyzes log files for errors
# Not: Runs `grep -E "error|fail" *.log`
```
3. Check security rules:
```javascript
// In security-checker.js
const forbidden = [
/<script/i,
/eval\(/,
/require\(['"]\./,
/\.\.\//
];
```
### Issue: "Path traversal detected"
**Symptoms:**
```
❌ Security: Path traversal attempt detected
```
**Causes:**
- Using `../` in paths
- Absolute paths outside project
- Symbolic link attempts
**Solutions:**
1. Use relative paths within project:
```javascript
// Good
path.join(this.rootPath, 'agents', 'my-agent.md')
// Bad
path.join('../../../', 'agents', 'my-agent.md')
```
2. Validate paths:
```javascript
const safePath = path.normalize(inputPath);
if (!safePath.startsWith(this.rootPath)) {
throw new Error('Path outside project');
}
```
## Transaction and Rollback Problems
### Issue: "No transaction to rollback"
**Symptoms:**
```
⚠️ No transactions found to rollback
```
**Causes:**
- Transaction already rolled back
- Transaction logs deleted
- No recent operations
**Solutions:**
1. List available transactions:
```bash
*list-transactions
```
2. Check transaction directory:
```bash
ls aios-core/logs/transactions/
```
3. Use specific transaction ID:
```bash
*undo-last --transaction-id=txn-1234567890-abcd
```
### Issue: Partial rollback failure
**Symptoms:**
```
✅ Successful: 3
❌ Failed: 2
- file1.md: Permission denied
- manifest.yaml: File not found
```
**Causes:**
- Files modified after creation
- Missing backup files
- Permission changes
**Solutions:**
1. Manual cleanup:
```bash
# Check failed files
ls -la aios-core/agents/file1.md
# Remove manually if needed
rm aios-core/agents/file1.md
```
2. Force rollback:
```bash
*undo-last --force --continue-on-error
```
3. Restore from backup:
```bash
# Check backups
ls aios-core/logs/transactions/txn-*/backups/
```
## Batch Creation Failures
### Issue: "Circular dependency detected"
**Symptoms:**
```
❌ Circular dependency detected: A → B → C → A
```
**Causes:**
- Tasks depending on each other
- Workflow referencing itself
- Complex dependency chains
**Solutions:**
1. Review dependencies:
```javascript
// Check dependency graph
{
"task-a": ["task-b"],
"task-b": ["task-c"],
"task-c": ["task-a"] // Circular!
}
```
2. Break circular chains:
- Remove unnecessary dependencies
- Create intermediate tasks
- Use conditional dependencies
3. Visualize dependencies:
```bash
*analyze-dependencies --visual
```
### Issue: Batch creation partially fails
**Symptoms:**
```
📦 Creating components [████████░░░░░░░░░░] 45% 5/11
❌ Some components failed to create
```
**Causes:**
- Individual component errors
- Dependency not met
- Resource constraints
**Solutions:**
1. Check failure details:
```bash
# Review transaction log
cat aios-core/logs/transactions/latest.json
```
2. Rollback and retry:
```bash
*undo-last
# Fix issues
*create-suite --continue-from=component-6
```
3. Create individually:
```bash
# Skip batch, create one by one
*create-agent
*create-task
```
## Dependency Resolution Issues
### Issue: "Missing dependencies"
**Symptoms:**
```
⚠️ Task 'analyze-data' requires agent 'data-analyst' which doesn't exist
```
**Causes:**
- Creating task before agent
- Typo in agent name
- Deleted dependencies
**Solutions:**
1. Check existing components:
```bash
*list-components --type=agent
```
2. Create missing dependencies:
```bash
*create-agent
? Agent name: data-analyst
```
3. Use batch creation:
```bash
*create-suite
> Complete Agent Package
```
## Performance Problems
### Issue: Slow component creation
**Symptoms:**
- Creation takes > 30 seconds
- Terminal freezes
- High CPU usage
**Causes:**
- Large template files
- Complex validation
- Disk I/O issues
**Solutions:**
1. Profile performance:
```bash
DEBUG=perf:* *create-agent
```
2. Optimize templates:
- Reduce template size
- Simplify conditionals
- Cache processed templates
3. Check system resources:
```bash
# CPU usage
top
# Disk I/O
iostat -x 1
```
### Issue: Memory usage high
**Symptoms:**
```
FATAL ERROR: JavaScript heap out of memory
```
**Causes:**
- Large batch operations
- Memory leaks
- Circular references
**Solutions:**
1. Increase Node memory:
```bash
NODE_OPTIONS="--max-old-space-size=4096" *create-suite
```
2. Reduce batch size:
```javascript
// In batch-creator.js
options.batchSize = 5; // Instead of 50
```
3. Clear caches:
```bash
rm -rf aios-core/.cache/
```
## Debug Techniques
### Enable Debug Output
```bash
# All debug output
DEBUG=* *create-agent
# Specific modules
DEBUG=aios:template,aios:elicitation *create-agent
# Performance timing
DEBUG=perf:* *create-agent
```
### Check Logs
```bash
# Application logs
tail -f aios-core/logs/aios-developer.log
# Transaction logs
ls -la aios-core/logs/transactions/
# Error logs
grep ERROR aios-core/logs/*.log
```
### Validate Components
```bash
# Validate single component
*validate-component --type=agent --name=data-analyst
# Validate all components
*validate-all --fix-issues
```
### Test Mode
```bash
# Dry run without creating files
*create-agent --dry-run
# Test with mock data
*create-agent --test-mode
```
## Getting Help
### Built-in Help
```bash
# General help
*help
# Command-specific help
*help create-agent
*help create-suite
*help undo-last
```
### Documentation
- Template syntax: `aios-core/docs/template-syntax.md`
- Creation guide: `aios-core/docs/component-creation-guide.md`
- API reference: `aios-core/docs/api-reference.md`
### Support Channels
1. **Check existing issues**: Review known problems
2. **Enable debug mode**: Gather diagnostic info
3. **Collect logs**: Include relevant error messages
4. **Minimal reproduction**: Create simple test case
### Emergency Recovery
If all else fails:
1. **Backup current state**:
```bash
tar -czf aios-backup.tar.gz aios-core/
```
2. **Reset to clean state**:
```bash
git checkout -- aios-core/
npm run setup
```
3. **Restore from transaction logs**:
```bash
*restore-from-transaction --id=last-known-good
```