# Subprocess Integration This guide explains how a parent process can invoke Audita and consume its results. The [CLI reference](../cli.md) owns command syntax, streams, and exit semantics; [configuration](../config.md) owns discovery and precedence. ## Invocation Use an argument array with the transcript path and required glossary argument, following the [process examples](../cli.md#process-examples). For machine workflows, select explicit transcript and report destinations rather than depending on the working directory or run-directory retention. Supplying a configuration path also makes file selection predictable; inherited environment overrides still apply. Resolve the executable deliberately and set the child's working directory so relative input/output paths and reported artifact paths have a known base. Read stdout and stderr concurrently to avoid pipe blocking, and impose timeout or cancellation in the parent process when needed. ## Result Handling Interpret the exit result according to the [CLI output and exit contract](../cli.md#process-output-and-exit-behavior). Consume transcript/report data through the [output-file contract](output-files.md), and treat stderr as human-readable detail. The report supplements the exit result: it may be absent after early failures, and output may have been written before a later reporting or cleanup failure. If processing fails, preserve available evidence and follow [operations recovery](../operations.md#failure-inspection-and-recovery). For reports retained outside the run directory, account for the [artifact lifecycle](../operations.md#retention-behavior) before dereferencing reported paths. Neither the existence of an output file nor a diagnostics path alone establishes successful completion. ## Related Contracts - [Transcript and glossary inputs](transcript-glossary-files.md) - [LLM endpoint compatibility](openai-compatible-llm.md) - [Configuration inspection commands](../cli.md#configuration-commands)