Skip to main content

Module claude_runner

Module claude_runner 

Source
Expand description

Shared module for spawning Claude Code (claude -p) subprocesses.

Eliminates duplication between enrich.rs and ingest_claude.rs (G02). Detects terminal_reason: "max_turns" in the JSON output (G03).

Structs§

ClaudeOutputElement
Parsed output element from claude -p --output-format json.
ClaudeResult
Result of a successful Claude invocation.

Functions§

build_claude_command
Builds a Command for claude -p with least-privilege environment.
parse_claude_output
Parses claude -p --output-format json output array.
run_claude
Calls claude -p with prompt and schema, waits with timeout, and parses output.
spawn_with_memory_limit
Spawns a command with a virtual memory limit via setrlimit(RLIMIT_AS).
terminate_gracefully
Terminates a child process gracefully: SIGTERM first, SIGKILL after grace period.
validate_claude_version
Validates that the Claude binary meets the minimum version requirement.