3.3 KiB
Audita Public Contract
Scope
This document defines stability expectations for Audita's external runtime interfaces.
Covered interfaces:
- CLI commands and major flags;
- versioned config behavior and precedence;
- transcript/glossary input forms;
- output schema selection;
- report schema metadata;
- diagnostics artifact path metadata;
- stdout/stderr and exit-code behavior;
- redaction guarantees.
CLI contract
Stable commands:
audita processaudita config validateaudita config print-effective
Stable high-value process flags:
--config--glossary--output--report-json--modules--output-schema
Config contract
Supported config format:
- YAML;
version: 1;- strict unknown-field rejection.
Path resolution for process and config print-effective:
--configAUDITA_CONFIG/usr/local/etc/audita/config.yml/etc/audita/config.yml
Missing explicit path is an error. Missing default paths is non-fatal.
Precedence for process:
- defaults
- file config
- environment overrides
- CLI overrides
config validate remains file-only validation (defaults + file config; no env overrides).
Module and output-schema keys are validated against built-in catalogs. Unknown keys fail validation.
Input contract
Supported transcript JSON top-level forms:
- array of segments
- object with
segmentsarray
Supported glossary YAML form:
- top-level
glossarylist with required entry fields validated by schema parsing.
Output schema contract
Supported transcript output schemas:
bare-segments(default)audita-v1
Unknown schema keys fail before output write.
Report metadata contract
Process reports include stable report metadata fields:
report_schema_namereport_schema_versionoutput_schemaconfig_version(when file config is loaded)
Current values:
report_schema_name = audita-process-reportreport_schema_version = v1
--report-json output and run-directory report.json use the same report schema metadata.
Validator decision/rejection records use stable validator keys via validator_name.
Diagnostics metadata contract
When run-directory initialization succeeds, diagnostics metadata paths reference stable artifacts, including:
- transcript and normalization artifacts;
- chunking summary;
- invocation metadata;
- redacted effective config;
- utilization diagnostics;
- correction ledger;
error.logon failures.
LLM interaction diagnostics include stable prompt and structured-schema identifiers where applicable.
Stdout/stderr and exit codes
Success:
- with
--output, stdout is empty; - without
--output, stdout contains transcript JSON only; - report JSON is not written to stdout.
Failures:
- nonzero exit;
- human-readable stderr summary;
- diagnostics directory path on stderr when available.
Exit codes:
0success- nonzero failure
Redaction contract
Configured secrets are redacted from:
- effective config outputs;
- diagnostics artifacts;
- report artifacts;
- surfaced adapter/runtime errors.
Compatibility policy
Stable command behavior, schema names, report metadata keys, diagnostics-path field semantics, and validator key identities are treated as public contract.
Additive fields are acceptable when existing fields and behavior remain compatible.