Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ edition = "2021"
license = "MIT"
repository = "https://github.com/paiml/aprender"
authors = ["Noah Gift <noah@paiml.com>"]
rust-version = "1.89"
rust-version = "1.91"
keywords = ["machine-learning", "inference", "training", "gpu", "simd"]
categories = ["science", "algorithms"]
homepage = "https://github.com/paiml/aprender"
Expand Down Expand Up @@ -476,7 +476,7 @@ semicolon_if_nothing_returned = "allow" # Style preference
name = "aprender"
version = "0.59.0"
edition = "2021"
rust-version = "1.89"
rust-version = "1.91"
authors = ["Noah Gift <noah@paiml.com>"]
license = "MIT"
description = "Next-generation ML framework in pure Rust — `cargo install aprender` for the `apr` CLI"
Expand Down
2 changes: 1 addition & 1 deletion crates/apr-cli/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
name = "apr-cli"
version.workspace = true
edition = "2021"
rust-version = "1.89"
rust-version = "1.91"
authors = ["Noah Gift <noah@paiml.com>"]
license = "MIT"
description = "CLI tool for APR model inspection, debugging, and operations"
Expand Down
2 changes: 1 addition & 1 deletion crates/apr-format/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
name = "apr-format"
version.workspace = true
edition = "2021"
rust-version = "1.89"
rust-version = "1.91"
description = "Sovereign `.apr` model container format (read + write, v1 APRN + v2 APR\\0) — zero ML/GPU/tokenizer dependencies"
license = "MIT OR Apache-2.0"
repository = "https://github.com/paiml/aprender"
Expand Down
2 changes: 1 addition & 1 deletion crates/aprender-cgp/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
name = "aprender-cgp"
version.workspace = true
edition = "2021"
rust-version = "1.89"
rust-version = "1.91"
authors = ["Pragmatic AI Labs"]
license = "MIT"
description = "Compute-GPU-Profile: Unified performance analysis CLI for scalar, SIMD, wgpu, and CUDA workloads"
Expand Down
2 changes: 1 addition & 1 deletion crates/aprender-compute/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
name = "aprender-compute"
version.workspace = true
edition.workspace = true
rust-version = "1.89"
rust-version = "1.91"
authors.workspace = true
license.workspace = true
description = "High-performance SIMD compute library with GPU support, LLM inference engine, and GGUF model loading (was: trueno)"
Expand Down
2 changes: 1 addition & 1 deletion crates/aprender-core/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
name = "aprender-core"
version.workspace = true
edition = "2021"
rust-version = "1.89"
rust-version = "1.91"
authors = ["Noah Gift <noah@paiml.com>"]
license = "MIT"
description = "Next-generation machine learning library in pure Rust"
Expand Down
2 changes: 1 addition & 1 deletion crates/aprender-gemm-codegen/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
name = "aprender-gemm-codegen"
version.workspace = true
edition = "2021"
rust-version = "1.89"
rust-version = "1.91"
authors = ["Pragmatic AI Labs"]
license = "MIT"
description = "Compile-time GEMM microkernel code generation for trueno (sovereign, no external BLAS)"
Expand Down
2 changes: 1 addition & 1 deletion crates/aprender-serve/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ name = "aprender-serve"
version.workspace = true
edition = "2021"
autobins = false
rust-version = "1.89"
rust-version = "1.91"
authors = ["Pragmatic AI Labs <contact@paiml.com>"]
license = "MIT"
description = "Pure Rust ML inference engine built from scratch - model serving for GGUF and safetensors"
Expand Down
34 changes: 34 additions & 0 deletions scripts/check_msrv.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
#!/usr/bin/env bash
# check_msrv.sh — verify the workspace actually builds on its DECLARED MSRV.
#
# PMAT-MSRV-GATE-001 (Fable rank-14). The declared `rust-version` had silently
# drifted: Cargo.toml claimed 1.89 while `pmcp` and `wasmtime` transitively require
# rustc 1.91, and rust-toolchain.toml pins 1.93 — so NOTHING ever verified the claim.
# This script is the gate: it reads the declared MSRV and compiles the whole
# workspace on exactly that toolchain, failing loudly on any drift.
#
# RED-turning mutation: set rust-version back to "1.89" and re-run — this fails with
# `error: rustc 1.89.0 is not supported by pmcp@2.9.0 (requires 1.91)`.
#
# Usage: bash scripts/check_msrv.sh
set -euo pipefail
cd "$(dirname "$0")/.."

MSRV="$(grep -m1 '^rust-version' Cargo.toml | grep -oE '[0-9]+\.[0-9]+(\.[0-9]+)?')"
[ -n "$MSRV" ] || { echo "check_msrv: could not read rust-version from Cargo.toml" >&2; exit 2; }
echo "Declared MSRV (Cargo.toml rust-version): $MSRV"

if ! rustup toolchain list 2>/dev/null | grep -q "^${MSRV}"; then
echo "Installing rust ${MSRV} toolchain ..."
rustup toolchain install "${MSRV}" --profile minimal --no-self-update
fi

echo "→ cargo +${MSRV} check --workspace"
if cargo "+${MSRV}" check --workspace; then
echo "✓ workspace builds on its declared MSRV ${MSRV}"
else
echo "✗ MSRV DRIFT: workspace does NOT build on declared rust-version ${MSRV}." >&2
echo " Fix: bump rust-version in Cargo.toml to the true minimum, or pin the" >&2
echo " offending dependency to a version that supports ${MSRV}." >&2
exit 1
fi
Loading