Files
narratio/docs/integrations/audita.md

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 (segments array 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: