# Orca — Development Plan ## Project structure…

Community ralph loop for testing, sourced from github. Verified exit condition, evaluator-gated.

prompt
→ Claude
# Orca — Development Plan ## Project structure Multi-module sbt project: orca/ ├── build.sbt ├── project/ │ ├── build.properties │ └── Dependencies.scala ├── core/ # types, traits, structured I/O, events ├── claude/ # Claude Code subprocess backend ├── codex/ # Codex subprocess backend (WebSocket only if 9.1 probe requires it) ├── cli/ # orca entry point, mainargs, JLine, fansi — depends on all ├── examples/ # .sc scripts for testing and documentation cli dependsOn (core, claude, codex) . Backends each dependsOn core . The original plan assumed Codex would need sttp for a WebSocket app-server; Epic 9.1 re-evaluates whether codex exec --json can drive interactive sessions over stdio the way Claude's stream-json mode does, in which case sttp is not needed. Testing : munit. Subprocess-wrapping code tested via a CliRunner trait (stubbed in unit tests, real in integration tests) and the stream-json driver via FakePipedCliProcess . If the Codex probe forces a WebSocket fallback, that code is tested via sttp's WebSocketStub . Integration tests gated behind ORCA INTEGRATION env var. JSON Schema round-trips tested with networknt/json-sc
claude-code · codex

Source: VirtusLab

More testing loops

Ship the release

/goalnew

Run tests and update changelog until both pass without altering the public API.

prompt
→ Claude
/goal ship the release --success "tests pass and changelog updated" --constraints "do not touch the public API" --mode ordered
testingmedium risk

/ralph-loop "fix all tests" --max-iterations 5 (iterates until…

/ralphnew

Community ralph loop for testing, sourced from github. Verified exit condition, evaluator-gated.

prompt
→ Claude
/ralph-loop "fix all tests" --max-iterations 5 (iterates until passing
testingmedium risk

Trim what loads before first paint

Reduce the data downloaded before the first screen appears, with tests and screenshots guarding behavior and appearance.

prompt
→ Claude
Reduce the data [web app] downloads before its first screen appears. First record passing tests, mobile and desktop screenshots, and compressed transferred bytes—the data actually downloaded. Use the build report only to suggest candidates. Defer, compress, or remove one item, then rebuild and rerun every check. Keep it only if tests pass, screenshots are pixel-identical, and bytes decrease; otherwise revert. Stop when no safe candidate remains, progress stalls, or approval is needed. Return measurements, changes, and untested states.
testingmedium risk