2.1 KiB
Integration: Audita
Purpose
Define the Audita adapter contract used by the polish stage.
External Boundary
Narratio invokes audita process as a subprocess for each polish operation.
The configured timeout and parent cancellation bound the invocation. Internal
runner composition is documented in
the adapter implementation guide.
Request Contract
PolishRequest carries:
- required transcript/glossary/output/work-dir paths;
- optional report path (required when report mode is enabled);
- generated config and stdout/stderr log paths;
- optional module/model/base-url/config/output-schema/concurrency settings.
Result Contract
PolishResult returns:
- processed transcript path;
- optional report path;
- work dir and generated-config/log paths;
- exit code, duration, binary provenance;
- adapter metadata map.
Validation and Failure Semantics
Construction fails for invalid static config values, including:
- empty binary;
- non-positive timeout;
- invalid base URL;
- invalid output schema;
- invalid work-dir retention value;
- invalid concurrency values.
Run fails for:
- missing required request paths;
- missing required credential env var when configured (
llm_api_key_env); - subprocess execution failure;
- invalid processed transcript JSON (
segmentsarray required); - invalid report JSON when reporting is enabled.
Processed transcript JSON is limited to 64 MiB and optional report JSON to 16 MiB. Both must be regular files without symlinked path components.
Failure results still include output/log/config/exit metadata for diagnostics.
Deterministic Behavior
- CLI args are built from runner config + request in a fixed order.
- Generated invocation YAML (
audita.generated.v1) is emitted when requested. - Manifest writes are stage-owned; adapter itself is stateless.
Configuration
Operator-selected values are defined under pipeline.audita.* in the
configuration reference.
Maintained example with Audita config: