Hello RAVL - Environment Explorer

Your first learning loop. Watch as it discovers and maps its environment through exploration.

What Makes This a Learning Loop

This isnโ€™t a task that executes the same way each time. Itโ€™s an agent that:

  • Starts with zero knowledge about its environment
  • Decides what to explore based on what itโ€™s learned
  • Discovers facts through investigation
  • Builds a knowledge map that persists across runs
  • Gets strategically smarter about what to explore next

The RAVL Mental Model

Think of this loop as a curious explorer, not a task executor:

Run 1: "I know nothing. Let me check the date and time..."
Run 2: "I know when I run. Let me explore the filesystem..."
Run 3: "I found interesting directories. Let me investigate deeper..."
Run 5: "I've mapped the basics. Let me discover Python capabilities..."
Run 10: "I understand my world. Let me find hidden patterns..."

Each run builds on previous learning. The loop becomes more sophisticated.

How to Run

# From framework root (will clone to ravl_loops/ on first run)
./ravl simple_learning_loop

# Watch multiple runs to see learning
./ravl simple_learning_loop
./ravl simple_learning_loop
./ravl simple_learning_loop  # By run 3-4, you'll see strategic exploration

What Youโ€™ll See

Early Runs (Naive Exploration)

๐Ÿง  REFLECT: No prior knowledge. Starting with basic environment discovery.

๐Ÿ” ACT: Exploring current date and time...
   Discovered: Running at 2025-11-09 14:30:45 UTC
   Discovered: Timezone is UTC
   Saved to: output/exploration_log.md

โœ… VERIFY: Discovery Value: 8/10 (genuinely new information)
          Insight Depth: 5/10 (basic facts)
          Efficiency: 7/10 (good starting point)
          Overall: 6.7/10 โœ…

๐Ÿ“Š LEARN: Added time facts to knowledge base.
         Next priority: Explore filesystem structure.

Middle Runs (Pattern Recognition)

๐Ÿง  REFLECT: I know time context and basic file structure.
           Found pattern: .git directory suggests version control.
           Strategy: Investigate version control details.

๐Ÿ” ACT: Exploring git repository information...
   Discovered: Repository has 1,247 commits
   Discovered: 3 active branches (main, dev, feature-xyz)
   Discovered: Last commit was 2 hours ago
   Pattern: Active development repository

โœ… VERIFY: Overall: 8.3/10 โœ… (deeper insights emerging)

๐Ÿ“Š LEARN: Repository patterns suggest active project.
         Hypothesis: Check for CI/CD configuration next.

Later Runs (Sophisticated Understanding)

๐Ÿง  REFLECT: Comprehensive environment map established.
           Know: file structure, git details, Python capabilities.
           Strategy: Look for hidden patterns and connections.

๐Ÿ” ACT: Analyzing relationships between discoveries...
   Insight: Test files mirror source structure (good practice)
   Insight: Virtual environments suggest multiple Python projects
   Insight: Log timestamps correlate with git commit times

โœ… VERIFY: Overall: 9.2/10 โœ… (high-value meta-insights)

๐Ÿ“Š LEARN: Moving from facts to understanding.
         Environment fully mapped. Quality of insights increasing.

Understanding the Learning

Check learnings/loop_learning/model.yml after several runs:

# After 5 runs
environment:
  time:
    first_run: "2025-11-09T14:30:45Z"
    timezone: "UTC"
    typical_runtime: "~3 seconds"

  location:
    cwd: "/Users/you/ravl_loops/simple_learning_loop"
    project_root: "/Users/you/project"
    in_git_repo: true

  structure:
    important_dirs: [".ravl", "ravl_loops", "learnings", "output"]
    config_files: ["ravl.yml", ".env"]
    total_files_discovered: 47

exploration_history:
  explored_areas:
    - "time_context"
    - "filesystem_basics"
    - "git_repository"
    - "python_environment"
    - "file_patterns"

  fully_mapped:
    - "time_context"
    - "filesystem_basics"

  worth_revisiting:
    - "git_history"  # Changes over time
    - "log_files"     # New entries appear

strategic_insights:
  successful_strategies:
    - "Start with immediate context"
    - "Follow interesting findings"
    - "Look for patterns, not just facts"

  total_facts_discovered: 52
  discovery_rate_trend: "decreasing"  # Natural as environment gets mapped
  insight_quality_trend: "increasing" # Moving from facts to patterns

Key Observations

1. Real Learning, Not Just Execution

  • Builds persistent knowledge across runs
  • Makes strategic decisions based on accumulated wisdom
  • Discovery rate naturally decreases as knowledge saturates

2. Observable Intelligence

  • Early runs: Random exploration
  • Middle runs: Focused investigation
  • Later runs: Pattern synthesis

3. No Code Generation Focus

This example shows that markdown loops arenโ€™t just about generating code. Theyโ€™re about defining intelligent behavior that learns and adapts.

File Structure

simple_learning_loop/
โ”œโ”€โ”€ ravl_loop.md              # Loop definition (what you read)
โ”œโ”€โ”€ README.md                 # This file
โ”œโ”€โ”€ config/
โ”‚   โ””โ”€โ”€ ravl.yml             # Configuration
โ”œโ”€โ”€ learnings/
โ”‚   โ”œโ”€โ”€ execution_learning/   # Framework's learning (how to run)
โ”‚   โ””โ”€โ”€ loop_learning/        # Domain learning (what was discovered)
โ”‚       โ””โ”€โ”€ model.yml        # Growing knowledge base โ† Watch this!
โ””โ”€โ”€ output/
    โ””โ”€โ”€ exploration_log.md   # Chronicle of discoveries

The Learning Trajectory

Runs 1-3:   Naive โ†’ Basic Facts
Runs 4-6:   Facts โ†’ Structure Understanding
Runs 7-9:   Structure โ†’ Pattern Recognition
Runs 10+:   Patterns โ†’ Strategic Insights

This is observable intelligence emerging from simple exploration rules.

Common Patterns Youโ€™ll See

  1. Knowledge Saturation: After ~10-15 runs, discovery rate drops as environment becomes fully mapped
  2. Strategy Evolution: Loop naturally shifts from breadth-first to depth-first exploration
  3. Insight Sophistication: Progresses from โ€œfile existsโ€ to โ€œthese files follow pattern X which suggests Yโ€
  4. Hypothesis Formation: Loop starts making predictions about what it might find

Customization Ideas

Try modifying the loop to:

  • Focus on specific areas (only Python capabilities, only git history)
  • Score different types of discoveries differently
  • Add hypothesis testing (โ€œI predict X existsโ€ฆ let me checkโ€)
  • Reset and watch it relearn with different strategies

What Youโ€™re Learning

About RAVL

  • Loops that start ignorant and become knowledgeable
  • Decision-making based on accumulated learning
  • Model persistence across runs
  • Natural progression from simple to sophisticated

About Learning Systems

  • Exploration vs. exploitation tradeoffs
  • Knowledge representation in models
  • How discovery rate changes over time
  • Emergent strategic behavior

Next Steps

  1. Run it 10 times: Watch the complete learning trajectory
  2. Read exploration_log.md: See the chronicle of discoveries
  3. Study model.yml: Understand how knowledge accumulates
  4. Try communication_learner: See advanced learning strategies

The Power of RAVL

Traditional automation:

# You program exact steps
def explore():
    check_date()
    list_files()
    read_configs()
    # Same every time

RAVL learning loops:

# You define learning behavior
Explore something you don't know yet.
Learn from what you discover.
Decide what to explore next.
# Different each time, based on learning

Welcome to RAVL: Where loops learn, adapt, and become more intelligent over time.


ยฉ 2025. All rights reserved.