1.8 KiB
Audita LLM Runtime
Client Boundary
llm.NewRuntime assembles one PromptKit engine for both roles. It loads embedded
prompt and schema assets, registers application backends, and inspects the
selected proposal and validation profiles offline. A role-bound llm.RoleClient
implements structuredoutput.Client; proposal and validator contracts alias that
interface during migration. Both roles share engine-local backend capacity.
For each logical call, the adapter starts an operation context and a diagnostic
record before preparation. It supplies the reserved hardening text, the selected
profile and resolved backend credential, and the complete embedded schema/repair
contract. PrepareExecution produces the exact messages and hashes retained in
an Audita snapshot. The adapter checks the prepared backend and endpoint before
RunPrepared. It records available final content, usage, model, and profile
metadata and decodes only a validated result. Call hooks expose logical
start/finish records and PromptKit execution events for the report collector.
The integration contract describes
wire ownership and failure behavior. structuredoutput.Failure has a safe
message and a typed cause; only exhausted structural repair is a malformed
output failure. Secrets from all configured backends, including unselected
ones, are available to the diagnostics redaction boundary.
Current Orchestration
The old llm.Scheduler and runner instrumentation still exist pending the
orchestration migration. The final runtime uses PromptKit backend admission,
retry, and repair rather than that scheduler. llm.DiagnosticsWriter remains
the current protected artifact writer.
Focused adapter tests use controlled local HTTP responses. Complete runner and CLI integration checks follow the caller and orchestration migration.