diff --git a/CHANGELOG.md b/CHANGELOG.md index cb47663fc4..825c44068c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,109 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.68.0] - 2026-09-16 + +**Qwen 3.5 runs on the CPU.** Qwen3.5 / Qwen3.8 hybrid GGUFs (Gated DeltaNet + attention) load and generate through `apr run` and `apr chat` (#3114, closes #3091), backed by a reproducible llama.cpp `d1d3c3396` raw-logit reference and a three-PR parity evidence series (#3354, #3355, #3356): strict greedy equality is a near-tie under a margin gate, with every divergence llama.cpp's choice at realizar's rank 2 within 0.19 logits; Q8_K activations and f16 KV parity is 0.69 work (#3208). **One-line install.** `curl -LsSf https://raw.githubusercontent.com/paiml/aprender/main/scripts/install.sh | sh` resolves the release asset for the host, verifies its sha256 and puts `apr` on PATH (#3366). The release train itself hardened: the crates.io cascade refuses unless `clean-room.yml` is green on exactly the tag commit (#3335, #3357); the merge queue gained the unwedge rules (#3361, #3403) and the roadmap became fragment-per-entry so PRs stop colliding on one file (#3297, #3352); the `apr chat` exit code is honest on a failed generation (#3396); and a MoE loader refuses an unsupported expert quantization at load instead of at the first token (#3405, 0.69). + +### Added + +- feat(qwen35): Qwen3.5 / Qwen3.8 hybrid GGUFs run on the CPU — apr run + apr chat (#3091) (#3114) +- feat(install): apr install.sh (curl one-liner) + path-scoped CI test suite (#3366) +- feat(registry): R-0a — BackendRegistry probes and enumerates cpu/cuda/wgpu at startup and `apr devices` prints every kind as a line (PMAT-989, #2904) (#3004) +- feat(crux): linfa and burn become CRUX competitors — category N, 17 contracts, registry edit + mutation proof (#3169) +- feat(release): T-5 reconcile guards — check_pr_closes_issue.sh + check_reconcile.sh (APR-RELEASE-001 §6, kaizen) (#3200) +- feat(ont): §11.2's five counters become measurable — and an anchor with no consumer is refused, not counted (#3280) +- feat(ont): ONT-1 — `pv census`, the consumer whose absence made anchoring decoration (#3281) +- feat(release): cascade refuses to publish unless clean-room is green on exactly the tag commit (#3335) +- feat(registry): S3a — apr-cli resolves a backend against the registry, and a forced accelerator never downgrades to cpu (#3342) +- feat(contracts): bind 5 of the 6 qwen35-e2e equations to real implementations — the 6th is named, not hidden (#3348) +- feat(release): the cascade gate reads the structured tested-sha, and still refuses everything else (#3357) + +### Fixed + +- fix(moe): the loader knew the expert qtype and said nothing until the first token — load-time contract (#3341) (#3405) +- fix(install): delete the dead proptest test-profile spec, and document why the rest cannot go today (#2575) +- fix(security): wasmtime 43 -> 47.0.4 -- the real fix for RUSTSEC-2026-0269, and it needed ZERO source changes (#2807) +- fix(beat): the ollama decode floor was calibrated on sm_89 and is now asserted on sm_121 (#2835) (#2838) +- fix(cgp): a binary on PATH is not a device on the bus — Coverage Nightly was red on an environment fact (#2848) +- fix(I-24): parity_block.py — a zero or empty COMPARATOR band is a named refusal, never a ZeroDivisionError traceback; case table both polarities wired into guard-runner-labels (PMAT-972, #2887, #2735) (#3006) +- fix(C0-4): perf_gate.sh — an Arm A that measured nothing on a c=1-only receipt says so (REPORT ArmA scaling: c=1 only, no scaling measured) and the gate never turns an arm's silence into VERDICT PASS; selftest rows both polarities (PMAT-978, #2893, #2830) (#3007) +- fix(I-25): --workload is bound to the prompt corpus — receipt.workload only with corpus_sha256 of a prompts file whose _meta.corpus equals the label; --workload W1 --profile short is refused with one line (PMAT-973, #2888, #2756) (#3008) +- fix(I-26): spec_conformance.sh — a §12 expiry is the Expires marker, never the first date in the cell; rows past expiry are RED (the §4 andon); derived_expiries.json regenerated (row 1 → 2026-09-19) (PMAT-974, #2889) (#3009) +- fix(C0-2): pin sovereign-ci.yml by sha; CB-2100 reachability finding filed (#3029) — PMAT-976 (#3031) +- fix(pv): an empty corpus is refused with exit 2, never reported as PASS (PVL-1, PMAT-1099) (#3093) +- fix(resolve_base): a main push whose HEAD is behind the tip is a push shape too — main red on 6157d1924 (#3201) +- fix(cgp): FALSIFY-CGP-043 reported the runner's hardware, not the code — it needs nsys and clean-room has none (#3210) +- fix(ci): the never-install policy had a detector nothing called — book.yml compiled bashrs 7.4.0 against a 7.0.1 pin, on every book build (#3214) +- fix(pin): the pv pin called a runner fault a pinning defect — the classifier existed and nothing asked it (#3216) +- fix(R-2): the closes-issue guard judged no PR body — and half of what it would have flagged were sibling PRs (#3220) +- fix(ci): the sovereign-ci pin was two commits behind the one that makes gx10 work (#3225) +- fix(test): coverage-nightly is red every night on one ETXTBSY race — a lock that could not close the window it was written for (#3227) +- fix(guard): a pipe into grep -q under pipefail reports the producer's SIGPIPE, not grep's verdict (#3228) +- fix(ci): a bind-mount source the reaper deleted mid-job gets recreated by the daemon, as root (#3232) +- fix(mcp): sync the in-crate contract copy — it carries a kind: line the root one does not (#3238) +- fix(git): a resolution that is always the same is a merge driver nobody wrote (#3256) +- fix(features): the last two struct-drift selections — depth_slice and stream_options (#3265) +- fix(distribute): drop num_cpus for std::thread::available_parallelism — the 7 selections the tokio gate leaves red (#3266) +- fix(P0): the two green-only-together fixes, landed together — each was blocking the other (#3277) +- fix(tools): pin pmat 3.40.1 and CB-200 back to 602 — the fleet converged 2026-09-14; re-measuring under 3.40.1 read 603 (PMAT-3300) (#3301) +- fix(publish): aprender-compute used four dev-deps that cargo publish deletes — clean-room red 8/8 (#3307) +- fix(git): a merge driver declared after a branch was cut never fires on it (#3309) +- fix(guard): a full disk was reported as "the integrity check is theater" (#3319) +- fix(C14): a host holding the model reported UNMEASURED, because the glob had case (#3326) +- fix(guard): check_silicon_coverage reads evidence per axis workflow — a global RUN_CAP and an empty event page scored unread windows as UNCOVERED/NO-GO (#3339) +- fix(test): the H1 SIMD speedup assertion fails a required check in a debug build (#3360) +- fix(chat): a failed generation printed as an assistant turn exited 0 (#3367) (#3396) + +### Changed + +- perf(beat): run the speed lane on perf-solo and make it name its own runner (Refs PERF-031) (#2720) +- measure(perf): PERF-062 band ladder at HEAD — ordered streams remove the corruption (#2789) (#2802) +- audit: post-publish dogfood aprender 0.65.2 — NO-GO: README says CPU-only, plain install compiles the wgpu backend (Refs PMAT-246) (#3010) +- roadmap: dedupe twelve duplicated ids; PMAT-1060 README CPU-only claim vs wgpu default, for 0.65.3 (Refs PMAT-1060) (#3027) +- review(release-process): the v0.1 draft grilled against the measured fleet — 19 of 21 named artifacts do not exist, and the CUDA gate cannot fail (PMAT-1092) (#3056) +- YOGA-NIGHTLY-001 R-3/R-4/R-6: the sm_89 axis, and the assertion that lets it go red (#3060) +- ci(fleet): workspace-test runs on any clean-room box — gx10 measured 3–4× faster than intel; four aarch64-only reds fixed; tree-reader step builds 20 packages, not 686 binaries (PMAT-3138) (#3139) +- docs(roadmap): PMAT-3161 — 14 published crates offer Apache-2.0 with no LICENSE-APACHE in the tree (#3162) +- dogfood(examples): G3.EX learns needs-data — 173 examples that need a model or tokenizer the repo does not ship were reading as defects (#3163) +- docs(release): APR-RELEASE-001 spec + PMAT-1098 receipt for session 1 — the 0.67.0 train (#3164) +- docs(roadmap): five defects the linfa/burn sweep tripped over, four of them in the tooling doing the sweeping (#3175) +- PMAT-1098: the release gate went red a third time — #3068's fleet check carried a DET002 and a SEC010 that no PR check ran (#3198) +- PMAT-1098: the release's bashrs gate runs on every PR — it stopped the 0.67.0 train three times on findings no PR check saw (#3196) (#3199) +- evidence(perf-060): land the stranded intel + mini c=1 calibration — T-5 called the branch dead, it holds the only measurement of what mini can do (#3211) +- docs(ledger): the 0.67.0 T-5 reconcile receipt, measured — and three findings about the predicates themselves (#3212) +- ci(quorum): `present` was pinned to X64 for no reason and starved the pool workspace-test needs (#3221) +- ONT-2a: andon — L4/L5 print self-declared until grounded (#3224) +- ci: bump actions/upload-artifact from 4 to 7 (#3237) +- ci(book): a vanished dep-info file reported as a book that does not build (#3241) +- ci(unwedge): the zombie aggregator that cost 8.5 hours has no containment that outlives a session (#3244) +- docs(spec): APR-RELEASE-001 — feature matrix, examples, debt tax, continuous triage, decision procedure, ontology kaizen (§11), and the chain of reasoning (§12) (#3268) +- APEX-2c: facet and coord are honoured by the renderer — NEW crates/aprender-viz/tests/facet_coord_render.rs (10 tests); EDITS grammar/facet.rs (+panels, +Panel), grammar/coord.rs (+apply, +apply_limits, f32→f64), grammar/ggplot.rs (BuiltGGPlot gains facet; per-panel render path; compute_data_ranges decomposed), grammar/data.rs (get_f32 row-aligned, +get_f32_present), grammar/mod.rs (re-exports), error.rs (+2 variants); BREAKING: Coord is f64 and get_f32 returns Vec>; no new crate, no new dependency, no CI change (#3270) +- triage(branches): 35 branches that never had a PR — commit count is the wrong instrument (#3278) +- batch-1: nine collision-free CI/guard PRs as ONE queue entry (#3250 #3253 #3257 #3267 #3272 #3285 #3288 #3289 #3290) (#3295) +- roadmap fragments (§1): one file per ticket, so the merge path has no shared mutable file (#3297) +- ci(silicon): promote x86_64-cuda-sm89 to required — main is RED because the ada-yoga leg has run (#3299) +- ci(nightly): shift every cron ~5h early so the nightlies actually run at night (#3302) +- docs(run): §7 report — clean-room root-caused, 11 PRs unstranded (#3310) +- ci: 355 contract tests were dark, and the target that ran them was broken (#3312) +- contracts(0.68): 14 obligations had no id, and 4 proofs pointed at nothing (#3316) +- contracts: 3,612 obligations had no id, so nothing could cite them (#3320) +- test(contracts): discharge all 5 gated-delta-net obligations — the ignore reason was stale (#3322) +- evidence(parity): the CPU leg exists as a structure — both sides refuse qwen35, measured (#3323) +- pv: ProofObligation carries an id, and --check-ids proves a consumer reads it (#3327) +- pin(llama.cpp): 39173bcac -> d1d3c3396 — the old pin predates Qwen3.5 support (#3331) +- contracts(qwen35): QHF-BND-005 was vacuous, QE2E-ORD-003 false below one super-block, param equation had no lm_head (#3333) +- docs(audits): PR #3041 split plan — 63 of 96 files already on main (#3334) +- ci: the 4000-char explicit test line becomes fragments, one .cmd file per command, so adding a test target stops conflicting (#3336) +- pv: an obligation that does not apply says so in the schema — typed N/A with a reason and an owner (#3340) +- PR3: a roadmap edit without its fragment is refused — the contention #3297 removed cannot come back (#3352) +- evidence(parity): a reproducible llama.cpp d1d3c3396 CPU raw-logit reference for Qwen3.5-0.8B (#3354) +- evidence(parity): apr's Qwen3.5 CPU forward vs the d1d3c3396 reference — 78 positions, per-token prefill, 5 prompts (#3355) +- evidence(parity): with ggml's arithmetic emulated, apr's Qwen3.5 CPU forward is BIT-IDENTICAL to scalar llama.cpp (#3356) +- ci(unwedge): a run may not hold a concurrency group after its head is superseded, or while capacity sits idle (#3361) +- ci(unwedge): rule 3 — a merge_group run whose queue group is gone is cancelled; arming refuses --auto unless guard-tree is green on the current head (#3292, #3358) (#3403) +- ci(mini): workflow_dispatch probe of the PR job set on mini-m4 — measured neutral list for the rust-neutral label (MINI doctrine, #3205) (#3404) + ## [0.67.0] - 2026-09-12 0.67.0 is the first train of the 06x schedule (docs/specifications/06x-release-schedule.md, epic #3078): a release every 2–3 days whose PR tier is one build graph and whose CI runs on all three self-hosted boxes. Correctness: every Q5_K tensor decoded wrong on the CPU path, in `apr import` and in the CUDA GEMV — all three readers had invented a layout; the oracle is now gguf-py on a real block (#3110, #3113). Qwen3.5/Qwen3.8 hybrid GGUFs are refused honestly on both backends instead of promising a CPU fallback (#3099; the CPU forward itself ships in 0.68 behind the parity gate, #3091). aarch64: NEON LZ4 read unwritten output at offsets 16..63 (#3103) and the ARM-only clippy errors that kept gx10 out of `ci / lint` are gone (#3112). Fleet: arch-neutral jobs run on any clean-room box — intel, yoga, gx10 (#3104); every self-hosted job checks the box's toolset before spending an hour (#3088); guard-cargo/guard-tree fit the 20-minute budget with seven nightly-class steps moved to guards-nightly.yml (#3094); advisory gpu-quick (gx10) and cuda-unit (yoga) PR jobs (#3095); the quick tier is one nextest invocation, 55 min → ~6 min, and the merge queue mirrors the PR (#3089); tree-reader modules cut quick-tier seconds 93 % → 58 %, the 2-h mutant arm sweep is input-gated, and DIRTY roadmap conflicts merge by id (#3115). Release integrity: four apr binaries on every tag ({cuda,cpu} × {x86_64,aarch64}) verified by `check_release_assets.sh` (#3092); every workspace example must build AND run before a tag, plus apr-cookbook and release-notes gates (#3122); a low-priority nightly coverage run on yoga toward the 95 % target (#3123). Dark targets: the quick tier runs every integration target of a touched crate, which surfaced 77 vacuous spec_checklist rows (#3131), 20 stale aprender-serve rows (GH-438 dtype bytes, PMAT-855 byte glyphs, GH-213 load-time truncation, CRUX-C-34 health codes, GGUF v2 support) and one wall-clock benchmark posing as a test — now behind `bench-gates`. Triage: every open issue and PR carries a milestone and a type + priority label (#3102, #3125). Release assets: the CUDA `apr` binaries are built inside rust:1.93.0-bullseye on gx10/yoga for a glibc 2.31 floor — the native v0.66.0 x86_64 asset needed GLIBC_2.43 and did not start on Ubuntu 22.04 — and the CUDA lane moves its assets through the REST API because the self-hosted boxes carry no gh (#3072, #3074, #3086). diff --git a/Cargo.lock b/Cargo.lock index 678aecab7a..3c74e98dc0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -248,7 +248,7 @@ dependencies = [ [[package]] name = "apr-cli" -version = "0.67.0" +version = "0.68.0" dependencies = [ "anyhow", "aprender-cgp", @@ -321,7 +321,7 @@ dependencies = [ [[package]] name = "apr-format" -version = "0.67.0" +version = "0.68.0" dependencies = [ "bincode", "cargo_metadata", @@ -339,7 +339,7 @@ dependencies = [ [[package]] name = "aprender" -version = "0.67.0" +version = "0.68.0" dependencies = [ "apr-cli", "aprender-core", @@ -347,7 +347,7 @@ dependencies = [ [[package]] name = "aprender-bench-compute" -version = "0.67.0" +version = "0.68.0" dependencies = [ "aprender-core", "criterion 0.7.0", @@ -356,7 +356,7 @@ dependencies = [ [[package]] name = "aprender-bench-tokenizer" -version = "0.67.0" +version = "0.68.0" dependencies = [ "aprender-core", "criterion 0.7.0", @@ -365,7 +365,7 @@ dependencies = [ [[package]] name = "aprender-cbtop" -version = "0.67.0" +version = "0.68.0" dependencies = [ "anyhow", "aprender-common", @@ -390,7 +390,7 @@ dependencies = [ [[package]] name = "aprender-cgp" -version = "0.67.0" +version = "0.68.0" dependencies = [ "anyhow", "aprender-gpu", @@ -410,7 +410,7 @@ dependencies = [ [[package]] name = "aprender-common" -version = "0.67.0" +version = "0.68.0" dependencies = [ "lz4_flex 0.11.6", "zstd", @@ -418,7 +418,7 @@ dependencies = [ [[package]] name = "aprender-compute" -version = "0.67.0" +version = "0.68.0" dependencies = [ "anyhow", "aprender-contracts-macros", @@ -467,7 +467,7 @@ dependencies = [ [[package]] name = "aprender-compute-xtask" -version = "0.67.0" +version = "0.68.0" dependencies = [ "anyhow", "bashrs", @@ -481,7 +481,7 @@ dependencies = [ [[package]] name = "aprender-contracts" -version = "0.67.0" +version = "0.68.0" dependencies = [ "aprender-contracts-macros", "criterion 0.5.1", @@ -497,7 +497,7 @@ dependencies = [ [[package]] name = "aprender-contracts-cli" -version = "0.67.0" +version = "0.68.0" dependencies = [ "aprender-contracts", "clap", @@ -510,7 +510,7 @@ dependencies = [ [[package]] name = "aprender-contracts-macros" -version = "0.67.0" +version = "0.68.0" dependencies = [ "proc-macro2", "quote", @@ -520,7 +520,7 @@ dependencies = [ [[package]] name = "aprender-contrastive-data" -version = "0.67.0" +version = "0.68.0" dependencies = [ "aprender-contracts-macros", "aprender-rand", @@ -535,7 +535,7 @@ dependencies = [ [[package]] name = "aprender-core" -version = "0.67.0" +version = "0.68.0" dependencies = [ "aes-gcm", "alsa", @@ -589,7 +589,7 @@ dependencies = [ [[package]] name = "aprender-cuda-edge" -version = "0.67.0" +version = "0.68.0" dependencies = [ "aprender-gpu", "proptest", @@ -600,7 +600,7 @@ dependencies = [ [[package]] name = "aprender-cupti" -version = "0.67.0" +version = "0.68.0" dependencies = [ "bindgen", "bitflags 2.13.0", @@ -610,7 +610,7 @@ dependencies = [ [[package]] name = "aprender-data" -version = "0.67.0" +version = "0.68.0" dependencies = [ "aes-gcm", "aprender-test-lib", @@ -662,7 +662,7 @@ dependencies = [ [[package]] name = "aprender-db" -version = "0.67.0" +version = "0.68.0" dependencies = [ "anyhow", "aprender-common", @@ -707,7 +707,7 @@ dependencies = [ [[package]] name = "aprender-distribute" -version = "0.67.0" +version = "0.68.0" dependencies = [ "aprender-compute", "aprender-db", @@ -737,7 +737,7 @@ dependencies = [ [[package]] name = "aprender-explain" -version = "0.67.0" +version = "0.68.0" dependencies = [ "aprender-gpu", "aprender-present-core", @@ -755,7 +755,7 @@ dependencies = [ [[package]] name = "aprender-fft" -version = "0.67.0" +version = "0.68.0" dependencies = [ "criterion 0.7.0", "proptest", @@ -764,7 +764,7 @@ dependencies = [ [[package]] name = "aprender-gemm-codegen" -version = "0.67.0" +version = "0.68.0" dependencies = [ "proc-macro2", "quote", @@ -773,7 +773,7 @@ dependencies = [ [[package]] name = "aprender-gpu" -version = "0.67.0" +version = "0.68.0" dependencies = [ "aprender-common", "aprender-simulate", @@ -791,7 +791,7 @@ dependencies = [ [[package]] name = "aprender-graph" -version = "0.67.0" +version = "0.68.0" dependencies = [ "anyhow", "aprender-compute", @@ -812,7 +812,7 @@ dependencies = [ [[package]] name = "aprender-image" -version = "0.67.0" +version = "0.68.0" dependencies = [ "criterion 0.7.0", "proptest", @@ -821,7 +821,7 @@ dependencies = [ [[package]] name = "aprender-mcp" -version = "0.67.0" +version = "0.68.0" dependencies = [ "anyhow", "inventory", @@ -835,7 +835,7 @@ dependencies = [ [[package]] name = "aprender-monte-carlo" -version = "0.67.0" +version = "0.68.0" dependencies = [ "aprender", "assert_cmd", @@ -854,7 +854,7 @@ dependencies = [ [[package]] name = "aprender-orchestrate" -version = "0.67.0" +version = "0.68.0" dependencies = [ "anyhow", "aprender-common", @@ -924,7 +924,7 @@ dependencies = [ [[package]] name = "aprender-present-cli" -version = "0.67.0" +version = "0.68.0" dependencies = [ "aprender-present-yaml", "clap", @@ -937,7 +937,7 @@ dependencies = [ [[package]] name = "aprender-present-core" -version = "0.67.0" +version = "0.68.0" dependencies = [ "aprender-contracts-macros", "criterion 0.7.0", @@ -949,7 +949,7 @@ dependencies = [ [[package]] name = "aprender-present-layout" -version = "0.67.0" +version = "0.68.0" dependencies = [ "aprender-present-core", "criterion 0.7.0", @@ -960,7 +960,7 @@ dependencies = [ [[package]] name = "aprender-present-lib" -version = "0.67.0" +version = "0.68.0" dependencies = [ "aprender-contracts", "aprender-present-core", @@ -989,7 +989,7 @@ dependencies = [ [[package]] name = "aprender-present-terminal" -version = "0.67.0" +version = "0.68.0" dependencies = [ "aprender-present-core", "bitvec", @@ -1009,7 +1009,7 @@ dependencies = [ [[package]] name = "aprender-present-test" -version = "0.67.0" +version = "0.68.0" dependencies = [ "aprender-present-core", "aprender-present-test-macros", @@ -1020,7 +1020,7 @@ dependencies = [ [[package]] name = "aprender-present-test-macros" -version = "0.67.0" +version = "0.68.0" dependencies = [ "proc-macro2", "quote", @@ -1029,7 +1029,7 @@ dependencies = [ [[package]] name = "aprender-present-widgets" -version = "0.67.0" +version = "0.68.0" dependencies = [ "aprender-present-core", "aprender-present-yaml", @@ -1041,7 +1041,7 @@ dependencies = [ [[package]] name = "aprender-present-yaml" -version = "0.67.0" +version = "0.68.0" dependencies = [ "aprender-present-core", "proptest", @@ -1051,7 +1051,7 @@ dependencies = [ [[package]] name = "aprender-profile" -version = "0.67.0" +version = "0.68.0" dependencies = [ "addr2line 0.25.1", "anyhow", @@ -1103,7 +1103,7 @@ dependencies = [ [[package]] name = "aprender-profile-core" -version = "0.67.0" +version = "0.68.0" dependencies = [ "hex", "serde", @@ -1113,7 +1113,7 @@ dependencies = [ [[package]] name = "aprender-ptx-debug" -version = "0.67.0" +version = "0.68.0" dependencies = [ "clap", "proptest", @@ -1122,7 +1122,7 @@ dependencies = [ [[package]] name = "aprender-qa-certify" -version = "0.67.0" +version = "0.68.0" dependencies = [ "chrono", "clap", @@ -1133,7 +1133,7 @@ dependencies = [ [[package]] name = "aprender-qa-cli" -version = "0.67.0" +version = "0.68.0" dependencies = [ "aprender-qa-certify", "aprender-qa-gen", @@ -1152,7 +1152,7 @@ dependencies = [ [[package]] name = "aprender-qa-gen" -version = "0.67.0" +version = "0.68.0" dependencies = [ "anyhow", "chrono", @@ -1169,7 +1169,7 @@ dependencies = [ [[package]] name = "aprender-qa-report" -version = "0.67.0" +version = "0.68.0" dependencies = [ "anyhow", "aprender-qa-gen", @@ -1187,7 +1187,7 @@ dependencies = [ [[package]] name = "aprender-qa-runner" -version = "0.67.0" +version = "0.68.0" dependencies = [ "anyhow", "aprender-qa-gen", @@ -1212,14 +1212,14 @@ dependencies = [ [[package]] name = "aprender-quant" -version = "0.67.0" +version = "0.68.0" dependencies = [ "half", ] [[package]] name = "aprender-rag" -version = "0.67.0" +version = "0.68.0" dependencies = [ "aprender-common", "aprender-compute", @@ -1247,7 +1247,7 @@ dependencies = [ [[package]] name = "aprender-rag-cli" -version = "0.67.0" +version = "0.68.0" dependencies = [ "anyhow", "aprender-rag", @@ -1265,7 +1265,7 @@ dependencies = [ [[package]] name = "aprender-rand" -version = "0.67.0" +version = "0.68.0" dependencies = [ "criterion 0.7.0", "proptest", @@ -1274,7 +1274,7 @@ dependencies = [ [[package]] name = "aprender-registry" -version = "0.67.0" +version = "0.68.0" dependencies = [ "anyhow", "aprender-core", @@ -1304,7 +1304,7 @@ dependencies = [ [[package]] name = "aprender-serve" -version = "0.67.0" +version = "0.68.0" dependencies = [ "anyhow", "approx", @@ -1372,7 +1372,7 @@ dependencies = [ [[package]] name = "aprender-shell" -version = "0.67.0" +version = "0.68.0" dependencies = [ "aprender-core", "clap", @@ -1387,7 +1387,7 @@ dependencies = [ [[package]] name = "aprender-simulate" -version = "0.67.0" +version = "0.68.0" dependencies = [ "aprender-contracts", "aprender-contracts-macros", @@ -1427,7 +1427,7 @@ dependencies = [ [[package]] name = "aprender-solve" -version = "0.67.0" +version = "0.68.0" dependencies = [ "criterion 0.7.0", "half", @@ -1437,7 +1437,7 @@ dependencies = [ [[package]] name = "aprender-sparse" -version = "0.67.0" +version = "0.68.0" dependencies = [ "criterion 0.7.0", "proptest", @@ -1446,7 +1446,7 @@ dependencies = [ [[package]] name = "aprender-tensor" -version = "0.67.0" +version = "0.68.0" dependencies = [ "criterion 0.7.0", "proptest", @@ -1455,7 +1455,7 @@ dependencies = [ [[package]] name = "aprender-test-cli" -version = "0.67.0" +version = "0.68.0" dependencies = [ "aprender-test-lib", "assert_cmd", @@ -1483,7 +1483,7 @@ dependencies = [ [[package]] name = "aprender-test-derive" -version = "0.67.0" +version = "0.68.0" dependencies = [ "proc-macro2", "quote", @@ -1493,7 +1493,7 @@ dependencies = [ [[package]] name = "aprender-test-js-gen" -version = "0.67.0" +version = "0.68.0" dependencies = [ "blake3", "chrono", @@ -1509,7 +1509,7 @@ dependencies = [ [[package]] name = "aprender-test-lib" -version = "0.67.0" +version = "0.68.0" dependencies = [ "aprender-compute", "aprender-present-core", @@ -1555,7 +1555,7 @@ dependencies = [ [[package]] name = "aprender-test-showcase" -version = "0.67.0" +version = "0.68.0" dependencies = [ "aprender-present-terminal", "aprender-test-lib", @@ -1572,7 +1572,7 @@ dependencies = [ [[package]] name = "aprender-train" -version = "0.67.0" +version = "0.68.0" dependencies = [ "approx", "aprender-common", @@ -1641,7 +1641,7 @@ dependencies = [ [[package]] name = "aprender-train-bench" -version = "0.67.0" +version = "0.68.0" dependencies = [ "aprender-train", "aprender-train-common", @@ -1658,7 +1658,7 @@ dependencies = [ [[package]] name = "aprender-train-common" -version = "0.67.0" +version = "0.68.0" dependencies = [ "aprender-viz", "clap", @@ -1670,7 +1670,7 @@ dependencies = [ [[package]] name = "aprender-train-distill" -version = "0.67.0" +version = "0.68.0" dependencies = [ "aprender-train", "aprender-train-common", @@ -1691,7 +1691,7 @@ dependencies = [ [[package]] name = "aprender-train-inspect" -version = "0.67.0" +version = "0.68.0" dependencies = [ "aprender-train", "aprender-train-common", @@ -1707,7 +1707,7 @@ dependencies = [ [[package]] name = "aprender-train-lora" -version = "0.67.0" +version = "0.68.0" dependencies = [ "aprender-train", "aprender-train-common", @@ -1723,7 +1723,7 @@ dependencies = [ [[package]] name = "aprender-train-shell" -version = "0.67.0" +version = "0.68.0" dependencies = [ "aprender-train", "aprender-train-common", @@ -1739,7 +1739,7 @@ dependencies = [ [[package]] name = "aprender-train-wasm" -version = "0.67.0" +version = "0.68.0" dependencies = [ "proptest", "serde", @@ -1750,7 +1750,7 @@ dependencies = [ [[package]] name = "aprender-tsp" -version = "0.67.0" +version = "0.68.0" dependencies = [ "aprender", "assert_cmd", @@ -1765,7 +1765,7 @@ dependencies = [ [[package]] name = "aprender-verify" -version = "0.67.0" +version = "0.68.0" dependencies = [ "chrono", "criterion 0.5.1", @@ -1777,7 +1777,7 @@ dependencies = [ [[package]] name = "aprender-verify-ml" -version = "0.67.0" +version = "0.68.0" dependencies = [ "aprender-compute", "aprender-core", @@ -1807,7 +1807,7 @@ dependencies = [ [[package]] name = "aprender-viz" -version = "0.67.0" +version = "0.68.0" dependencies = [ "approx", "aprender-common", @@ -1830,7 +1830,7 @@ dependencies = [ [[package]] name = "aprender-zram" -version = "0.67.0" +version = "0.68.0" dependencies = [ "aprender-zram-adaptive", "aprender-zram-core", @@ -1840,7 +1840,7 @@ dependencies = [ [[package]] name = "aprender-zram-adaptive" -version = "0.67.0" +version = "0.68.0" dependencies = [ "aprender-zram-core", "proptest", @@ -1849,7 +1849,7 @@ dependencies = [ [[package]] name = "aprender-zram-cli" -version = "0.67.0" +version = "0.68.0" dependencies = [ "aprender-zram-adaptive", "aprender-zram-core", @@ -1863,7 +1863,7 @@ dependencies = [ [[package]] name = "aprender-zram-core" -version = "0.67.0" +version = "0.68.0" dependencies = [ "aprender-gpu", "criterion 0.7.0", @@ -1875,7 +1875,7 @@ dependencies = [ [[package]] name = "aprender-zram-generator" -version = "0.67.0" +version = "0.68.0" dependencies = [ "aprender-zram-core", "clap", diff --git a/Cargo.toml b/Cargo.toml index 18ee52158c..e58ecd2a0f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -149,7 +149,7 @@ exclude = [ resolver = "2" [workspace.package] -version = "0.67.0" +version = "0.68.0" edition = "2021" license = "MIT" repository = "https://github.com/paiml/aprender" @@ -227,7 +227,7 @@ tokenizers = { version = "0.23.1", default-features = false, features = ["fancy- # aprender-rand (lib name `trueno_rand`) is a workspace MEMBER but had no # [workspace.dependencies] entry, so every consumer had to re-declare the path. # It is the counter-based Philox RNG behind the SetFit encoder's dropout masks. -aprender-rand = { path = "crates/aprender-rand", version = "0.67.0" } +aprender-rand = { path = "crates/aprender-rand", version = "0.68.0" } # Chat templates minijinja = { version = "2.14", features = ["loader", "serde"] } @@ -237,9 +237,9 @@ minijinja = { version = "2.14", features = ["loader", "serde"] } # `crates/aprender-contracts` (lib name `provable_contracts`). Declaring it from # crates.io compiled a SECOND copy of the contract engine alongside the in-tree # one — exactly the duplicate-crate + publish-cycle the consolidation removed. -provable-contracts = { path = "crates/aprender-contracts", version = "0.67.0", package = "aprender-contracts" } -provable-contracts-macros = { path = "crates/aprender-contracts-macros", version = "0.67.0", package = "aprender-contracts-macros" } -aprender-contracts-macros = { path = "crates/aprender-contracts-macros", version = "0.67.0" } +provable-contracts = { path = "crates/aprender-contracts", version = "0.68.0", package = "aprender-contracts" } +provable-contracts-macros = { path = "crates/aprender-contracts-macros", version = "0.68.0", package = "aprender-contracts-macros" } +aprender-contracts-macros = { path = "crates/aprender-contracts-macros", version = "0.68.0" } # YAML serde_yaml = "0.9" @@ -251,66 +251,66 @@ hf-hub = { version = "0.4", default-features = false, features = ["ureq"] } hf-xet = "1.5.1" # Workspace-internal crates (paths within the monorepo) -aprender-compute = { path = "crates/aprender-compute", version = "0.67.0" } -aprender-gpu = { path = "crates/aprender-gpu", version = "0.67.0" } -aprender-quant = { path = "crates/aprender-quant", version = "0.67.0" } -aprender-serve = { path = "crates/aprender-serve", version = "0.67.0" } -realizar = { path = "crates/aprender-serve", version = "0.67.0", package = "aprender-serve" } -alimentar = { path = "crates/aprender-data", version = "0.67.0", package = "aprender-data" } -pacha = { path = "crates/aprender-registry", version = "0.67.0", package = "aprender-registry" } +aprender-compute = { path = "crates/aprender-compute", version = "0.68.0" } +aprender-gpu = { path = "crates/aprender-gpu", version = "0.68.0" } +aprender-quant = { path = "crates/aprender-quant", version = "0.68.0" } +aprender-serve = { path = "crates/aprender-serve", version = "0.68.0" } +realizar = { path = "crates/aprender-serve", version = "0.68.0", package = "aprender-serve" } +alimentar = { path = "crates/aprender-data", version = "0.68.0", package = "aprender-data" } +pacha = { path = "crates/aprender-registry", version = "0.68.0", package = "aprender-registry" } # APR-MONO self-containment: legacy sibling lib-name aliases -> in-monorepo crates (2026-06-12) -trueno-quant = { path = "crates/aprender-quant", version = "0.67.0", package = "aprender-quant" } -trueno-db = { path = "crates/aprender-db", version = "0.67.0", package = "aprender-db" } -trueno-viz = { path = "crates/aprender-viz", version = "0.67.0", package = "aprender-viz" } -trueno-rag = { path = "crates/aprender-rag", version = "0.67.0", package = "aprender-rag" } -trueno-cuda-edge = { path = "crates/aprender-cuda-edge", version = "0.67.0", package = "aprender-cuda-edge" } -trueno-sparse = { path = "crates/aprender-sparse", version = "0.67.0", package = "aprender-sparse" } -trueno-solve = { path = "crates/aprender-solve", version = "0.67.0", package = "aprender-solve" } -renacer-core = { path = "crates/aprender-profile-core", version = "0.67.0", package = "aprender-profile-core" } -repartir = { path = "crates/aprender-distribute", version = "0.67.0", package = "aprender-distribute" } -simular = { path = "crates/aprender-simulate", version = "0.67.0", package = "aprender-simulate" } -probar = { path = "crates/aprender-test-lib", version = "0.67.0", package = "aprender-test-lib" } +trueno-quant = { path = "crates/aprender-quant", version = "0.68.0", package = "aprender-quant" } +trueno-db = { path = "crates/aprender-db", version = "0.68.0", package = "aprender-db" } +trueno-viz = { path = "crates/aprender-viz", version = "0.68.0", package = "aprender-viz" } +trueno-rag = { path = "crates/aprender-rag", version = "0.68.0", package = "aprender-rag" } +trueno-cuda-edge = { path = "crates/aprender-cuda-edge", version = "0.68.0", package = "aprender-cuda-edge" } +trueno-sparse = { path = "crates/aprender-sparse", version = "0.68.0", package = "aprender-sparse" } +trueno-solve = { path = "crates/aprender-solve", version = "0.68.0", package = "aprender-solve" } +renacer-core = { path = "crates/aprender-profile-core", version = "0.68.0", package = "aprender-profile-core" } +repartir = { path = "crates/aprender-distribute", version = "0.68.0", package = "aprender-distribute" } +simular = { path = "crates/aprender-simulate", version = "0.68.0", package = "aprender-simulate" } +probar = { path = "crates/aprender-test-lib", version = "0.68.0", package = "aprender-test-lib" } # English key for the same crate, named after the command it serves (`apr test`). # The dep KEY, not the package name, is what becomes the extern crate name when # the two differ — the lib target is still `jugar_probar`, so keying it by its # package name would have imported Spanish anyway. Renaming that lib target is # 196 call sites in 17 crates and gets its own PR; this key is how new code # reads English today. -apr-test = { path = "crates/aprender-test-lib", version = "0.67.0", package = "aprender-test-lib", default-features = false, features = ["llm"] } +apr-test = { path = "crates/aprender-test-lib", version = "0.68.0", package = "aprender-test-lib", default-features = false, features = ["llm"] } # `jugar-probar` is the crates.io/lib name of the same in-tree crate as `probar` # above. Both aliases resolve to ONE package; consumers that spelled it # `jugar-probar = "0.4"|"0.5"|"1.0"` were building three extra copies. -jugar-probar = { path = "crates/aprender-test-lib", version = "0.67.0", package = "aprender-test-lib" } +jugar-probar = { path = "crates/aprender-test-lib", version = "0.68.0", package = "aprender-test-lib" } # NOTE: the matching `jugar-probar-derive` alias already exists further down this # same table (it points at crates/aprender-test-derive). crates/aprender-test-lib # was pinning `jugar-probar-derive = "=1.0.3"` from crates.io regardless — the # alias was sitting there unused. -aprender-train = { path = "crates/aprender-train", version = "0.67.0" } -entrenar = { path = "crates/aprender-train", version = "0.67.0", package = "aprender-train" } -aprender-train-common = { path = "crates/aprender-train-common", version = "0.67.0" } -aprender-train-distill = { path = "crates/aprender-train-distill", version = "0.67.0" } -aprender-orchestrate = { path = "crates/aprender-orchestrate", version = "0.67.0" } -aprender-contracts = { path = "crates/aprender-contracts", version = "0.67.0" } -aprender-profile = { path = "crates/aprender-profile", version = "0.67.0" } -aprender-profile-core = { path = "crates/aprender-profile-core", version = "0.67.0" } -aprender-zram-core = { path = "crates/aprender-zram-core", version = "0.67.0" } -aprender-zram-adaptive = { path = "crates/aprender-zram-adaptive", version = "0.67.0" } -aprender-zram-cli = { path = "crates/aprender-zram-cli", version = "0.67.0" } -aprender-present-core = { path = "crates/aprender-present-core", version = "0.67.0" } -aprender-present-terminal = { path = "crates/aprender-present-terminal", version = "0.67.0" } -aprender-present-widgets = { path = "crates/aprender-present-widgets", version = "0.67.0" } -aprender-present-layout = { path = "crates/aprender-present-layout", version = "0.67.0" } -aprender-present-yaml = { path = "crates/aprender-present-yaml", version = "0.67.0" } -aprender-present-test = { path = "crates/aprender-present-test", version = "0.67.0" } -aprender-db = { path = "crates/aprender-db", version = "0.67.0" } -aprender-graph = { path = "crates/aprender-graph", version = "0.67.0" } -aprender-rag = { path = "crates/aprender-rag", version = "0.67.0" } -aprender-rag-cli = { path = "crates/aprender-rag-cli", version = "0.67.0" } -aprender-qa-cli = { path = "crates/aprender-qa-cli", version = "0.67.0" } -aprender-cgp = { path = "crates/aprender-cgp", version = "0.67.0" } -aprender-contrastive-data = { path = "crates/aprender-contrastive-data", version = "0.67.0" } -aprender-contracts-cli = { path = "crates/aprender-contracts-cli", version = "0.67.0" } -aprender-data = { path = "crates/aprender-data", version = "0.67.0" } +aprender-train = { path = "crates/aprender-train", version = "0.68.0" } +entrenar = { path = "crates/aprender-train", version = "0.68.0", package = "aprender-train" } +aprender-train-common = { path = "crates/aprender-train-common", version = "0.68.0" } +aprender-train-distill = { path = "crates/aprender-train-distill", version = "0.68.0" } +aprender-orchestrate = { path = "crates/aprender-orchestrate", version = "0.68.0" } +aprender-contracts = { path = "crates/aprender-contracts", version = "0.68.0" } +aprender-profile = { path = "crates/aprender-profile", version = "0.68.0" } +aprender-profile-core = { path = "crates/aprender-profile-core", version = "0.68.0" } +aprender-zram-core = { path = "crates/aprender-zram-core", version = "0.68.0" } +aprender-zram-adaptive = { path = "crates/aprender-zram-adaptive", version = "0.68.0" } +aprender-zram-cli = { path = "crates/aprender-zram-cli", version = "0.68.0" } +aprender-present-core = { path = "crates/aprender-present-core", version = "0.68.0" } +aprender-present-terminal = { path = "crates/aprender-present-terminal", version = "0.68.0" } +aprender-present-widgets = { path = "crates/aprender-present-widgets", version = "0.68.0" } +aprender-present-layout = { path = "crates/aprender-present-layout", version = "0.68.0" } +aprender-present-yaml = { path = "crates/aprender-present-yaml", version = "0.68.0" } +aprender-present-test = { path = "crates/aprender-present-test", version = "0.68.0" } +aprender-db = { path = "crates/aprender-db", version = "0.68.0" } +aprender-graph = { path = "crates/aprender-graph", version = "0.68.0" } +aprender-rag = { path = "crates/aprender-rag", version = "0.68.0" } +aprender-rag-cli = { path = "crates/aprender-rag-cli", version = "0.68.0" } +aprender-qa-cli = { path = "crates/aprender-qa-cli", version = "0.68.0" } +aprender-cgp = { path = "crates/aprender-cgp", version = "0.68.0" } +aprender-contrastive-data = { path = "crates/aprender-contrastive-data", version = "0.68.0" } +aprender-contracts-cli = { path = "crates/aprender-contracts-cli", version = "0.68.0" } +aprender-data = { path = "crates/aprender-data", version = "0.68.0" } # Additional external deps needed by sub-crates serde_yaml_ng = "0.10" @@ -368,25 +368,25 @@ wasmtime = "47.0.4" bollard = "0.17" # Old crate name aliases (workspace = true refs in migrated sub-crates) -trueno-zram-core = { path = "crates/aprender-zram-core", version = "0.67.0", package = "aprender-zram-core" } -trueno-zram-adaptive = { path = "crates/aprender-zram-adaptive", version = "0.67.0", package = "aprender-zram-adaptive" } -trueno = { path = "crates/aprender-compute", version = "0.67.0", package = "aprender-compute" } -presentar-core = { path = "crates/aprender-present-core", version = "0.67.0", package = "aprender-present-core" } -presentar-terminal = { path = "crates/aprender-present-terminal", version = "0.67.0", package = "aprender-present-terminal" } -presentar-widgets = { path = "crates/aprender-present-widgets", version = "0.67.0", package = "aprender-present-widgets" } -presentar-layout = { path = "crates/aprender-present-layout", version = "0.67.0", package = "aprender-present-layout" } -presentar-yaml = { path = "crates/aprender-present-yaml", version = "0.67.0", package = "aprender-present-yaml" } -presentar-test = { path = "crates/aprender-present-test", version = "0.67.0", package = "aprender-present-test" } -presentar-test-macros = { path = "crates/aprender-present-test-macros", version = "0.67.0", package = "aprender-present-test-macros" } -jugar-probar-derive = { path = "crates/aprender-test-derive", version = "0.67.0", package = "aprender-test-derive" } -batuta-common = { path = "crates/aprender-common", version = "0.67.0", package = "aprender-common" } +trueno-zram-core = { path = "crates/aprender-zram-core", version = "0.68.0", package = "aprender-zram-core" } +trueno-zram-adaptive = { path = "crates/aprender-zram-adaptive", version = "0.68.0", package = "aprender-zram-adaptive" } +trueno = { path = "crates/aprender-compute", version = "0.68.0", package = "aprender-compute" } +presentar-core = { path = "crates/aprender-present-core", version = "0.68.0", package = "aprender-present-core" } +presentar-terminal = { path = "crates/aprender-present-terminal", version = "0.68.0", package = "aprender-present-terminal" } +presentar-widgets = { path = "crates/aprender-present-widgets", version = "0.68.0", package = "aprender-present-widgets" } +presentar-layout = { path = "crates/aprender-present-layout", version = "0.68.0", package = "aprender-present-layout" } +presentar-yaml = { path = "crates/aprender-present-yaml", version = "0.68.0", package = "aprender-present-yaml" } +presentar-test = { path = "crates/aprender-present-test", version = "0.68.0", package = "aprender-present-test" } +presentar-test-macros = { path = "crates/aprender-present-test-macros", version = "0.68.0", package = "aprender-present-test-macros" } +jugar-probar-derive = { path = "crates/aprender-test-derive", version = "0.68.0", package = "aprender-test-derive" } +batuta-common = { path = "crates/aprender-common", version = "0.68.0", package = "aprender-common" } # APR-MONO sibling aliases — MUST use workspace refs, NEVER crates.io versions. # Hard-pinning these to crates.io creates a diamond: sub-crates pull older # aprender versions → multiple `aprender` crates in Cargo.lock = MUDA. -renacer = { path = "crates/aprender-profile", version = "0.67.0", package = "aprender-profile" } -entrenar-lora = { path = "crates/aprender-train-lora", version = "0.67.0", package = "aprender-train-lora" } -batuta = { path = "crates/aprender-orchestrate", version = "0.67.0", package = "aprender-orchestrate" } -trueno-graph = { path = "crates/aprender-graph", version = "0.67.0", package = "aprender-graph" } +renacer = { path = "crates/aprender-profile", version = "0.68.0", package = "aprender-profile" } +entrenar-lora = { path = "crates/aprender-train-lora", version = "0.68.0", package = "aprender-train-lora" } +batuta = { path = "crates/aprender-orchestrate", version = "0.68.0", package = "aprender-orchestrate" } +trueno-graph = { path = "crates/aprender-graph", version = "0.68.0", package = "aprender-graph" } [workspace.lints.rust] # Safety @@ -568,7 +568,7 @@ semicolon_if_nothing_returned = "allow" # Style preference [package] name = "aprender" -version = "0.67.0" +version = "0.68.0" edition = "2021" rust-version = "1.91" authors = ["Noah Gift "] @@ -676,9 +676,9 @@ required-features = ["cli"] # (e.g. apr-cookbook, downstream apps) don't pull apr-cli's heavy transitive # dep graph (renacer/profile/inference/zram/visualization). `cargo install # aprender` still works because `cli` is in default features. See GH-1599. -apr-cli = { path = "crates/apr-cli", version = "0.67.0", default-features = true, optional = true } +apr-cli = { path = "crates/apr-cli", version = "0.68.0", default-features = true, optional = true } # Core ML library (lib name = "aprender") -aprender_ml = { path = "crates/aprender-core", version = "0.67.0", package = "aprender-core" } +aprender_ml = { path = "crates/aprender-core", version = "0.68.0", package = "aprender-core" } [features] default = ["cli"] diff --git a/crates/apr-cli/Cargo.toml b/crates/apr-cli/Cargo.toml index a4c4b2a9a1..d5e45cf64f 100644 --- a/crates/apr-cli/Cargo.toml +++ b/crates/apr-cli/Cargo.toml @@ -117,12 +117,12 @@ libc = "0.2" # performed. A surface and its capability must not be able to drift. apr-test = { workspace = true } # Core aprender library -aprender = { path = "../aprender-core", version = "0.67.0", package = "aprender-core", default-features = true, features = ["format-compression"] } +aprender = { path = "../aprender-core", version = "0.68.0", package = "aprender-core", default-features = true, features = ["format-compression"] } # Provable-contracts engine — `apr beat-run` parses + evaluates BeatBenchmark contracts (PMAT-741) aprender-contracts = { workspace = true } # MCP (Model Context Protocol) server — `apr mcp` subcommand -aprender-mcp = { path = "../aprender-mcp", version = "0.67.0" } +aprender-mcp = { path = "../aprender-mcp", version = "0.68.0" } async-stream = "0.3" provable-contracts-macros = { workspace = true } @@ -133,7 +133,7 @@ batuta-common = { workspace = true } # Non-optional since claude-code-parity-apr M150 (outcome-parity Phase 3 # requires apr code in default builds). GH-344: path dep via # .cargo/config.toml.dev-overrides; CI uses checkout+symlink. -batuta = { version = "0.67.0", path = "../aprender-orchestrate", package = "aprender-orchestrate", default-features = false, features = ["agents", "agents-inference", "agents-mcp", "rag"] } +batuta = { version = "0.68.0", path = "../aprender-orchestrate", package = "aprender-orchestrate", default-features = false, features = ["agents", "agents-inference", "agents-mcp", "rag"] } # Inference engine (workspace path dep — enables cuda/gpu feature forwarding) # GH-573: shim (0.9.1) didn't forward cuda feature → 0.7 tok/s instead of 273 tok/s @@ -224,7 +224,7 @@ pacha = { workspace = true } # published-crate dependency cycle the APR-MONO consolidation removed, and # (b) was never actually linked, so every `trueno_explain::` path in # commands/ptx_explain.rs failed to resolve. -trueno-explain = { path = "../aprender-explain", version = "0.67.0", package = "aprender-explain", optional = true } +trueno-explain = { path = "../aprender-explain", version = "0.68.0", package = "aprender-explain", optional = true } # ML tuning: LoRA/QLoRA configuration and memory planning (GH-176, PMAT-184) entrenar-lora = { workspace = true, optional = true } diff --git a/crates/aprender-bench-compute/Cargo.toml b/crates/aprender-bench-compute/Cargo.toml index 7ec5a714ff..cc5bee5ec6 100644 --- a/crates/aprender-bench-compute/Cargo.toml +++ b/crates/aprender-bench-compute/Cargo.toml @@ -11,7 +11,7 @@ disallowed_methods = "allow" [dependencies] # The implementation under test -aprender = { path = "../aprender-core", version = "0.67.0", package = "aprender-core", features = ["format-quantize"] } +aprender = { path = "../aprender-core", version = "0.68.0", package = "aprender-core", features = ["format-quantize"] } # Reference implementation for A/B comparison # Pure Rust (no BLAS) to keep comparison fair — both are pure Rust SIMD diff --git a/crates/aprender-bench-tokenizer/Cargo.toml b/crates/aprender-bench-tokenizer/Cargo.toml index 08251db7d3..2ba8da6f45 100644 --- a/crates/aprender-bench-tokenizer/Cargo.toml +++ b/crates/aprender-bench-tokenizer/Cargo.toml @@ -11,7 +11,7 @@ disallowed_methods = "allow" [dependencies] # The implementation under test -aprender = { path = "../aprender-core", version = "0.67.0", package = "aprender-core" } +aprender = { path = "../aprender-core", version = "0.68.0", package = "aprender-core" } # HuggingFace reference for A/B comparison # Regular dep (not dev-dep) because [[bench]] harness=false binaries can't see dev-deps diff --git a/crates/aprender-cbtop/Cargo.toml b/crates/aprender-cbtop/Cargo.toml index 2d71f84b5d..58a1406f32 100644 --- a/crates/aprender-cbtop/Cargo.toml +++ b/crates/aprender-cbtop/Cargo.toml @@ -24,7 +24,7 @@ presentar-terminal = { workspace = true } # Compute backends trueno = { workspace = true } -trueno-gpu = { version = "0.67.0", path = "../aprender-gpu", package = "aprender-gpu", optional = true } +trueno-gpu = { version = "0.68.0", path = "../aprender-gpu", package = "aprender-gpu", optional = true } # Terminal handling crossterm = "0.28" diff --git a/crates/aprender-cgp/Cargo.toml b/crates/aprender-cgp/Cargo.toml index 7dfd399f40..774be5cd69 100644 --- a/crates/aprender-cgp/Cargo.toml +++ b/crates/aprender-cgp/Cargo.toml @@ -36,7 +36,7 @@ num_cpus = "1.17" comfy-table = "7" colored = "3" # GPU profiling: direct cuBLAS measurement (OWN THE STACK) -trueno-gpu = { path = "../aprender-gpu", version = "0.67.0", features = ["cuda"], optional = true, package = "aprender-gpu" } +trueno-gpu = { path = "../aprender-gpu", version = "0.68.0", features = ["cuda"], optional = true, package = "aprender-gpu" } [features] default = [] diff --git a/crates/aprender-compute/Cargo.toml b/crates/aprender-compute/Cargo.toml index 22c123834c..efb6024261 100644 --- a/crates/aprender-compute/Cargo.toml +++ b/crates/aprender-compute/Cargo.toml @@ -41,11 +41,11 @@ futures-intrusive = { version = "0.5", optional = true } wasm-bindgen-futures = { version = "0.4", optional = true } wasm-bindgen = { version = "0.2", optional = true } # Native CUDA monitoring via trueno-gpu (TRUENO-SPEC-010) -trueno-gpu = { version = "0.67.0", path = "../aprender-gpu", optional = true, package = "aprender-gpu" } +trueno-gpu = { version = "0.68.0", path = "../aprender-gpu", optional = true, package = "aprender-gpu" } # PMAT-336: Provable contracts compile-time enforcement provable-contracts-macros = { workspace = true } # P1a: Sovereign GEMM microkernel codegen (compile-time shape specialization) -trueno-gemm-codegen = { version = "0.67.0", path = "../aprender-gemm-codegen", package = "aprender-gemm-codegen" } +trueno-gemm-codegen = { version = "0.68.0", path = "../aprender-gemm-codegen", package = "aprender-gemm-codegen" } # Tracing/profiling support (renacer integration) tracing = { version = "0.1", optional = true } tracing-subscriber = { version = "0.3", features = ["env-filter", "fmt"], optional = true } diff --git a/crates/aprender-contracts-cli/Cargo.toml b/crates/aprender-contracts-cli/Cargo.toml index 7f29bd953b..c172eeb8c9 100644 --- a/crates/aprender-contracts-cli/Cargo.toml +++ b/crates/aprender-contracts-cli/Cargo.toml @@ -13,7 +13,7 @@ name = "pv" path = "src/main.rs" [dependencies] -aprender-contracts = { path = "../aprender-contracts", version = "0.67.0" } +aprender-contracts = { path = "../aprender-contracts", version = "0.68.0" } clap = { workspace = true } serde = { workspace = true } serde_json = { workspace = true } diff --git a/crates/aprender-contracts/Cargo.toml b/crates/aprender-contracts/Cargo.toml index 95e7f9c9ac..f8bb79f5d0 100644 --- a/crates/aprender-contracts/Cargo.toml +++ b/crates/aprender-contracts/Cargo.toml @@ -19,7 +19,7 @@ kani = [] name = "provable_contracts" [dependencies] -provable-contracts-macros = { path = "../aprender-contracts-macros", version = "0.67.0", package = "aprender-contracts-macros" } +provable-contracts-macros = { path = "../aprender-contracts-macros", version = "0.68.0", package = "aprender-contracts-macros" } regex = "1" serde = { workspace = true } serde_json = { workspace = true } diff --git a/crates/aprender-core/Cargo.toml b/crates/aprender-core/Cargo.toml index 2c016a41f5..ff9b7eff20 100644 --- a/crates/aprender-core/Cargo.toml +++ b/crates/aprender-core/Cargo.toml @@ -117,7 +117,7 @@ trueno-quant = { workspace = true } # APR-2231: sovereign `.apr` container leaf. aprender-core From-wraps its # AprFormatError into AprenderError and re-exports it (no API break). Leaf has # no dependency back on core, so this introduces no publish cycle. -apr-format = { path = "../apr-format", version = "0.67" } +apr-format = { path = "../apr-format", version = "0.68" } # NOTE: trueno-rag (=aprender-rag) removed (APR-MONO self-containment): aprender-rag # depends on aprender-core + aprender-serve, so core→rag closed a core→rag→serve→core diff --git a/crates/aprender-cuda-edge/Cargo.toml b/crates/aprender-cuda-edge/Cargo.toml index de33ec01de..bc8d9bc0fa 100644 --- a/crates/aprender-cuda-edge/Cargo.toml +++ b/crates/aprender-cuda-edge/Cargo.toml @@ -15,7 +15,7 @@ name = "trueno_cuda_edge" [dependencies] thiserror = "2.0" serde = { version = "1.0", features = ["derive"] } -trueno-gpu = { version = "0.67.0", path = "../aprender-gpu", package = "aprender-gpu", optional = true } +trueno-gpu = { version = "0.68.0", path = "../aprender-gpu", package = "aprender-gpu", optional = true } [dev-dependencies] proptest = "1.6" diff --git a/crates/aprender-explain/Cargo.toml b/crates/aprender-explain/Cargo.toml index 9d0fb1d478..64e10ea79a 100644 --- a/crates/aprender-explain/Cargo.toml +++ b/crates/aprender-explain/Cargo.toml @@ -25,7 +25,7 @@ presentar-terminal = { workspace = true } crossterm = "0.28" # Internal dependency for PTX generation -trueno-gpu = { version = "0.67.0", path = "../aprender-gpu", package = "aprender-gpu", features = ["cuda"] } +trueno-gpu = { version = "0.68.0", path = "../aprender-gpu", package = "aprender-gpu", features = ["cuda"] } [dev-dependencies] proptest = "1.4" diff --git a/crates/aprender-graph/Cargo.toml b/crates/aprender-graph/Cargo.toml index f564da2854..12d05aaf15 100644 --- a/crates/aprender-graph/Cargo.toml +++ b/crates/aprender-graph/Cargo.toml @@ -28,7 +28,7 @@ anyhow = "1" thiserror = "2" # Phase 2+ dependencies -aprender = { path = "../aprender-core", version = "0.67.0", package = "aprender-core" } # Sparse matrix ops, PageRank +aprender = { path = "../aprender-core", version = "0.68.0", package = "aprender-core" } # Sparse matrix ops, PageRank trueno = { workspace = true } # Phase 3: GPU acceleration (optional - requires wgpu-capable hardware) diff --git a/crates/aprender-monte-carlo/Cargo.toml b/crates/aprender-monte-carlo/Cargo.toml index 0bedc8f0f7..91f3e2cf06 100644 --- a/crates/aprender-monte-carlo/Cargo.toml +++ b/crates/aprender-monte-carlo/Cargo.toml @@ -18,7 +18,7 @@ path = "src/lib.rs" name = "aprender-monte-carlo" [dependencies] -aprender = { path = "../../", version = "0.67.0" } +aprender = { path = "../../", version = "0.68.0" } clap = { version = "4", features = ["derive"] } rand = "0.9" rand_chacha = "0.9" diff --git a/crates/aprender-orchestrate/Cargo.toml b/crates/aprender-orchestrate/Cargo.toml index 9d07c79fd6..159305d49c 100644 --- a/crates/aprender-orchestrate/Cargo.toml +++ b/crates/aprender-orchestrate/Cargo.toml @@ -126,7 +126,7 @@ pacha = { workspace = true, optional = true } realizar = { workspace = true, optional = true } # ML algorithms and training (native-only) -aprender = { path = "../aprender-core", version = "0.67.0", package = "aprender-core", optional = true } +aprender = { path = "../aprender-core", version = "0.68.0", package = "aprender-core", optional = true } entrenar = { workspace = true, optional = true } alimentar = { workspace = true, optional = true } diff --git a/crates/aprender-profile/Cargo.toml b/crates/aprender-profile/Cargo.toml index 64e935d493..1db998cb48 100644 --- a/crates/aprender-profile/Cargo.toml +++ b/crates/aprender-profile/Cargo.toml @@ -74,7 +74,7 @@ trueno = { workspace = true } # Machine learning for anomaly detection (Sprint 23) # GH-581: Use path dep to avoid trueno version skew with local workspace -aprender = { path = "../aprender-core", version = "0.67.0", package = "aprender-core" } +aprender = { path = "../aprender-core", version = "0.68.0", package = "aprender-core" } # Lock-free data structures for ring buffer (Sprint 40) crossbeam = { version = "0.8", default-features = false, features = ["crossbeam-channel", "crossbeam-queue", "std"] } @@ -112,7 +112,7 @@ crossterm = "0.28" # SIMD-accelerated visualization primitives (sister project) # NOTE: `monitor` feature removed upstream (#1979); this crate uses only viz primitives. -trueno-viz = { version = "0.67.0", path = "../aprender-viz", package = "aprender-viz", default-features = false } +trueno-viz = { version = "0.68.0", path = "../aprender-viz", package = "aprender-viz", default-features = false } # OpenTelemetry for distributed tracing (Sprint 30) opentelemetry = { version = "0.31.0", optional = true } diff --git a/crates/aprender-qa-cli/Cargo.toml b/crates/aprender-qa-cli/Cargo.toml index 3d4d715c56..2862d97ef5 100644 --- a/crates/aprender-qa-cli/Cargo.toml +++ b/crates/aprender-qa-cli/Cargo.toml @@ -23,10 +23,10 @@ serde_json = { workspace = true } serde_yaml = { workspace = true } clap = { workspace = true } chrono = { workspace = true } -aprender-qa-gen = { version = "0.67.0", path = "../aprender-qa-gen" } -aprender-qa-runner = { version = "0.67.0", path = "../aprender-qa-runner" } -aprender-qa-report = { version = "0.67.0", path = "../aprender-qa-report" } -aprender-qa-certify = { version = "0.67.0", path = "../aprender-qa-certify" } +aprender-qa-gen = { version = "0.68.0", path = "../aprender-qa-gen" } +aprender-qa-runner = { version = "0.68.0", path = "../aprender-qa-runner" } +aprender-qa-report = { version = "0.68.0", path = "../aprender-qa-report" } +aprender-qa-certify = { version = "0.68.0", path = "../aprender-qa-certify" } ctrlc = "3.4" safetensors = { workspace = true } colored = "2.2" diff --git a/crates/aprender-qa-report/Cargo.toml b/crates/aprender-qa-report/Cargo.toml index 6e8c52484d..d7fb872efc 100644 --- a/crates/aprender-qa-report/Cargo.toml +++ b/crates/aprender-qa-report/Cargo.toml @@ -18,8 +18,8 @@ anyhow = { workspace = true } chrono = { workspace = true } colored = "2.2" csv = "1.3" -aprender-qa-gen = { version = "0.67.0", path = "../aprender-qa-gen" } -aprender-qa-runner = { version = "0.67.0", path = "../aprender-qa-runner" } +aprender-qa-gen = { version = "0.68.0", path = "../aprender-qa-gen" } +aprender-qa-runner = { version = "0.68.0", path = "../aprender-qa-runner" } [dev-dependencies] proptest = { workspace = true } diff --git a/crates/aprender-qa-runner/Cargo.toml b/crates/aprender-qa-runner/Cargo.toml index 078d221941..5ed6b08fcc 100644 --- a/crates/aprender-qa-runner/Cargo.toml +++ b/crates/aprender-qa-runner/Cargo.toml @@ -22,14 +22,14 @@ anyhow = { workspace = true } tokio = { workspace = true } chrono = { workspace = true, features = ["serde"] } tracing = { workspace = true } -aprender-qa-gen = { version = "0.67.0", path = "../aprender-qa-gen" } +aprender-qa-gen = { version = "0.68.0", path = "../aprender-qa-gen" } hostname = "0.4" rayon = "1.10" sha2 = "0.10" regex = { workspace = true } num_cpus = "1.16" safetensors = { workspace = true } -jugar-probar = { version = "0.67.0", path = "../aprender-test-lib", package = "aprender-test-lib", features = ["llm-types"] } +jugar-probar = { version = "0.68.0", path = "../aprender-test-lib", package = "aprender-test-lib", features = ["llm-types"] } # Test fixtures dependencies (optional) tempfile = { version = "3", optional = true } half = { version = "2.4", optional = true } diff --git a/crates/aprender-rag-cli/Cargo.toml b/crates/aprender-rag-cli/Cargo.toml index e6b7457ae8..d4806ea978 100644 --- a/crates/aprender-rag-cli/Cargo.toml +++ b/crates/aprender-rag-cli/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "aprender-rag-cli" -version = "0.67.0" +version = "0.68.0" edition = "2021" authors = ["Pragmatic AI Labs"] description = "CLI for Trueno-RAG pipeline" diff --git a/crates/aprender-rag/Cargo.toml b/crates/aprender-rag/Cargo.toml index 54c8d93cf8..96c69a45b8 100644 --- a/crates/aprender-rag/Cargo.toml +++ b/crates/aprender-rag/Cargo.toml @@ -63,7 +63,7 @@ fastembed = { version = "5", optional = true } # NVIDIA Embed Nemotron 8B via realizar GGUF infrastructure (GH-3) # Large model (~4-32GB depending on quantization), requires GGUF file -realizar = { version = "0.67.0", path = "../aprender-serve", package = "aprender-serve", default-features = false, optional = true } +realizar = { version = "0.68.0", path = "../aprender-serve", package = "aprender-serve", default-features = false, optional = true } # Eval: LLM-as-judge via Anthropic API (PMAT-015) diff --git a/crates/aprender-registry/Cargo.toml b/crates/aprender-registry/Cargo.toml index 77bf7ee6ff..eac1ad477a 100644 --- a/crates/aprender-registry/Cargo.toml +++ b/crates/aprender-registry/Cargo.toml @@ -42,7 +42,7 @@ zstd = { version = "0.13", optional = true } clap = { version = "4", features = ["derive"], optional = true } # Ecosystem integration -aprender = { path = "../aprender-core", version = "0.67.0", package = "aprender-core", optional = true } +aprender = { path = "../aprender-core", version = "0.68.0", package = "aprender-core", optional = true } alimentar = { workspace = true, optional = true } # HTTP client (optional) diff --git a/crates/aprender-serve/Cargo.toml b/crates/aprender-serve/Cargo.toml index 8cc95e708a..70f1e59a59 100644 --- a/crates/aprender-serve/Cargo.toml +++ b/crates/aprender-serve/Cargo.toml @@ -49,7 +49,7 @@ name = "realizar" trueno = { workspace = true, features = ["gpu"] } # CUDA PTX generation and runtime for NVIDIA GPUs (optional, pure Rust, no LLVM/nvcc) # v0.4.12: BatchedQ6K, MultiWarp, RopeNeox, FlashDecoding kernels -trueno-gpu = { version = "0.67.0", path = "../aprender-gpu", package = "aprender-gpu", optional = true, features = ["cuda"] } # APR-MONO single-source-of-truth +trueno-gpu = { version = "0.68.0", path = "../aprender-gpu", package = "aprender-gpu", optional = true, features = ["cuda"] } # APR-MONO single-source-of-truth # KV cache storage (for attention caching) trueno-db = { workspace = true, optional = true } # K-quantization formats (Q4_K, Q5_K, Q6_K) - Toyota Way: ONE source of truth @@ -63,7 +63,7 @@ renacer-core = { workspace = true } # ML algorithms and .apr model format (optional for aprender model serving) # v0.24.1: chat templates, GGUF tokenizer preservation (local may be newer) -aprender = { path = "../aprender-core", version = "0.67.0", package = "aprender-core", optional = true } +aprender = { path = "../aprender-core", version = "0.68.0", package = "aprender-core", optional = true } # Data loading library (optional for data pipeline examples) alimentar = { workspace = true, optional = true } diff --git a/crates/aprender-shell/Cargo.toml b/crates/aprender-shell/Cargo.toml index 821955ee37..4a38fb9cc2 100644 --- a/crates/aprender-shell/Cargo.toml +++ b/crates/aprender-shell/Cargo.toml @@ -24,7 +24,7 @@ harness = false [dependencies] # Use path for local dev, crates.io for release -aprender = { path = "../aprender-core", version = "0.67.0", package = "aprender-core", features = ["format-encryption", "format-compression", "format-homomorphic"] } +aprender = { path = "../aprender-core", version = "0.68.0", package = "aprender-core", features = ["format-encryption", "format-compression", "format-homomorphic"] } clap = { version = "4", features = ["derive"] } dirs = "5" serde = { version = "1", features = ["derive"] } diff --git a/crates/aprender-simulate/Cargo.toml b/crates/aprender-simulate/Cargo.toml index b15fbc2540..cd8de8a07a 100644 --- a/crates/aprender-simulate/Cargo.toml +++ b/crates/aprender-simulate/Cargo.toml @@ -57,7 +57,7 @@ crossterm = { version = "0.28", optional = true } # ComputeBlocks from presentar-terminal (SIMD-optimized TUI widgets) # Path deps to avoid jugar-probar prod dep chain (CB-081) presentar-terminal = { workspace = true, optional = true } -presentar-core = { version = "0.67.0", path = "../aprender-present-core", package = "aprender-present-core", default-features = false, optional = true } +presentar-core = { version = "0.68.0", path = "../aprender-present-core", package = "aprender-present-core", default-features = false, optional = true } # WASM (optional) wasm-bindgen = { version = "0.2", optional = true } diff --git a/crates/aprender-test-cli/Cargo.toml b/crates/aprender-test-cli/Cargo.toml index ccd61fd5bf..fb461a2d17 100644 --- a/crates/aprender-test-cli/Cargo.toml +++ b/crates/aprender-test-cli/Cargo.toml @@ -35,7 +35,7 @@ path = "src/main.rs" [dependencies] # Core library (was: jugar-probar) — dep key preserves Rust identifier -jugar-probar = { path = "../aprender-test-lib", version = "0.67.0", package = "aprender-test-lib" } +jugar-probar = { path = "../aprender-test-lib", version = "0.68.0", package = "aprender-test-lib" } # CLI framework clap = { workspace = true } diff --git a/crates/aprender-train-bench/Cargo.toml b/crates/aprender-train-bench/Cargo.toml index a700ec53c6..f4146b2be4 100644 --- a/crates/aprender-train-bench/Cargo.toml +++ b/crates/aprender-train-bench/Cargo.toml @@ -20,7 +20,7 @@ workspace = true [dependencies] entrenar = { workspace = true } -entrenar-common = { version = "0.67.0", path = "../aprender-train-common", package = "aprender-train-common" } +entrenar-common = { version = "0.68.0", path = "../aprender-train-common", package = "aprender-train-common" } clap = { version = "4.5", features = ["derive"] } serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" diff --git a/crates/aprender-train-distill/Cargo.toml b/crates/aprender-train-distill/Cargo.toml index 8b669f0ce5..fd2e6520ed 100644 --- a/crates/aprender-train-distill/Cargo.toml +++ b/crates/aprender-train-distill/Cargo.toml @@ -33,7 +33,7 @@ shard-batch-source = [] [dependencies] entrenar = { workspace = true } -entrenar-common = { version = "0.67.0", path = "../aprender-train-common", package = "aprender-train-common" } +entrenar-common = { version = "0.68.0", path = "../aprender-train-common", package = "aprender-train-common" } clap = { version = "4.5", features = ["derive"] } serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" diff --git a/crates/aprender-train-inspect/Cargo.toml b/crates/aprender-train-inspect/Cargo.toml index c4a5948f55..1c963d0ef6 100644 --- a/crates/aprender-train-inspect/Cargo.toml +++ b/crates/aprender-train-inspect/Cargo.toml @@ -20,7 +20,7 @@ workspace = true [dependencies] entrenar = { workspace = true } -entrenar-common = { version = "0.67.0", path = "../aprender-train-common", package = "aprender-train-common" } +entrenar-common = { version = "0.68.0", path = "../aprender-train-common", package = "aprender-train-common" } clap = { version = "4.5", features = ["derive"] } serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" diff --git a/crates/aprender-train-lora/Cargo.toml b/crates/aprender-train-lora/Cargo.toml index 201117faa3..455d040d21 100644 --- a/crates/aprender-train-lora/Cargo.toml +++ b/crates/aprender-train-lora/Cargo.toml @@ -20,7 +20,7 @@ workspace = true [dependencies] entrenar = { workspace = true } -entrenar-common = { version = "0.67.0", path = "../aprender-train-common", package = "aprender-train-common" } +entrenar-common = { version = "0.68.0", path = "../aprender-train-common", package = "aprender-train-common" } clap = { version = "4.5", features = ["derive"] } serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" diff --git a/crates/aprender-train-shell/Cargo.toml b/crates/aprender-train-shell/Cargo.toml index a0ac5594aa..3ec3fdcc66 100644 --- a/crates/aprender-train-shell/Cargo.toml +++ b/crates/aprender-train-shell/Cargo.toml @@ -20,7 +20,7 @@ workspace = true [dependencies] entrenar = { workspace = true } -entrenar-common = { version = "0.67.0", path = "../aprender-train-common", package = "aprender-train-common" } +entrenar-common = { version = "0.68.0", path = "../aprender-train-common", package = "aprender-train-common" } clap = { version = "4.5", features = ["derive"] } rustyline = "14" serde = { version = "1.0", features = ["derive"] } diff --git a/crates/aprender-train/Cargo.toml b/crates/aprender-train/Cargo.toml index 211889f8b1..bb80ebd5ad 100644 --- a/crates/aprender-train/Cargo.toml +++ b/crates/aprender-train/Cargo.toml @@ -80,9 +80,9 @@ provable-contracts-macros = { workspace = true } # Core PAIML stack ndarray = "0.16" trueno = { workspace = true, features = ["parallel"] } -trueno-gpu = { version = "0.67.0", path = "../aprender-gpu", package = "aprender-gpu", optional = true } # CUDA compute (APR-MONO single-source-of-truth) +trueno-gpu = { version = "0.68.0", path = "../aprender-gpu", package = "aprender-gpu", optional = true } # CUDA compute (APR-MONO single-source-of-truth) realizar = { workspace = true, optional = true } -aprender = { path = "../aprender-core", version = "0.67.0", package = "aprender-core" } # ML interpret module + .apr format + tokenizers +aprender = { path = "../aprender-core", version = "0.68.0", package = "aprender-core" } # ML interpret module + .apr format + tokenizers trueno-viz = { workspace = true, features = ["terminal"] } batuta-common = { workspace = true, optional = true } # WithDimensions trait for `viz` feature (APR-MONO §S #1978) presentar-terminal = { workspace = true, optional = true } diff --git a/crates/aprender-tsp/Cargo.toml b/crates/aprender-tsp/Cargo.toml index fd6e7da3db..87cb7ba64d 100644 --- a/crates/aprender-tsp/Cargo.toml +++ b/crates/aprender-tsp/Cargo.toml @@ -18,7 +18,7 @@ path = "src/lib.rs" name = "aprender-tsp" [dependencies] -aprender = { path = "../../", version = "0.67.0" } +aprender = { path = "../../", version = "0.68.0" } clap = { version = "4", features = ["derive"] } rand = "0.9" crc32fast = "1.4" diff --git a/crates/aprender-verify-ml/Cargo.toml b/crates/aprender-verify-ml/Cargo.toml index cbdbea71a1..292d0c1ecc 100644 --- a/crates/aprender-verify-ml/Cargo.toml +++ b/crates/aprender-verify-ml/Cargo.toml @@ -50,7 +50,7 @@ uuid = { version = "1.11", features = ["v4", "serde"] } trueno = { workspace = true } # Machine learning for bug prediction (optional) -aprender = { path = "../aprender-core", version = "0.67.0", package = "aprender-core", optional = true } +aprender = { path = "../aprender-core", version = "0.68.0", package = "aprender-core", optional = true } # LLM fine-tuning integration (optional) entrenar = { workspace = true, optional = true } diff --git a/crates/aprender-viz/Cargo.toml b/crates/aprender-viz/Cargo.toml index fb0ca8e810..043b9b22c7 100644 --- a/crates/aprender-viz/Cargo.toml +++ b/crates/aprender-viz/Cargo.toml @@ -14,7 +14,7 @@ categories = ["visualization", "graphics", "science", "wasm"] [dependencies] # Core SIMD/GPU acceleration -trueno = { version = "0.67.0", path = "../aprender-compute", package = "aprender-compute", default-features = false } +trueno = { version = "0.68.0", path = "../aprender-compute", package = "aprender-compute", default-features = false } # Shared Batuta stack utilities (display traits, formatting) batuta-common = { workspace = true } @@ -29,10 +29,10 @@ base64 = "0.22" thiserror = "2.0" # Optional: ML integration -aprender = { path = "../aprender-core", version = "0.67.0", package = "aprender-core", optional = true } +aprender = { path = "../aprender-core", version = "0.68.0", package = "aprender-core", optional = true } # Optional: Graph integration -trueno-graph = { version = "0.67.0", path = "../aprender-graph", package = "aprender-graph", default-features = false, optional = true } +trueno-graph = { version = "0.68.0", path = "../aprender-graph", package = "aprender-graph", default-features = false, optional = true } # Optional: Database integration trueno-db = { workspace = true, optional = true } diff --git a/crates/facades/Cargo.lock b/crates/facades/Cargo.lock index bb9209dc9b..792616a5d3 100644 --- a/crates/facades/Cargo.lock +++ b/crates/facades/Cargo.lock @@ -13,7 +13,7 @@ dependencies = [ [[package]] name = "aprender-contracts" -version = "0.67.0" +version = "0.68.0" dependencies = [ "aprender-contracts-macros", "regex", @@ -25,7 +25,7 @@ dependencies = [ [[package]] name = "aprender-contracts-macros" -version = "0.67.0" +version = "0.68.0" dependencies = [ "proc-macro2", "quote", diff --git a/crates/facades/provable-contracts-macros/Cargo.toml b/crates/facades/provable-contracts-macros/Cargo.toml index 882bd2f6fb..c0115ee6b7 100644 --- a/crates/facades/provable-contracts-macros/Cargo.toml +++ b/crates/facades/provable-contracts-macros/Cargo.toml @@ -30,7 +30,7 @@ path = "src/lib.rs" # facade resolves. `scripts/check_facade_compat.sh` fails if this version ever # drifts from the aprender workspace version — these manifests are excluded # from the root workspace, so `cargo set-version` does NOT reach them. -upstream = { path = "../../aprender-contracts-macros", version = "0.67.0", package = "aprender-contracts-macros" } +upstream = { path = "../../aprender-contracts-macros", version = "0.68.0", package = "aprender-contracts-macros" } [features] default = [] diff --git a/crates/facades/provable-contracts/Cargo.toml b/crates/facades/provable-contracts/Cargo.toml index 071a94fbb6..d85940110e 100644 --- a/crates/facades/provable-contracts/Cargo.toml +++ b/crates/facades/provable-contracts/Cargo.toml @@ -31,7 +31,7 @@ path = "src/lib.rs" # facade resolves. `scripts/check_facade_compat.sh` fails if this version ever # drifts from the aprender workspace version — these manifests are excluded # from the root workspace, so `cargo set-version` does NOT reach them. -upstream = { path = "../../aprender-contracts", version = "0.67.0", package = "aprender-contracts" } +upstream = { path = "../../aprender-contracts", version = "0.68.0", package = "aprender-contracts" } [dev-dependencies] # Used by three of the vendored 0.3.1 example programs. They were regular