1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
//! Ontological Tool Synthesis — §λ-L-E Fase 11.e binary pipeline
//! synthesis.
//!
//! Given a source `BufferKind` and a sink `BufferKind`, OTS finds
//! a transformer path that converts between them — typed, cached,
//! and auditable. The path may be a single pure-Rust transcoder
//! (μ-law ↔ PCM16, linear resample) or a subprocess delegation
//! to `ffmpeg` when no native path exists.
//!
//! Fase 11.e intentionally stays modest: the registry is global +
//! built at startup, not hot-patched at runtime (a transformer
//! appearing mid-flight hurts auditability; see the `@sensitive`
//! + ffmpeg incompatibility the checker enforces). Adopters extend
//! OTS by contributing transformers upstream — same policy as the
//! trust catalogue in 11.a.
//!
//! Composition notes
//! =================
//!
//! - 11.a `Stream<T>` — OTS transformers operate over
//! `ZeroCopyBuffer`s that originate in a stream; backpressure
//! policies propagate transparently because each transformer is
//! a pure `fn buffer → buffer` adapter.
//! - 11.b `ZeroCopyBuffer` + `BufferKind` — OTS is the consumer
//! of the kind taxonomy. Native transcoders work in-place when
//! the target kind has identical byte-width; otherwise they
//! allocate via the pool.
//! - 11.c `LegalBasis` + §ffmpeg subprocess — the checker rejects
//! the combination `sensitive:... + legal:HIPAA.* +
//! ots:backend:ffmpeg` because data crosses a process boundary
//! the auditor cannot observe.
//! - 11.d `CognitiveState` — pipelines can run inside a flow
//! whose state is snapshot-persisted; they are `Send + Sync`
//! so the snapshot boundary is unaffected.
pub use ;
// ── Slug catalogue consumed by the type checker ─────────────────────
//
// §Fase 12.a — the compile-time catalog lives in `axon-frontend` so
// tooling can validate OTS effect slugs without linking the runtime.
// Re-exported here for backward compatibility with existing callers.
pub use ;
// ── Factory: startup-seeded global registry ─────────────────────────
use OnceLock;
static GLOBAL_REGISTRY: = new;
/// Return the process-wide transformer registry. Seeded on first
/// access with every built-in transcoder; custom transformers land
/// via `axon::ots::install_transformer` at process startup.