Skip to content

Releases: DrOlu/neuralosd

v1.4.0

Choose a tag to compare

@github-actions github-actions released this 03 Oct 22:41

Full Changelog: v1.3.5...v1.4.0

v1.3.5

Choose a tag to compare

@github-actions github-actions released this 03 Oct 20:56

Full Changelog: v1.3.4...v1.3.5

v1.3.4

Choose a tag to compare

@github-actions github-actions released this 03 Oct 14:05

Full Changelog: v1.3.2...v1.3.4

v1.3.2

Choose a tag to compare

@github-actions github-actions released this 03 Oct 12:13

Full Changelog: v1.3.1...v1.3.2

v1.3.1

Choose a tag to compare

@github-actions github-actions released this 03 Oct 11:19

Full Changelog: v1.2.4...v1.3.1

v1.2.4

Choose a tag to compare

@github-actions github-actions released this 03 Oct 04:00

Full Changelog: v1.2.3...v1.2.4

neuralosd v1.2.3 — group-by breakdowns

Choose a tag to compare

@DrOlu DrOlu released this 02 Oct 19:10

Standalone binaries for the neuralOS deterministic-first runtime.

New: group-by breakdowns

neuralosd init now generates a breakdown probe for every data source —
a real GROUP BY with caged arguments, so plain English fills them:

neuralosd ask --instance-dir ./store "revenue breakdown by year"
neuralosd ask --instance-dir ./store "sales by market"
neuralosd ask --instance-dir ./store "profit by category"

2012   $2,259,450.90
2013   $2,677,438.69
2014   $3,405,746.45
2015   $4,299,865.87
TOTAL $12,642,501.91

Dimensions are the low-cardinality categorical columns plus year / quarter /
month
derived from a detected date column. Measures are the non-identifier
numeric columns, and the measure is optional with a default — which is why
"revenue" resolves to the Sales column without naming it.

Fixed: a confident wrong answer

The router used to take the first probe whose args were extractable.
"sales by quarter" therefore matched a flat total_sales and returned a
single grand total — a confident answer to a question nobody asked. It now
prefers the probe that accounts for the most of the question through its
extracted arguments. Verified with a regression test that fails when the fix
is reverted.

Verified

Numbers cross-checked against an independent openpyxl pass on the real
workbook — identical to the cent. 168 unit tests · 12-check CLI smoke ·
strict backend assertion · three sidecar proofs, on every platform.

Variants

Variant File Adds
base neuralosd-<platform> framework + 4 doc volumes + 5 skills + model + Excel
boxlite neuralosd-boxlite-<platform> + the BoxLite microVM engine
msb neuralosd-msb-<platform> + the Microsandbox msb runtime

Full Changelog: v1.2.2...v1.2.3

neuralosd v1.2.2 — the model fallback actually works now

Choose a tag to compare

@DrOlu DrOlu released this 02 Oct 15:50

Standalone binaries for the neuralOS deterministic-first runtime.

The headline fix: --model did nothing

Found by installing from PyPI and using it. --model loaded the model and
then never consulted it, for two independent reasons:

  1. The fallback imported a module that did not exist (_cmd/model_bridge),
    and a bare except swallowed the error — so it returned nothing on every
    question, silently. The real bridge now exists.
  2. The router refused before offering anything to the model when lexical
    retrieval found no overlapping tokens — exactly the paraphrase case the
    model is for.

Now:

Retrieval With --model
a probe matches and its args extract deterministic — the model is never loaded
a probe matches but args are missing model picks among the retrieved candidates
nothing matches model is shown the whole menu
nothing matches, no --model honest refusal: no probe matched this question

Also fixed: a segfault under load

Six parallel /ask calls against serve --model killed the server
(segfault). The on-device engine is not thread-safe at construction either,
not just at inference, so serialising run() alone was insufficient. All
model work now sits behind one lock; the deterministic path stays fully
concurrent. A regression test asserts maximum overlap == 1 and was verified to
fail with the lock removed.

Verified on this host, from PyPI

pip install 'neuralosd[all]' → deterministic ask, model fallback, honest
refusal, both sandbox backends available, bundled docs including the new
model-fallback sections.

Variants

Variant File Adds
base neuralosd-<platform> framework + 4 doc volumes + 5 skills + model + Excel
boxlite neuralosd-boxlite-<platform> + the BoxLite microVM engine
msb neuralosd-msb-<platform> + the Microsandbox msb runtime

12-check CLI smoke · strict backend assertion · three sidecar proofs ·
151 unit tests.

Full Changelog: v1.2.1...v1.2.2

neuralosd v1.2.1 — docs now shipped inside the binary

Choose a tag to compare

@DrOlu DrOlu released this 02 Oct 12:48

Standalone binaries for the neuralOS deterministic-first runtime.

What changed

The binary bundles four documentation volumes, readable without a network:

neuralosd docs usage          # operations guide
neuralosd docs architecture   # design manual
neuralosd docs cookbook       # recipes
neuralosd docs reference      # full API reference

1.2.0 shipped the sidecar and uv provisioning but the bundled volumes did
not describe them — that material had only been written into the README, which
is not part of the binary. Now all four volumes cover it:

  • usage — how to provision with neuralosd sidecar --setup, what uv
    actually runs, where the environment lives
  • architecture — why bootstrapping exists and why it must stay explicit
  • cookbook — a recipe: "Use a library the binary doesn't have"
  • reference — the sidecar protocol, sidecar_client, provision API,
    and every environment variable

The five bundled skills are readable too (neuralosd.skills()).

Everything else from 1.2.0

uv install paths · sidecar delegation (in-process first, host Python for what
the binary lacks) · explicit neuralosd sidecar --setup provisioning with
zero-config discovery · Excel support baked in.

Variants

Variant File Adds
base neuralosd-<platform> framework + 4 doc volumes + 5 skills + model + Excel
boxlite neuralosd-boxlite-<platform> + the BoxLite microVM engine
msb neuralosd-msb-<platform> + the Microsandbox msb runtime

Verified on every platform: 12-check CLI smoke, strict backend assertion, and
the three sidecar proofs (clean failure / delegation / uv-provisioned with
zero configuration).

Full Changelog: v1.2.0...v1.2.1

neuralosd v1.2.0 — uv provisioning (sidecar with zero configuration)

Choose a tag to compare

@DrOlu DrOlu released this 02 Oct 10:56

Standalone Nuitka binaries for the neuralOS deterministic-first runtime.

New in 1.2.0 — uv is a first-class path

Install / run with uv:
uv pip install "neuralosd[all]"
uv tool install neuralosd
uvx neuralosd ask --instance-dir . "how many rows"

Provision the sidecar — no Python needed on the machine:
neuralosd sidecar --status
neuralosd sidecar --setup --with pypdf,pywinrm
neuralosd sidecar --setup --force

uv supplies its own CPython, so this works on a host with no usable
interpreter — which was the sidecar's one remaining limitation. The binary
then finds the environment automatically, with no environment variables.

Provisioning is always explicit: it touches the network, so it never happens
silently while answering a question.

How the sidecar decides

Situation Behaviour
all of a probe's imports resolve in the binary runs in-process (fast)
an import is missing, even lazily inside the function retried in the sidecar
probe declared tier="sidecar" always runs in the sidecar
missing import, no sidecar exits with pip install <lib> + the setup hint

NEURALOSD_SIDECAR=off disables delegation.

Verified on every platform

12-check CLI smoke · strict backend assertion · and three sidecar proofs:
without a helper the binary fails with pip install pypdf; with one it
returns a real PDF page count from a library it does not contain; and with a
uv-provisioned environment it does so with zero configuration.

Variants

Variant File Adds
base neuralosd-<platform> framework + docs + skills + model + Excel
boxlite neuralosd-boxlite-<platform> + the BoxLite microVM engine
msb neuralosd-msb-<platform> + the Microsandbox msb runtime

Full Changelog: v1.1.0...v1.2.0