Releases: pineapple-ooo/MINXG-Beta
Release list
v0.14.0
[0.14.0] - 2026-06-28 - Polyglot expansion + gateway hardening + think UX + extension manifest
Highlights
- Open Gateway fully restored. Rewrote
gateway/server.pywiring so
inference + RAG + router + runner + workspace all consume a single
GatewayConfig(loaded fromminxg._config); removed ad-hoc env-var
forks. Addedgateway/channels.pywith aChannelManager,
MemoryChannel, andHTTPChannelso thechannelssection in
config/gateway.yamlactually drives inbound surfaces (not only the
REST server). Reference taken from/storage/emulated/0/文件/mmm/gateway
patterns (channel/manager), implemented fresh on top of MINXG's own
config/state surfaces. - Chat "think" tags. AI thinking is now wrapped in
[thinking]...[/thinking]
in terminal/chat output so users can tell reasoning from response. - AI identity polish. Removed the redundant "You:" prompt label from
multiligua_cli/interactive.pyandmultiligua_cli/terminal_chat.py;
the prompt now uses a neutral arrow (▸) matchingtui_chat.py. - Wizard/config flicker killed. The
MinxgMenuwidget in
multiligua_cli/wizard_ui.pyredraws in place with cursor-up/erase
sequences instead of clearing the whole screen. - Centralised config bump. VERSION lives in
minxg/_version.pyonly;
pyproject reads it via setuptools dynamic. Bumps are one-line edits and
theminxg/__init__.pydocstring now echoes the same value. - Polyglot activation. Reactivated C/C++/Go paths via real subprocess
bridges (g++/clang++,go run) that compile/run shipped source
assets underminxg/contracts/runtime/assets; added first-class adapters
for WebAssembly (.wat+wasmtime/ arithmetic emulator), R
(.Rbridge +jsonlite), Datalog (.lp+clingo/pyDatalog),
and Julia (.jlbridge +JSON.jl). Each adapter detects its own
runtime availability and degrades cleanly when missing — manifest-driven
discovery viaminxg polyglot-manifest. - New experimental verbs.
minxg contract,minxg polyglot-manifest,
minxg thinktoggle, andminxg ext-reloadnow work end-to-end.
ext-reloaduses the newextensions.loader.rescan_all()helper. - Self-evolved capability: MINXG Genesis Loop.
minxg genesis
runs propose → mutate → evaluate → crystallise and writes the winning
candidate to~/.minxg/genesis/latest.pywith a JSON report.
Refactor
- Removed duplicate
from __future__ import annotationsin
gateway/server.py. - Normalised
minxg/contracts/runtime/_exec.pyshared helpers for
subprocess-based language adapters.
Updates since 0.14.0
- Polyglot runtime install helpers. New module
minxg/contracts/runtime/installer.pyexposes a 6-language install
matrix (cpp / go / wasm / r / julia / datalog) with platform-aware
recipes fortermux/linux/macos/windows/
unknown. The module is pure-data by design:detect_runtime/
plan_install/render_install_plannever launch subprocesses
andrun_install(..., apply=True)is opt-in via--applyso the
user is never surprised by an unattendedpkg install. Re-exported
throughminxg.contracts.runtimeso existing imports stay
stable. - Two new [EXPERIMENTAL] verbs.
minxg runtime-plan [<lang>]
prints the install plan for one language (or every managed
language whenlangis omitted /all).minxg runtime-install [<lang>] --applyruns only the chosen language's
recipe viash -c <cmd>with a 10-minute timeout, or stays a
dry-run JSON view when--applyis absent. Both honour
--platformso users on a Linux box can preview the Termux /
macOS recipes and vice versa. minxg doctorpolyglot panel. A newPolyglot runtimes
section reports every managed language's binary, availability, and
install hint next to the existingTool cap/Extensions
panels; it never escalates the doctor exit code past WARN when a
runtime is missing (the verbosity matches the existing
polyglot-manifest contract).- New tests.
tests/test_polyglot_runtime_installer.py(34)
coversplatform_idhermetic across all five platforms,
per-language detect (R/jsonlite gate, Julia version probe, datalog
clingo + pyDatalog fallback, wasm optional signal), install plan
shape,run_installdry-run vs apply via the runner seam, and
the doctor panel never returns FAIL. Full suite: 467 passed,
1 skipped. - Twin emit now preserves the source function name. The
TwinConfig.function_namedefault flipped from the
placeholder"twin_fn"to the empty-string sentinel
"", which makes :func:minxg.twin.python_to_rustfall back
tofn.nameon the Python side. The previous default forced
every caller to wrap and rename — turning the round-trip test in
tests/test_twin.pyinto a compile failure that was being
silently turned into a skip. After the fix, the
test_python_to_rust_emitted_function_compiles_when_rustc_present
case compiles afn main { fn add(...) { ... } }template
that, whenrustcis on PATH, actually returns7from
add(3, 4)instead of skipping. - Right-prefix temp dir on Android.
rustc -o /tmp/...
silently aborted on Termux (the symlinked/tmpcan't host
rustc's scratch subdirs); the test now writes the
intermediate artefact intotempfile.mkdtemp(prefix="minxg_twin_")
so the same path used byminxg.contracts.runtime._exec.run
is the onerustcworks in. - Full suite now skips 0 tests. Before: 1 skipped (the
silent-failure twin case). After: 468 passed, 0 skipped, 0
failed.
v0.13.1
[0.13.1] - 2026-06-26 - Version bump + GitHub release
Release
- Bumped version lock across
pyproject.toml,minxg/__init__.py,
README.md, andCHANGELOG.mdto 0.13.1. - Tagged
v0.13.1and pushed to GitHub.
v0.13.0
[0.13.0] - 2026-06-25 - Surface sweep + experimental verbs
Top-level promotion
- Eight subsystem modules (
minxg.twin,minxg.lens,minxg.lossless,
minxg.self_evolution,minxg.polyglot,minxg.driver,minxg.cap,
minxg.contracts) are now reachable as top-level attributes
(import minxg; minxg.twin) — same convention as the six math pillars.
from minxg.<x> import ...continues to work. Added tominxg/__all__.
Documentation cleanup
- Deleted the entire
docs/archive/folder (10 files) including
the obsolete multi-AI negotiation filedocs/archive/AGENTS.md
(formerly used to inject anti-loop directives into AI system prompts). - README updates: dead link to phantom
docs/OPERATORS.mdremoved;
expired# Successfully installed minxg-beta-0.10.0snippet updated
to 0.13.0;v0.11.0stale tag in the experimental surface section
collapsed to a runtime-truth table; thegaID-range claim
5000-5049corrected to5000-5046(the actual registered range). - DEVELOPER.md: new "v0.13.0 release notes" section before the historical
v0.11.0 notes; §12 "Publishing checklist" updated to current numbers.
New [EXPERIMENTAL] CLI verbs (0.13.0)
All five live behind multiligua_cli/experimental.py and broadcast an
[EXPERIMENTAL] minxg <verb> — signature may change banner. They are
exercised by tests/test_experimental_cli.py so a regression breaks CI.
minxg bench— local perf snapshot oflossless,driver,twin,
polyglot,operators, and experimental import path.minxg replay <file>— re-render a markdown chat log (output of
features.export_to_markdown) back into the TUI-friendly stream.minxg theme [name]— get/set the active TUI theme
(dark/colorful/minimal); state in~/.minxg/theme.json.minxg safe-eval <expr>— restricted expression evaluator. Allowed
builtins:abs,all,any,bool,dict,enumerate,float,
int,len,list,max,min,pow,range,round,sorted,
str,sum,tuple,zip. No attribute access, no comprehensions,
no lambda/import/class.minxg ext-reload --all— rescan extension sources without
restarting the Python interpreter.
CI / Tests
tests/test_experimental_cli.py(NEW, 14 tests) covers every new
verb plus the top-level-promotion contract for the eight subsystems.tests/test_version_lock.py(NEW, parametric) catches drift between
pyproject.toml,minxg/__init__.py,README.md, and
CHANGELOG.md.- Bug fixes found during the surface sweep:
multiligua_cli/wizard_ui.py— whenreadcharis missing, the
module now exposesreadchar = Noneso test introspection paths
stay defined (instead ofAttributeError).tests/test_cap_extra.py::test_cli_cap_check_returns_zero_on_clean_tree_subprocess
— child interpreter now inheritsPYTHONPATHso the unit-under-test
script canimport minxgin dev environments.
Operator registry correctness
- The README's ID-range claims are now machine-checkable:
minxg.operators.OPERATOR_REGISTRY.total_operatorsreturns 376
(11 categories),list_categories()enumerates them, and the six
mathematical pillars (ga/cat/fiber/topo/chaos/infogeo)
contribute the documented 306 mathematical IDs.
The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.
v0.12.4
[0.12.4] - 2026-06-22 - MINXG Chat rewrite + flicker-free picker + safe print
MINXG Chat rebuild
- A proper REPL replaces the old "you > " stub.
tui_chat()now lives entirely inmultiligua_cli/tui_chat.py
and ships a polished three-region UI: a top status bar
(provider · model · host · depth/cost), a scrolling conversation
thread that streams tokens underrich.live, and a
helper-rich bottom input box. The brand label inside the banner is
MINXG Chat(formerly the ambiguous "chat CLI") — the change
is documented in README §Tutorial A. - Brand refactor. The hard-coded product name in the chat
surface,/help, README, and DEVELOPER.md is consolidated under
tui_chat._BRAND = "MINXG Chat". Updating the brand now means
changing one constant. - Streaming faithful to upstream events.
_streamconsumestext / thinking / tool_call / tool_result / done / errorevents fromNexusOrchestrator.chat_streamand
renders tool calls as inline→ name (Nms)widgets with a
yellow anti-loop warning line if the safety guard fires.
In-place reconfiguration (no chat restart)
- New slash commands:
/setup,/provider [slug],/model [name],/url [URL],/apikey [KEY],/lang [code],
/history. They hot-swap the orchestrator, save the config
atomically (tmp + os.replace), and re-paint the status bar
without dropping the session. /provider <slug>is non-interactive (omit the slug for the
picker)./model <name>tries to fetchGET /modelsfrom the
current provider; if the API is reachable, the picker shows the
real list of available models. If the fetch fails, it falls back
to the provider'sdefault_modeland accepts typed input./setupreruns the wizard with the existing config as
defaults, then re-renders the chat banner — no more "exit chat
→minxg setup→ re-enter chat" round-trip./apikeyis masked before being written to disk, the way
the wizard has always done it. Naked key payloads no longer leak
to log files.
Bug fixes
MinxgMenuno longer flickers under Termux. The old
_renderforkedclearon every arrow-key press and wiped the
whole scrollback; the new implementation paints in place using
\033[<n>A(cursor up) +\033[J(erase to end of screen), so
the chat scrollback stays intact and no full-screen flicker
shows up under tmux/SSH/screen.print_error / print_success / print_info / print_warning / print_dimno longer crash on user messages that contain
brackets. A new_escape_markupescapes[and]in
inbound strings before handing them to rich, so URLs, exception
messages and model names with brackets stop raising
rich.errors.MarkupErrorinside the chat prompt.
NUANCE alignment
- The new
_save_config(atomic write) centralises every
one-shot setter that previously hand-rolledyaml.dump—
minxg model <name>,minxg api <url>,minxg key <key>,
minxg lang <code>now share one error-handling path. - All chat-side saves log a friendly
Config saved to .../
Save failed: <hint>line so the user can see exactly which
file was touched (and why) — instead of dumping a yaml
traceback on top of a half-finished wizard panel.
The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.
v0.12.3
[0.12.3] - 2026-06-22 - CLI polish + setup wizard UnboundLocalError fix
Bug fix
minxg setupno longer raisesUnboundLocalError: cannot access local variable 'run_setup'. The wizard's full-run dispatcher in
multiligua_cli/main.pywas namedrun_setup, which shadowed the
same-named import insidemain()and made the symbol local —
the very first invocation from the CLI now hit the classic
local-before-assignment trap. The dispatcher is renamed to
cmd_setup, the@ensure_configdecorator is removed (wizards
don't need to recursively invoke themselves), and the resulting
duplicated banner is dropped because the wizard prints its own
rich panel.minxg model,minxg api,minxg key,minxg config,
andminxg statuswere already fine — only thesetuppath was
exposed.
CLI beautification
- Quiet by default. The
Loading tool modules...and
Registered N tools from new systemINFO lines from
multiling/orchestrator.pyno longer print to stderr on every
command. The logging root now starts at WARNING in interactive
shells and is bumped to INFO only whenminxg -vis passed
(orMINXG_LOG_LEVEL=DEBUGis exported for diagnostics). - Banner shows the real version. The header panel now reads
MINXG — Five-Pillar Worker Platform v0.12.3(the
minxg.VERSIONconstant is rendered live instead of relying on
whichever snapshot was last edited into the banner template). - Setup wizard ribbon. The wizard banner gets a
◆ tagline vX.Y.Z
accent line and asetup wizardsub-line so the user knows what the
screen is for the moment they enterminxg setup. - Step counter is correct.
TOTAL_STEPSis now6(was5), the
duplicatestep 2 of 5for the mode prompt is nowstep 3 of 6,
the orphanedstep 7 of 5for Browser Search is nowstep 6 of 6,
and the dead-stepstep 8 of 5Summary banner has been removed in
favour of a non-step gold "Review your configuration" panel.
setup_platforms(and the now-redundant comment) is documented as
a compatibility shim so future readers don't think it ran. - Wide-terminal-aware descriptions. Menu descriptions used to be
hard-truncated to 28 characters. They now size themselves between
28 and 56 based onshutil.get_terminal_size, so a desktop user
gets the full provider description while Termux users still keep a
single-line layout. - Setup finishes with a celebration.
_post_setup_hintsnow prints
a centred✓ Setup completepanel plus a two-column quick-reference
grid (minxg,minxg gateway start,minxg doctor, …) so the
first action after install is obvious.
The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.
v0.12.2
[0.12.2] - 2026-06-21 - PyPI publication + release automation
Published on PyPI
minxg-betais now installable directly from PyPI:
pip install minxg-beta.- Releases are fully automated via
.github/workflows/release.yml—
pushing av*.*.*tag triggers Trusted Publishing (OIDC) for PyPI
and creates a GitHub Release with the wheel + sdist attached.
No PyPI API token is stored in the repository.
Housekeeping
- README: top-of-file PyPI / Downloads / GitHub Release / License badges.
- README: replaced "PyPI publication is on the roadmap but not yet done"
with a realpip install minxg-betablock and aReleasingsection. - pyproject: project
descriptionnow mentions the PyPI name and
install command so it surfaces on the PyPI page itself. - PyPI metadata: removed retired
Topic :: Artificial Intelligence
classifier (PyPI no longer accepts it).
The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.
Versioning policy (effective 2026-06-14): MINXG is in pre-1.0
development. Public releases start at0.10.0; the legacy
1.xnumbering on internal commits is retained in git history as
a milestone but is not part of the public release graph.
v0.12.1 — Safety / Memory / Platform-cap / Termux-notify patch
v0.12.1 — Safety / Memory / Platform-cap / Termux-notify patch
A backwards-compatible patch over v0.12.0. No public-API removals; all CLI
imports from multiligua_cli.*, multiling.*, and minxg.* still work. The
test count goes 161 → 196 (+35) and four new surfaces are now backed by
real implementations instead of silent fallbacks.
Anti-loop guard (src.ai.safety.guard)
Real module replacing the previous from src.ai... import AntiLoopGuard
path that swallowed ImportError and let the LLM spend user money on a
100-call loop. Three independent ceilings fire, in order, before the call
is dispatched:
- DepthGuard — hard cap on tool calls per turn (~5 mobile, ~8 desktop)
- DupDetector — same
(name, args)within a window of K - CostGuard — wall-clock budget (12 s mobile / 30 s desktop)
A short context injection is surfaced to the model the moment a loop
pattern emerges ("deep into tool-call budget (4/5); repeated the same tool 4× in this turn. Stop calling tools and answer the user.") — see
AntiLoopGuard.get_context_injection().
Multi-tier memory (src.ai.memory.*)
Implementation: entropic_evolution.py + working_memory.py.
- L0 hot — last 32 turns verbatim, deque + JSONL append log.
- L1 warm — bag-of-hashes quantised vectors (256-D, 8-bit per dim),
cosine-sim retrieval, capped to 10 000 items (~ 640 KB). - L2 cold — sqlite-backed compressed storage at
~/.minxg/memory.db
(path overridable viaMINXG_L2_DB). Re-hydrated on cold-start so a
fresh chat session can resume without re-priming.
The engine never throws on input — bad args degrade silently so a chat
never dies on a malformed payload.
Per-platform tool cap (multiling/platform_cap.py)
| Platform | Cap |
|---|---|
| android | 600 |
| linux | 1000 |
| macos | 1000 |
| windows | 1000 |
| unknown | 500 |
Override at runtime via MINXG_TOOL_CAP. The cap is applied as a prefix
to tools.registry insertion order; first N tools are visible, the rest
are filtered out of get_all_tool_names, get_available_toolsets, and
handle_function_call. The registry keeps all definitions so dropping
is non-destructive and a later opt-in extension can re-expose them.
Termux-API notify (src.ai.notify.termux)
Real Android notifications via termux-notification — only on Termux /
ZeroTermux. Every other platform returns False from the helpers without
ever raising. install.sh grew a final block that hits
notify_task_completed() when MINXG_NOTIFY=1 is set; outside Termux
the block is silent.
MINXG_NOTIFY=1 bash install.sh # on Termux: real notification
# elsewhere: log line then exitCLI chat rewrite (multiligua_cli/tui_chat.py)
Three visible regions now: a top status bar (provider / model / host /
depth / cost), the conversation area, and the prompt. Newer banner with
a blocky wordmark that survives weird terminal metric ratios.
New slash commands added:
/memory memory-tier snapshot (L0/L1/L2 counts)
/doctor self-check inline
/forget reset anti-loop counter (escape a wedge)
/reset reset memory engine
install.sh
- Step labels re-numbered 1..6 — the previous "8-step" ladder was
misleading because the two ADB/ROOT auto-detect blocks were dropped
in 0.11 without re-numbering. cpp_coreCMake wiring added in[4/6]solibminxg_core.soand
libminxg_cpp_json.soare actually built at install time. Before this
patch,minxg doctorreportednative lib WARN native library 'libminxg_core.so' not foundon a fresh install.- Termux notify integration guarded by
MINXG_NOTIFY=1.
Doctor (multiligua_cli/doctor.py)
Adds a "Tool cap" section so the user can see the platform budget at a
glance:
Tool cap
platform OK android
tool cap OK 600
active tools OK 26 / 26
C/C++ memory safety
cpp_wrapper.c:560—strcpy(table[...].word, word)replaced with
memcpy+ explicit NUL. Stays in bounds under all current inputs;
defensive against future bound-slip regressions.tests/asan_harness.c(still in the tree from 0.12.0) verifies
rc=0— zero leaks, zero use-after-free, zero OOB — across the
full C API surface (arena, slab, ring buffer, sha256, url paths,
tokenize, NCD pair/matrix).
Verification
$ python3 -m pytest tests/ -q
196 passed, 1 skipped in 3.97s
$ bash install.sh --help # exits 0
[1/6] checking python... # no longer skips
[2/6] installing python dependencies...
[3/6] registering global command...
[4/6] building native library... # now actually builds
[5/6] checking python source compiles...
[6/6] extension self-check...
$ minxg doctor
0 failure(s), 0 warning(s) out of 26 check(s)See CHANGELOG.md for the full release notes
(entry [0.12.1] - 2026-06-21).
v0.12.0 — Test coverage, experimental flags, install polish
v0.12.0 — Test coverage, experimental flags, install polish
Headlines
-
Test suite: 130 → 161 passing (+1 env-skipped, rustc absent
in Termux sandbox).tests/test_cli_commands.pycovers every CLI subcommand and
flag (zero coverage before).tests/test_experimental_features.pyguards the
[EXPERIMENTAL]labelling onmultiligua_cli.featuresso it
cannot silently regress.
-
AddressSanitizer harness (
tests/asan_harness.c+
build_asan/libminxg_asan.so) exercises every C entry-point
under-fsanitize=address. rc=0: zero leaks, zero
use-after-free, zero OOB. Six P3 hardening notes recorded in
CHANGELOG; none are fixing a present defect. -
install.sh no longer probes for
adb/ ROOT. ADB and ROOT
ship as opt-in extensions (minxg ext add minxg-adb
/minxg ext add minxg-root). The eight-step ladder collapses
to a six-step one. -
multiligua_cli/features.pydeclares its experimental status
at module-level and per-method. A warn-once WARNING is emitted
on first invocation of every experimental symbol. New helper
list_experimental_exports()returns the canonical set. -
README gains: Command reference table, Tutorials (A-D),
Troubleshooting table, and Experimental surface section.
config.example.yamlpublished as a sanitised template.
Why v0.12.0 and not v0.11.0
The prior v0.11.0 tag was already on the remote when this
commit landed, and the repo's ref-creation rule blocks recreating
an existing tag. The CHANGELOG entry has been re-titled to
[0.12.0] to mirror this publish; the previous [0.11.0] entry
was renamed to [0.11.0-pre] to keep the version history honest.
Compatibility
Backward-compatible: no public-API removals. Run bash install.sh
on a fresh machine, or pip install -e . from the source tree,
to install. Run minxg doctor to verify the install landed
clean.
See CHANGELOG.md for the full notes.
Verification locally
$ python3 -m pytest tests/ -q
161 passed, 1 skipped in 5.38s
$ ASAN_OPTIONS=halt_on_error=1:detect_leaks=1 \
LD_LIBRARY_PATH=/data/data/com.termux/files/usr/lib \
./asan_harness # built from tests/asan_harness.c
all paths exercised — ASan exit code will surface leaks.
$ echo $?
0main
main
See CHANGELOG.md for details.
v0.11.0 - Cold-start hardening + wizard polish
MINXG v0.11.0 — Cold-start hardening + wizard polish
Cold-start hardening plus a polished, Termux-friendly setup wizard.
No breaking-API changes; same minxg imports and same worker count
(55 workers, 306 math operators, 376 total operator IDs).
What is actually shipping
-
minxg(no subcommand) is now a one-shot picker.
Pick a usage mode and go: chat CLI right away, start the API
gateway immediately, or run the setup wizard. No more silent
drop-into-TUI that the old behavior implied. -
Setup wizard: reasoning_effort knob (OpenAI standard).
Six levels:xhigh,high,medium,low,minimal,none,
with a per-provider support map (OpenAI supports all five,
Anthropic three, Gemini five, DeepSeek / Doubao / xAI four, plus
the rest). The wizard persists the choice to ai.reasoning_effort
and the value is resolved against the provider's allowed levels
at runtime. -
Wizard menus strictly fit one line per option.
Descriptions are truncated to 28 chars inprint_option_itemso
every row stays under 42 chars wide. Termux 80-col screens stop
spilling one option across two terminal rows. -
Built-in extensions are opt-in. The legacy
ADB_AVAILABLE/ROOT_AVAILABLEauto-detect ladder is
removed.minxg-adb,minxg-root,minxg-filesship with
EXTENSION_ENABLED = False; enable withminxg ext add <slug>. -
cpp_core link error fixed.
libminxg_core.sono longer
crashes on dlopen withcannot locate symbol "minxg_slugify"
on Termux + Py3.13.cpp_core/CMakeLists.txtnow also links
c_core/text_engine.c. -
minxg doctorships as a real self-check subcommand with an
exit-code contract (0 OK / 1 fail / 2 warn) and 23 checks across
platform, binaries, minxg package, config, and extensions. -
install.shEnglish-only (43[CN]placeholders stripped);
brand line readsMINXG v0.11.0; ADB/ROOT messaging is now
opt-in by default. -
py_workersalias hardened. Pillar aliases (scalar,io,
aggregate,dispatch,transform) and the six math pillars
resolve through the alias module's own__getattr__.
Files changed (high level)
CHANGELOG.md, DEVELOPER.md, README.md, config/minxg.yaml,
cpp_core/CMakeLists.txt, extensions/__init__.py,
extensions/loader.py, three built-in extensions,
extensions/package_cli.py, install.sh, minxg/__init__.py,
minxg/cap/manifest.py, minxg/driver/engine.py,
minxg/five_pillars/scalar/core_native.py,
minxg/self_evolution/loop.py, multiligua_cli/banner.py (new),
multiligua_cli/doctor.py (new), multiligua_cli/main.py,
multiligua_cli/providers.py, multiligua_cli/setup.py,
multiligua_cli/tui_chat.py, multiligua_cli/wizard_ui.py,
py_workers/__init__.py, pyproject.toml,
tests/test_extensions.py.
Verification
- 130 tests pass, 1 skipped (rustc absent in Termux sandbox).
minxg --version->0.11.0.minxg doctor-> 0 failures, 0 warnings across 23 checks.bash install.sh --help-> exits 0 with the post-install
cheatsheet.from minxg.five_pillars.scalar.core_native import sha256; print(sha256(b"hi").hex())-> native lib loads, expected hash.