Stability & Versioning

This page summarizes which parts of the MIND toolchain are production-stable today and which remain experimental.

Stable

  • Core IR (mind-spec Core v1): The SSA-based core IR defined in mind-spec/spec/v1.0 is locked for compatibility guarantees.
  • Autodiff: Reverse-mode differentiation over the core IR with deterministic gradient IR output.
  • Shapes & broadcasting: Shape inference, static shapes, and broadcasting semantics are fixed for 1.0.
  • Deterministic canonicalization: Canonical forms and rewrite ordering are stable to enable reproducible builds.
  • IR runtime contract (mindc 0.2.5+): The mic@1 textual IR is the stable boundary between mindc and downstream backends. Public API: libmind::ir::load(bytes), libmind::ir::save(module), and the AOT helper libmind::compile_to_mic_text(src, opts). See mind/docs/ir-stability.md.
  • Evidence-chain attestation (mindc 0.7.x, RFC 0016 + RFC 0021): An IRModule may carry a Metadata-Attachment-Pair (MAP) epilogue with evidence_chain.{determinism,substrate,toolchain,trace_hash,parent} keys. The trace_hash is the SHA-256 of the canonical mic@3 binary serialisation (RFC 0016 GAP-1, re-anchored 2026-05-31 after audit found mic@1 text drops function-body semantics) — implementations claiming evidence-chain emission MUST anchor on mic@3, not on the v2/v2.1 or mic@1 forms. The MAP carrier ships in [email protected] (RFC 0014) and mic@3 (RFC 0021 step 2 via the 0x4D sentinel epilogue). See mind-spec ir-stability.md §Evidence-chain attestation.
  • Canonical binary IR mic@3 (mindc 0.7.x, RFC 0021 steps 1–3): Binary serialisation of the same IRModule data shape as mic@1 text — round-trip equivalent. Magic bytes MIC3. Emit via mindc --emit-mic3; emit with evidence MAP via mindc --emit-evidence. RFC 0021 steps 4–6 (verify CLI, [email protected]mind-model@2 demotion, oracle + CI gate) remain in progress and may evolve; the shipped surface (steps 1–3) is stable.
  • Pratt expression parser (mindc 0.2.5+): Single-dispatch operator-precedence parser for the expression layer; faster than the pre-Phase-10.5 baseline on representative programs. New operators (Phase 11/12) become O(1) inserts to the binding-power table. CI bench-gate enforces a +7% regression cap against .bench-baseline-2026-05-18-rfc0005.txt (loosened from +5% to absorb GitHub-hosted-runner variance on microbenches).
  • Pure-MIND standard library (mindc 0.4.2+, RFC 0005): std.vec, std.string, std.map, and std.io ship in-tree as .mind source bundled into the compiler (include_str!) and resolved at project-load time. The seven __mind_* intrinsics (alloc, realloc, free, load_i64, store_i64, read, write) are the stable host-interface contract; everything above them is pure MIND. use std.vec resolution uses last-write-wins shadowing so a user crate can override any stdlib entry. MIND_STDLIB_PATH env-var override (Phase D₁, mindc 0.4.3+) provides fork-without-recompile for regulated deployments; arity/type errors on imported pub fns preserve Named struct parameter names (Phase D₂a, mindc 0.4.4+).

Conditionally Stable

  • MLIR lowering (feature-gated): Available behind compiler feature flags; interfaces may change.
  • Core v1 GPU profile (contract): Device kinds / backend targets, backend-selection error model, and the GPUBackend trait surface are defined and stable when GPU features are enabled.

Experimental

  • Concrete GPU backends: CUDA backend available via Enterprise license. Open-source GPU backends (ROCm, Metal, WebGPU, WebNN) are experimental and in development.
  • Pure-MIND crypto / TLS / HTTP primitives: AES-128-GCM, SHA-256, HKDF, X25519, X.509 parse+verify, Keccak/SHA-3 + SHAKE, RSA-PSS, ECDSA-P256, ML-KEM-768 (FIPS 203), the TLS 1.3 key schedule / record layer / Finished / handshake crypto (RFC 8448 replay), HPACK (RFC 7541), and HTTP/2 framing (RFC 9113) are implemented in pure MIND (std/*.mind) and verified against RFC and NIST known-answer tests. This is a verified primitive library, not yet a connectable TLS client/server (no socket-driven handshake state machine, no cert-chain path validation; HPACK is decode-only), and its API surface may change.
  • Package manager: Design specified in mind-spec; implementation is early. Dependency resolution and registry workflows are not yet finalized.
  • Future ops / extensions: New operators and language extensions will ship behind experimental flags.
Tip: Experimental areas may change without notice. The MLIR interchange backend (for specialty targets) requires feature flags; the native-ELF backend is the default self-host path. GPU backends require Enterprise license (CUDA) or are in development (ROCm, Metal, WebGPU, WebNN).

References