axon-frontend 0.4.0

AXON compiler frontend — lexer, parser, AST, epistemic type system, type checker, IR generator, compile-time checker. Zero runtime dependencies. v0.4.0 closes Fase 17.a/17.d (let runtime wiring): LetStatement.value_kind + IRLetBinding.value_kind preserve parser tokenization intent so the runtime dispatcher can distinguish a quoted literal from a dotted-identifier reference; type_checker adds reserved-primitive-name shadowing + self-reference rejection for let bindings (Rust mirror of Python). v0.3.0 closed Fase 14 (lossless lexing). v0.2.0 added Fase 13 typed channels.
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"];