recursive-agent 0.6.0

A minimal, orthogonal, self-improving coding agent kernel in Rust
Documentation
name: "Loop mode — schedule_wakeup triggers a second turn"
description: |
  Verify that when the agent calls schedule_wakeup during a loop run, the loop
  actually reschedules and invokes the agent again. This is the multi-turn loop
  scenario: first turn schedules an immediate wakeup; second turn writes the
  output file.

  This complements 10-loop-mode (which tests the single-turn no-wakeup case)
  by exercising the actual wakeup/reschedule path.
sequential: true

setup:
  - name: "Prepare workspace"
    exec:
      container: recursive-e2e
      command: |
        rm -rf /workspace/test-multi-loop
        mkdir -p /workspace/test-multi-loop
        echo prepared

  - name: "Run loop mode (act): multi-turn with schedule_wakeup"
    exec:
      container: recursive-e2e
      command: >
        recursive --workspace /workspace/test-multi-loop
        --api-base http://aimock:4010/v1
        --api-key mock-key -m mock-chat
        --max-steps 8
        loop Write file multi-loop.txt with content wakeup-done

cases:
  - name: "multi-loop.txt produced after wakeup turn"
    file:
      container: recursive-e2e
      path: /workspace/test-multi-loop/multi-loop.txt
      exists: true
      contains: "wakeup-done"

  - name: "Session used schedule_wakeup and write_file"
    recursive-session:
      container: recursive-e2e
      input: /workspace/test-multi-loop/.recursive/sessions
      status: ["completed", "success"]
      hasToolCalls: ["schedule_wakeup", "write_file"]

teardown:
  - name: "Clean workspace"
    ignoreError: true
    exec:
      container: recursive-e2e
      command: rm -rf /workspace/test-multi-loop