Native Piper provider status¶
crates/eg-tts-piper remains an internal, opt-in Piper/ONNX provider library.
The root tts-piper feature links that provider and eg-audio/tts, but it does
not add a public wire method, capability-policy row, dispatch arm, or server
handler.
The former TtsSynthesize { request_msgpack, input_bytes } surface was an
interim carrier that accepted sensitive input bytes and returned inline audio.
It is deleted rather than retained as a compatibility surface: this repository
has no released legacy contract to preserve, and the interim shape did not meet
the current content-addressed serving contract.
Acceptance boundary¶
A public synthesis surface may be introduced only with an accepted current design that:
- resolves sensitive input through an authorized content-addressed reference;
- publishes output through the canonical CAS/rendition and analytics-job path;
- binds tenant, principal, consent, model artifact, and idempotency authority;
- returns a typed receipt/reference rather than inline opaque output bytes;
- provides bounded cancellation, replay, audit, and resource-accounting proofs.
Until that contract exists, provider APIs are available only to internal code that explicitly links the feature; the served protocol fails closed because no TTS method exists.
Provider scope¶
The leaf provider remains intentionally narrow: Piper-specific ONNX/JSON model execution, no model acquisition, no generic Transformers/safetensors claim, and no speaker diarization, biometric identity, or verification. Callers must supply already-resolved model/config artifacts, and the provider independently verifies their declared SHA-256 digests before loading them.