1.9 KiB
1.9 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.
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:
examples/pipeline.full.annotated.ymlexamples/pipeline.production.yml