claude_runner 1.3.1

CLI for executing Claude Code via builder pattern; YAML schema constants for command registration
Documentation
# Parameter :: `--dry-run`

Edge case tests for the dry-run flag. Tests validate command preview behavior, exit code, and that no execution occurs.

**Source:** [011_dry_run.md](../../../../docs/cli/param/011_dry_run.md)

## Test Case Index

| ID | Test Name | Category |
|----|-----------|----------|
| EC-1 | `--dry-run` prints command without executing | Behavioral Divergence |
| EC-2 | Without `--dry-run` → execution attempted (not preview) | Behavioral Divergence |
| EC-3 | `--dry-run` output goes to stdout | Output Stream |
| EC-4 | `--dry-run` exit code is always 0 (preview succeeds) | Exit Code |
| EC-5 | `--help` lists `--dry-run` | Documentation |
| EC-6 | `--dry-run` with all other flags → full command preview shown | Interaction |

## Test Coverage Summary

- Behavioral Divergence: 2 tests (EC-1, EC-2)
- Output Stream: 1 test (EC-3)
- Exit Code: 1 test (EC-4)
- Documentation: 1 test (EC-5)
- Interaction: 1 test (EC-6)

**Total:** 6 edge cases


## Test Cases
---

### EC-1: `--dry-run` prints command, no execution

- **Given:** clean environment
- **When:** `clr --dry-run "Fix bug"`
- **Then:** Command line printed to stdout; claude NOT actually invoked
- **Exit:** 0
- **Source:** [011_dry_run.md]../../../../docs/cli/param/011_dry_run.md
- **Commands:** run, ask
---

### EC-2: Without `--dry-run` → execution attempted, no preview output

- **Given:** clean environment
- **When:** `clr --trace "Fix bug"` (no `--dry-run`)
- **Then:** Stderr contains assembled command (trace confirms execution was attempted, not previewed); stdout does NOT contain the multi-line env+command dry-run preview; process exits non-zero if claude binary is absent from test environment
- **Exit:** 1 (claude absent in test environment)
- **Source:** [011_dry_run.md]../../../../docs/cli/param/011_dry_run.md
- **Commands:** run, ask
---

### EC-3: `--dry-run` output goes to stdout

- **Given:** clean environment
- **When:** `clr --dry-run "Fix bug"`
- **Then:** Command preview on stdout; stderr is empty
- **Exit:** 0
- **Source:** [011_dry_run.md]../../../../docs/cli/param/011_dry_run.md
- **Commands:** run, ask
---

### EC-4: `--dry-run` exit code is 0

- **Given:** clean environment
- **When:** `clr --dry-run "Fix bug"`
- **Then:** Process exits with code 0
- **Exit:** 0
- **Source:** [011_dry_run.md]../../../../docs/cli/param/011_dry_run.md
- **Commands:** run, ask
---

### EC-5: `--help` lists `--dry-run`

- **Given:** clean environment
- **When:** `clr --help`
- **Then:** Stdout contains `--dry-run`
- **Exit:** 0
- **Source:** [command/04_help.md]../../../../docs/cli/command/04_help.md
- **Commands:** run, ask
---

### EC-6: `--dry-run` with multiple flags → full preview

- **Given:** clean environment
- **When:** `clr --dry-run --no-ultrathink --no-effort-max --verbose "Fix bug"`
- **Then:** All flags visible in command preview; no execution
- **Exit:** 0
- **Source:** [011_dry_run.md]../../../../docs/cli/param/011_dry_run.md
- **Commands:** run, ask