Experiments Sandbox System Completion #16

Open
opened 2026-03-14 23:51:44 +00:00 by freemo · 0 comments
Owner

Background and Context

The experiments/sandbox system was introduced in commit f2b749c7 (May 2025). The code is structurally complete (CLI, Runner, Sandbox DSL) with 46 unit test scenarios. However, the ephemeral server spawning is fundamentally broken (polls a cross-process global variable), server attachment has no discovery mechanism, no example scripts are shipped, and the executable lacks the execute permission bit.

Current state: 3 library files + 1 executable with comprehensive unit tests. Server spawning always falls back to minimal Manager.new boot. The --attach mode checks if $manager is non-nil with no actual server discovery.

Expected Behavior (End State)

A working experiments system where:

  • Server discovery uses DRb (Distributed Ruby) over a Unix socket
  • Attach mode connects to a running server's exported $manager
  • Spawn mode forks a child process and waits for the DRb socket
  • Example experiment scripts are shipped demonstrating common patterns
  • A Rake task exists for running experiments

Acceptance Criteria

  • Aethyr server exports $manager via DRb Unix socket at startup
  • Experiments Runner connects to the server via DRb in both modes
  • bin/aethyr_experiments has correct execute permissions (755)
  • Example experiment scripts exist in examples/experiments/
  • A rake experiments task is available
  • All changes covered by unit tests
## Background and Context The experiments/sandbox system was introduced in commit f2b749c7 (May 2025). The code is structurally complete (CLI, Runner, Sandbox DSL) with 46 unit test scenarios. However, the ephemeral server spawning is fundamentally broken (polls a cross-process global variable), server attachment has no discovery mechanism, no example scripts are shipped, and the executable lacks the execute permission bit. **Current state:** 3 library files + 1 executable with comprehensive unit tests. Server spawning always falls back to minimal `Manager.new` boot. The `--attach` mode checks if `$manager` is non-nil with no actual server discovery. ## Expected Behavior (End State) A working experiments system where: - Server discovery uses DRb (Distributed Ruby) over a Unix socket - Attach mode connects to a running server's exported `$manager` - Spawn mode forks a child process and waits for the DRb socket - Example experiment scripts are shipped demonstrating common patterns - A Rake task exists for running experiments ## Acceptance Criteria - [ ] Aethyr server exports `$manager` via DRb Unix socket at startup - [ ] Experiments Runner connects to the server via DRb in both modes - [ ] `bin/aethyr_experiments` has correct execute permissions (755) - [ ] Example experiment scripts exist in `examples/experiments/` - [ ] A `rake experiments` task is available - [ ] All changes covered by unit tests
freemo self-assigned this 2026-03-15 04:25:21 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference: aethyr/Aethyr#16
No description provided.