AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
Rust R interoperability workspace. This repository contains the runtime
crates, proc macros, CLI/tooling, an example R package, and the helper package
used to scaffold standalone packages and monorepos.檢視完整 README ↗miniextendrRust <-> R interoperability workspace. This repository contains the runtime crates, proc macros, CLI/tooling, an example R package, and the helper package used to scaffold standalone packages and monorepos.
miniextendr-api/ - Runtime crate: R FFI bindings, conversions, worker-thread
routing, ALTREP, class systems, trait ABI, and macro re-exports.miniextendr-macros/ - Proc macros such as #[miniextendr],
#[r_ffi_checked], ExternalPtr, and RNativeType.miniextendr-engine/ - Standalone R embedding engine for Rust-only binaries
and integration tests.miniextendr-cli/ - CLI for scaffolding, workflow, vendoring, and cargo
operations.miniextendr-bench/ - Benchmarks for conversions and feature-gated paths.miniextendr-lint/ - Internal linter used during builds.cargo-revendor/ - Standalone vendoring tool for hermetic/offline builds.
It is intentionally excluded from the main Cargo workspace.rpkg/ - Example R package that exercises the Rust crates and the
autoconf/configure flow.minirextendr/ - R helper package for scaffolding, configure wiring,
vendoring helpers, and cargo wrappers.tests/cross-package/ - Producer/consumer R packages used to validate the
cross-package trait ABI dispatch flow.miniextendr-api providesSEXP-oriented helpers.R_UnwindProtect by default, with an optional
worker-thread dispatch model for functions that opt in.RDebug, RDisplay, RHash, ROrd, and
RPartialOrd.miniextendr-macros proc macros so most downstream crates
only need one dependency.Feature families in the runtime crate include:
nonapi, rayon, connections, indicatif, vctrs,
worker-thread, worker-default, no-preconditions-default, logserde (native R), serde_json (JSON), borsh,
arrow, datafusioneither, uuid, regex, url, time, jiff,
ordered-float, num-bigint, rust_decimal, num-complex, indexmap,
bitflags, bitvec, ndarray, nalgebra, tinyvec, bytes,
raw_conversions, aho-corasick, globset, toml, tabled, rand,
rand_distr, num-traits, sha2, blake3, md5, zstdstrict-default, coerce-default,
r6-default, s7-default, doc-lint, growth-debug,
macro-coverageSee miniextendr-api/README.md and docs/FEATURES.md for the current feature
matrix.
rpkg)rpkg/ is a real R package that vendors Rust crates and builds a shared
library via cargo during R CMD INSTALL.
The high-level flow is:
bootstrap.R runs configure.configure generates src/Makevars and writes
src/rust/.cargo/config.toml for the detected source or tarball mode.
src/rust/Cargo.toml remains an ordinary tracked source file.Makevars builds the Rust static library, links the package shared library,
then loads that library to write R/miniextendr-wrappers.R and the wasm32
registration snapshot.Generated artifacts have two different tracking policies:
rpkg/configure, rpkg/config.guess, rpkg/config.sub,
rpkg/NAMESPACE, and rpkg/man/*.Rd.rpkg/R/miniextendr-wrappers.R or
rpkg/src/rust/wasm_registry.rs; they are regenerated during development
installs but must be present on disk when the release tarball is built.Common workflows from the repo root:
just configure # generate Makevars + .cargo/config.toml (auto-detects mode)
just devtools-load # compile Rust, regenerate wrappers, load rpkg
just devtools-test # run rpkg tests
just vendor # CRAN release prep: build rpkg/inst/vendor.tar.xz
just r-cmd-build # build tarball (depends on `just vendor`)
just r-cmd-check # build + check tarball
Install mode (source vs tarball) is auto-detected from
inst/vendor.tar.xz presence — no env var to set. See
docs/CRAN_COMPATIBILITY.md.
Requirements:
R on PATHautoconf for regenerating configurejust for the repo task wrappersCommon tasks:
just --list
just check
just check-features
just test
just clippy
just devtools-test
just cross-test
CI Success, the aggregate job of ci.yml, is the
merge gate. That is maintainer policy: GitHub does not require the check on
main yet (#1391), so an
enabled merge button proves nothing. A green CI Success also does not mean
every check ran: on pull requests, webR, heap checking and the extra R
versions run only under a label. The GC-stress shards additionally require
MX_GC_STRESS_CI=true and are currently disabled pending #2070. The macOS
check, feature-runtime legs and full gctorture sweep do not run on PRs.
Windows has no gate (#1654).
The Maintainer Guide classifies
every workflow as merge-blocking, release-blocking or informational and lists
the pre-tag checklist.
docs/README.md - docs index for architecture, build system, features, and
troubleshootingminiextendr-cli/README.md - CLI surface and command groupsminiextendr-api/README.md - runtime crate overview and feature summaryminirextendr/README.md - scaffolding and R-side workflow helperstests/cross-package/README.md - end-to-end trait ABI examplecargo-revendor/README.md - standalone vendoring tool for offline buildsminiextendr-engine is for standalone binaries/tests, not for R packages.nonapi disabled unless you are prepared for CRAN checks to flag
non-API symbol usage.inst/vendor.tar.xz when building offline/CRAN releases.configure, config.guess, config.sub, NAMESPACE, and man/*.Rd
committed. Regenerate the gitignored wrapper and wasm registry before
building the tarball so both are shipped in it.R CMD check on the release tarball before submission.rpkg/configure whenever rpkg/configure.ac changes.config.guess and config.sub from GNU config when needed.MIT (see LICENSE-MIT).