482 lines
12 KiB
Markdown
482 lines
12 KiB
Markdown
# Stateful Infinite Loop - Variant 6
|
|
|
|
Robust state management system for infinite agentic loops with self-consistency validation, resumability, and deduplication.
|
|
|
|
## Innovation
|
|
|
|
This variant adds **persistent state management** to the infinite loop pattern, enabling:
|
|
|
|
### Core Features
|
|
|
|
- **Persistent State**: Runs survive interruptions and can resume exactly where they left off
|
|
- **Self-Consistency Validation**: Multiple independent checks with majority voting ensure state reliability
|
|
- **URL Deduplication**: Tracks all used web sources to prevent duplicates
|
|
- **Graceful Recovery**: Handles failures, interruptions, and corruption with automated repair
|
|
- **Complete Auditability**: Full history of iterations, URLs, and validation results
|
|
|
|
### Self-Consistency Principle
|
|
|
|
This system applies **self-consistency prompting** (research-backed AI technique) to state validation:
|
|
|
|
1. **Multiple Sampling**: 6 independent validation approaches check state integrity
|
|
2. **Consistency Analysis**: Each check provides pass/fail assessment
|
|
3. **Majority Voting**: Consistency score = (passed checks) / (total checks)
|
|
4. **High Confidence**: Multiple methods ensure reliable validation even if one method has edge cases
|
|
|
|
**Web Learning Source**: Research on self-consistency prompting for improving AI reliability through multiple sampling and majority voting, applied to state management validation.
|
|
|
|
## Quick Start
|
|
|
|
### Installation
|
|
|
|
```bash
|
|
cd infinite_variants/infinite_variant_6
|
|
```
|
|
|
|
### Basic Usage
|
|
|
|
```bash
|
|
# 1. Run with 5 iterations
|
|
/infinite-stateful specs/example_spec.md outputs 5
|
|
|
|
# 2. Check status
|
|
/status
|
|
|
|
# 3. If interrupted, resume
|
|
/resume run_20250310_143022
|
|
```
|
|
|
|
### With URL Strategy
|
|
|
|
```bash
|
|
# Create URL strategy (optional)
|
|
cat > specs/my_urls.json << 'EOF'
|
|
{
|
|
"foundation": [
|
|
"https://observablehq.com/@d3/learn-d3",
|
|
"https://www.d3-graph-gallery.com/intro_d3js.html"
|
|
],
|
|
"intermediate": [
|
|
"https://observablehq.com/@d3/force-directed-graph"
|
|
],
|
|
"advanced": [
|
|
"https://observablehq.com/@d3/hierarchical-edge-bundling"
|
|
]
|
|
}
|
|
EOF
|
|
|
|
# Run with URL strategy
|
|
/infinite-stateful specs/example_spec.md outputs 10 specs/my_urls.json
|
|
```
|
|
|
|
### Infinite Mode
|
|
|
|
```bash
|
|
# Generate continuously until context limit
|
|
/infinite-stateful specs/example_spec.md outputs infinite specs/my_urls.json
|
|
|
|
# In new session, resume from exact point
|
|
/resume run_20250310_143022
|
|
```
|
|
|
|
## Architecture
|
|
|
|
### Directory Structure
|
|
|
|
```
|
|
infinite_variant_6/
|
|
├── .claude/
|
|
│ ├── commands/
|
|
│ │ ├── infinite-stateful.md # Main orchestration command
|
|
│ │ ├── resume.md # Resume interrupted runs
|
|
│ │ ├── status.md # View run status
|
|
│ │ └── reset-state.md # State management utilities
|
|
│ ├── settings.json # Tool permissions
|
|
│ └── state/ # State files directory
|
|
│ ├── README.md # State system documentation
|
|
│ └── run_*.json # Individual run states
|
|
├── specs/
|
|
│ └── example_spec.md # Example specification
|
|
├── templates/
|
|
│ ├── run_state.json # State template
|
|
│ ├── url_tracker.json # URL tracking template
|
|
│ └── iteration_metadata.json # Iteration record template
|
|
├── docs/
|
|
│ └── state_management_guide.md # Complete usage guide
|
|
├── validators/
|
|
│ └── check_state_consistency.sh # State validation script
|
|
├── state_manager.py # State management utilities
|
|
├── README.md # This file
|
|
└── CLAUDE.md # Project instructions
|
|
```
|
|
|
|
### State File Structure
|
|
|
|
```json
|
|
{
|
|
"run_id": "run_20250310_143022",
|
|
"spec_path": "specs/example_spec.md",
|
|
"output_dir": "outputs",
|
|
"total_count": 10,
|
|
"status": "in_progress",
|
|
"completed_iterations": 3,
|
|
"iterations": [...],
|
|
"used_urls": [...],
|
|
"validation": {
|
|
"consistency_score": 1.0,
|
|
"issues": []
|
|
}
|
|
}
|
|
```
|
|
|
|
## Commands Reference
|
|
|
|
### /infinite-stateful
|
|
|
|
Main command for running stateful infinite loops.
|
|
|
|
**Syntax:**
|
|
```bash
|
|
/infinite-stateful <spec_path> <output_dir> <count> [url_strategy] [run_id]
|
|
```
|
|
|
|
**Features:**
|
|
- Automatic state persistence
|
|
- URL deduplication
|
|
- Self-consistency validation
|
|
- Graceful interruption handling
|
|
- Resume capability
|
|
|
|
### /status
|
|
|
|
View run status and validate consistency.
|
|
|
|
**Syntax:**
|
|
```bash
|
|
/status [run_id]
|
|
```
|
|
|
|
**Output:**
|
|
- Run information (spec, progress, timing)
|
|
- Consistency validation results (6 independent checks)
|
|
- Recent iterations
|
|
- Resumability status
|
|
- URL usage summary
|
|
|
|
### /resume
|
|
|
|
Resume interrupted run.
|
|
|
|
**Syntax:**
|
|
```bash
|
|
/resume <run_id>
|
|
```
|
|
|
|
**Process:**
|
|
1. Validates state consistency
|
|
2. Loads original parameters
|
|
3. Continues from last completed iteration
|
|
4. Preserves URL deduplication
|
|
|
|
### /reset-state
|
|
|
|
State management utilities.
|
|
|
|
**Syntax:**
|
|
```bash
|
|
/reset-state <run_id> [--mode]
|
|
```
|
|
|
|
**Modes:**
|
|
- `--verify`: Check integrity (default)
|
|
- `--rebuild`: Reconstruct state from files
|
|
- `--delete`: Remove state file (with backup)
|
|
|
|
## Usage Examples
|
|
|
|
### Example 1: Simple Run
|
|
|
|
```bash
|
|
# Generate 5 visualizations
|
|
/infinite-stateful specs/example_spec.md viz_output 5
|
|
|
|
# Output:
|
|
# - viz_output/visualization_1.html
|
|
# - viz_output/visualization_2.html
|
|
# - ...
|
|
# - .claude/state/run_20250310_143022.json (state file)
|
|
```
|
|
|
|
### Example 2: Interrupted Run Recovery
|
|
|
|
```bash
|
|
# Start generation of 100 items
|
|
/infinite-stateful specs/example_spec.md outputs 100
|
|
|
|
# ... generates 47 items, then context limit or interruption ...
|
|
# State automatically saved at .claude/state/run_20250310_143022.json
|
|
|
|
# Check what happened
|
|
/status run_20250310_143022
|
|
# Shows: 47 of 100 completed
|
|
|
|
# Resume exactly where left off
|
|
/resume run_20250310_143022
|
|
# Continues from iteration 48
|
|
```
|
|
|
|
### Example 3: Infinite Mode Across Sessions
|
|
|
|
```bash
|
|
# Session 1: Start infinite mode
|
|
/infinite-stateful specs/example_spec.md outputs infinite specs/urls.json
|
|
# ... generates 50 iterations, hits context limit ...
|
|
|
|
# Session 2: Resume
|
|
/resume run_20250310_143022
|
|
# ... generates another 50 iterations ...
|
|
|
|
# Session 3: Resume again
|
|
/resume run_20250310_143022
|
|
# Continues from iteration 101
|
|
# No URL duplicates across all sessions
|
|
```
|
|
|
|
### Example 4: State Corruption Recovery
|
|
|
|
```bash
|
|
# Check status
|
|
/status run_20250310_143022
|
|
# Consistency Score: 0.67 (WARNING)
|
|
# File Existence Check: FAIL - 3 missing files
|
|
|
|
# Rebuild state from existing files
|
|
/reset-state run_20250310_143022 --rebuild
|
|
# State reconstructed successfully
|
|
|
|
# Verify fix
|
|
/status run_20250310_143022
|
|
# Consistency Score: 1.00 (CONSISTENT)
|
|
```
|
|
|
|
## Comparison with Base Infinite Loop
|
|
|
|
| Feature | Base Loop | Stateful Loop (This Variant) |
|
|
|---------|-----------|------------------------------|
|
|
| State Persistence | No | Yes - survives interruptions |
|
|
| Resume Capability | No | Yes - exact continuation point |
|
|
| URL Deduplication | Manual | Automatic via state tracking |
|
|
| Validation | None | Self-consistency with 6 checks |
|
|
| Corruption Recovery | N/A | Automatic rebuild from files |
|
|
| Audit Trail | Limited | Complete iteration history |
|
|
| Cross-Session | No | Yes - resume in new session |
|
|
| Failure Handling | Stop | Graceful with recovery options |
|
|
|
|
## Self-Consistency Validation
|
|
|
|
The system validates state using 6 independent checks:
|
|
|
|
1. **Schema Validation**: All required fields present
|
|
2. **File Count**: Output files match iteration count
|
|
3. **Iteration Records**: State records match completions
|
|
4. **URL Uniqueness**: No duplicate URLs
|
|
5. **File Existence**: All tracked files exist
|
|
6. **Timestamp Validity**: Chronology is valid
|
|
|
|
**Consistency Score** = (passed checks) / 6
|
|
|
|
**Interpretation:**
|
|
- **≥0.8**: State is consistent and reliable
|
|
- **0.5-0.79**: Warnings, review recommended
|
|
- **<0.5**: Corrupted, rebuild needed
|
|
|
|
This multi-check approach with majority voting ensures high-confidence state validation.
|
|
|
|
## Extension Points
|
|
|
|
### Custom Validation Checks
|
|
|
|
Add domain-specific validation:
|
|
|
|
```python
|
|
from state_manager import StateManager
|
|
|
|
def validate_custom(state):
|
|
# Your custom checks
|
|
pass
|
|
|
|
sm = StateManager()
|
|
state = sm.load_state('run_20250310_143022')
|
|
custom_valid = validate_custom(state)
|
|
```
|
|
|
|
### State Migration
|
|
|
|
Migrate state schema across versions:
|
|
|
|
```python
|
|
def migrate_v1_to_v2(state):
|
|
state['version'] = 2
|
|
# Add new fields
|
|
return state
|
|
```
|
|
|
|
### Custom Commands
|
|
|
|
Add variant-specific commands:
|
|
|
|
```markdown
|
|
**CUSTOM ANALYSIS COMMAND**
|
|
|
|
Analyze state for specific patterns...
|
|
```
|
|
|
|
### Integration with Other Systems
|
|
|
|
```python
|
|
# Export state to external system
|
|
import json
|
|
from state_manager import StateManager
|
|
|
|
sm = StateManager()
|
|
state = sm.load_state('run_20250310_143022')
|
|
|
|
# Export summary
|
|
summary = {
|
|
'run_id': state['run_id'],
|
|
'completed': state['completed_iterations'],
|
|
'urls_used': len(state['used_urls'])
|
|
}
|
|
|
|
with open('export.json', 'w') as f:
|
|
json.dump(summary, f)
|
|
```
|
|
|
|
## Best Practices
|
|
|
|
### State Management
|
|
|
|
- Let system manage state automatically
|
|
- Use `/status` to check consistency regularly
|
|
- Resume interrupted runs rather than restart
|
|
- Backup state files before manual edits
|
|
|
|
### Resumability
|
|
|
|
- Use consistent spec and output_dir
|
|
- Preserve output directory between sessions
|
|
- Check state before resuming
|
|
- Let system determine next iteration
|
|
|
|
### URL Deduplication
|
|
|
|
- Use URL strategy files for organization
|
|
- Let state track used URLs automatically
|
|
- Provide fallback search terms for exhaustion
|
|
- Trust deduplication system
|
|
|
|
### Validation
|
|
|
|
- Run validation before critical operations
|
|
- Investigate low consistency scores
|
|
- Use multiple validation approaches
|
|
- Trust majority voting results
|
|
|
|
## Troubleshooting
|
|
|
|
### Low Consistency Score
|
|
|
|
```bash
|
|
# Diagnose
|
|
/status run_20250310_143022
|
|
|
|
# Rebuild if needed
|
|
/reset-state run_20250310_143022 --rebuild
|
|
```
|
|
|
|
### Cannot Resume
|
|
|
|
```bash
|
|
# List available runs
|
|
/status
|
|
|
|
# Use correct run_id
|
|
/resume run_20250310_143022
|
|
```
|
|
|
|
### Missing Files
|
|
|
|
```bash
|
|
# Rebuild state from existing files
|
|
/reset-state run_20250310_143022 --rebuild
|
|
```
|
|
|
|
### Duplicate URLs
|
|
|
|
```bash
|
|
# Check URL uniqueness
|
|
/status run_20250310_143022
|
|
|
|
# Rebuild to deduplicate
|
|
/reset-state run_20250310_143022 --rebuild
|
|
```
|
|
|
|
## Documentation
|
|
|
|
- **[State Management Guide](docs/state_management_guide.md)**: Complete usage guide
|
|
- **[State README](.claude/state/README.md)**: State system documentation
|
|
- **[CLAUDE.md](CLAUDE.md)**: Project instructions for Claude Code
|
|
|
|
## Use Cases
|
|
|
|
### Research Projects
|
|
|
|
Generate large datasets across multiple sessions with guaranteed uniqueness.
|
|
|
|
### Long-Running Tasks
|
|
|
|
Handle context limits gracefully with automatic resume.
|
|
|
|
### Quality Assurance
|
|
|
|
Self-consistency validation ensures reliable operation.
|
|
|
|
### Progressive Learning
|
|
|
|
Track web sources to ensure diverse learning without duplication.
|
|
|
|
## Future Enhancements
|
|
|
|
Potential extensions:
|
|
|
|
- **Distributed State**: Sync state across machines
|
|
- **State Compression**: Compress old state files
|
|
- **Custom Validators**: Plugin system for validation checks
|
|
- **State Analytics**: Dashboard for run analysis
|
|
- **Collaborative Runs**: Multiple users sharing state
|
|
- **Version Control Integration**: Git integration for state
|
|
|
|
## Contributing
|
|
|
|
To extend this variant:
|
|
|
|
1. Add custom commands in `.claude/commands/`
|
|
2. Extend state schema with migrations
|
|
3. Add custom validation checks
|
|
4. Integrate with external systems
|
|
5. Document extensions
|
|
|
|
## License
|
|
|
|
Part of the Infinite Agents project demonstrating Claude Code capabilities.
|
|
|
|
## Credits
|
|
|
|
- **Self-Consistency Technique**: Applied from AI prompting research (multiple sampling + majority voting)
|
|
- **State Management Pattern**: Inspired by database transaction systems
|
|
- **Validation Approach**: Multi-method consensus validation
|
|
|
|
---
|
|
|
|
**Web Learning Applied**: This variant demonstrates learning from self-consistency prompting research, applying the technique of multiple sampling and majority voting to state validation instead of language model outputs. The principle generalizes: multiple independent approaches + consensus = higher reliability.
|