axon-frontend 0.20.0

AXON compiler frontend — lexer, parser, AST, epistemic type system, type checker, IR generator. Zero runtime dependencies. v0.20.0 ships the Retrieve Cardinality vs Output Singularity Gate (Fase 38.x.e): a new compile-time `axon-T9XX retrieve_cardinality_mismatch` fires when a flow's tail is a `retrieve` step (always plural) but the executing axonendpoint declares `output: T` (singular). Adopters get an actionable hint at `axon check` instead of an opaque runtime D5 internal_validation_error. v0.19.3 extended the Request Binding Contract source set (Fase 37.y). v0.19.2 closed IDENTITY recognition at compile time (Fase 38.x.d). v0.19.0 the Declared & Compile-Time-Typed Store Schema (Fase 38). v0.18.0 Request Binding Contract totality (Fase 37). v0.17.0 `in_memory` axonstore (Fase 36.x). v0.12.0 wire-format adapter. v0.11.0 Fase 32 REST. v0.10.0 type-driven wire. v0.9.0 HTTP. v0.2.0–v0.8.0 earlier cycles.
Documentation
//! §Fase 11.e — OTS (Ontological Tool Synthesis) compile-time slug catalogs.
//!
//! These constants are consumed by `type_checker` to validate that
//! `ots:transform:*` and `ots:backend:*` effect slugs carry only
//! qualifiers from the closed catalog. The runtime side of OTS —
//! pipeline execution, transformer registry, native transcoders,
//! ffmpeg subprocess fallback — lives in the `axon` runtime crate
//! at `axon_rs::ots` and re-exports these constants for backward
//! compatibility.
//!
//! Keeping the catalog here (not in the runtime) means any tool that
//! analyses AXON source (LSP, linters, analyzers) can validate OTS
//! usage without linking the full runtime.

/// Effect slug `ots:transform:<from>:<to>` declares a tool as
/// performing a kind conversion. The checker verifies a path exists.
pub const OTS_TRANSFORM_EFFECT_SLUG: &str = "ots:transform";

/// Effect slug `ots:backend:<kind>` declares HOW the conversion
/// happens. Closed qualifier set — new backends require a patch.
pub const OTS_BACKEND_EFFECT_SLUG: &str = "ots:backend";

/// Catalogue of valid `ots:backend:<qualifier>` qualifiers.
pub const OTS_BACKEND_CATALOG: &[&str] = &["native", "ffmpeg"];