Nervous Machine CLI — compose/deploy/sync a self-learning causal graph against the deployed NM MCP servers. Orchestration only: the learning math lives server-side and, for devices, in a compiled sha256-pinned kernel artifact. No kernel or framework source ships in this package.
Project description
nerv — the Nervous Machine CLI
Compose, deploy, and sync a self-learning causal graph against the deployed Nervous Machine servers. Domain experts write two YAML files; an agent orchestrates the rest; devices learn autonomously with a compiled kernel.
Two rules separate nerv from demo-ware:
- Call the deployed servers or fail — never fabricate. No dry-run mode that prints plausible numbers. Misconfig/auth → it raises; a tool error → the real error surfaces.
- The learning math lives server-side.
nervonly orchestrates. Device deploys receive the kernel as a compiled, sha256-pinned artifact fetched with your own credential — never as source. The bundle's loader re-verifies the hash and replays a golden trajectory before first use.
Setup
pip install nerv-cli
nerv login # OAuth sign-in with your issued User ID + access key
Operators with a static NM_API_TOKEN can set it in the environment instead;
nerv login is the customer path (tokens cached, auto-refresh, pod-scoped
server-side by your credential).
The lifecycle
nerv new my-domain --namespace <your-ns> # scaffold the no-code kit: yamls + SKILL.md + AUTHORING.md
nerv compose prior my-domain --check-only # conformance pass, then collaborative composition
nerv compose validation my-domain # validation pipeline + REQUIRED scale test
nerv deploy my-domain --target pi # gated bundle: compiled kernel, hash-pinned MANIFEST
nerv sync my-domain --device <bundle-dir> # consume the device outbox
No learning before the calibration slice freezes the measurement scale — the
deploy refuses without a passing scale test, on purpose. On the device,
learning is autonomous (kernel only — no LLM, no network) and queues typed
signals in results/outbox.jsonl: anomaly (acute) / curiosity (chronic) /
promote (earned). sync is idempotent: promote writes back to your pod's
global prior deterministically (dry-run by default; --apply-promotes
writes); curiosity/anomaly become agent proposals for your review.
Patches ship only new low-certainty edges — existing learned state is
verified byte-identical or the deploy refuses.
Bring your own agent (MCP is the contract)
The deployed MCP servers are the fixed contract; the agent is swappable:
- Claude Code (recommended interactive):
--emit claude-codeprints a ready.mcp.json+ prompt + run command. WithoutNM_API_TOKENset, the config is header-free and your client discovers OAuth on first use. - Any MCP-capable agent (Claude Desktop, Cursor, custom):
--emitprints the prompt + server contract to wire in. - Headless / CI:
--agent anthropicdrives Claude's API directly with yourANTHROPIC_API_KEY.
introspect is the observational loop (read-only): per edge it reads live
certainty/weight and judges validating / revised / stalled — "I don't
know yet" over a forced cause. Acting on a hypothesis is the separate
curiosity/patch step, additive only.
Access & license
The CLI is Apache-2.0 (see LICENSE/NOTICE). The servers, the compiled kernel artifacts, and hosted graph state are separate licensed services — using them requires credentials issued by Nervous Machine, and every write is fenced to your pod namespace server-side.
Contact: heidi@everychart.io
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file nerv_cli-0.1.0.tar.gz.
File metadata
- Download URL: nerv_cli-0.1.0.tar.gz
- Upload date:
- Size: 45.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b6a2232370a7e1c3cd3967f326902d85b7108b85e1dde1d5bb92ff25f9041da7
|
|
| MD5 |
86d932b1fe38b797849638c1c883fead
|
|
| BLAKE2b-256 |
64269cb534912a9aeeefb89d7279fd344482f2647e98bbc9e2cfe5e6f7dcb384
|
File details
Details for the file nerv_cli-0.1.0-py3-none-any.whl.
File metadata
- Download URL: nerv_cli-0.1.0-py3-none-any.whl
- Upload date:
- Size: 50.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8ef8ac720a7afee90d47633f2c433f3a42eebbd661505fda87d4fdd0ab1df7c1
|
|
| MD5 |
96ac45ea7390ce5253be31b074fd3db0
|
|
| BLAKE2b-256 |
99ef8734553adb521ee71a7e3cd016be54b7e159af7763713303277ef31c0d99
|