Improve error handling and diagnostics for the audita subprocess

This commit is contained in:
2026-05-04 11:46:57 -05:00
parent 89d7bc75c3
commit 4550987bc0
7 changed files with 124 additions and 18 deletions

View File

@@ -132,7 +132,7 @@ Audita config keys:
- `pipeline.audita.binary` (required)
- `pipeline.audita.timeout` (default: `3h`)
- `pipeline.audita.llm_api_key_env` (optional; default: `AUDITA_LLM_API_KEY`)
- `pipeline.audita.llm_api_key_env` (optional; no automatic default)
- `pipeline.audita.modules` (default sequence: `glossary,homophones,glossary,spoken_word,grammar,homophones,glossary`)
- `pipeline.audita.base_url` (default: `https://openrouter.ai/api/v1`)
- `pipeline.audita.model` (default: `openrouter/google/gemma-4-31b-it`)
@@ -145,7 +145,8 @@ Audita secret-handling policy:
- `llm_api_key_env` stores only the environment variable **name**.
- API key values are read from the process environment at runtime and are not stored in `pipeline.yml`, manifest metadata, generated configs, or logs.
- If the named env var is missing/empty, the Audita adapter omits `AUDITA_LLM_API_KEY` from subprocess env overrides and continues.
- If `llm_api_key_env` is configured and the named env var is missing/empty, the Audita adapter fails before invocation with a redacted error.
- If `llm_api_key_env` is empty/omitted, the Audita adapter omits `AUDITA_LLM_API_KEY` from subprocess env overrides and continues.
Validation currently enforces:
@@ -331,6 +332,7 @@ All adapters currently have fake/no-op implementations for tests/scaffold execut
- Context cancellation + optional timeout.
- Explicit executable/args, working dir, env overrides.
- Parent environment inheritance with override merge semantics (override values win).
- Stdout/stderr log file handling.
- Exit code and timing capture.
- Actionable error wrapping.