Skip to main content

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:

  1. 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.
  2. The learning math lives server-side. nerv only 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-code prints a ready .mcp.json + prompt + run command. Without NM_API_TOKEN set, the config is header-free and your client discovers OAuth on first use.
  • Any MCP-capable agent (Claude Desktop, Cursor, custom): --emit prints the prompt + server contract to wire in.
  • Headless / CI: --agent anthropic drives Claude's API directly with your ANTHROPIC_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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nerv_cli-0.1.0.tar.gz (45.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nerv_cli-0.1.0-py3-none-any.whl (50.9 kB view details)

Uploaded Python 3

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

Hashes for nerv_cli-0.1.0.tar.gz
Algorithm Hash digest
SHA256 b6a2232370a7e1c3cd3967f326902d85b7108b85e1dde1d5bb92ff25f9041da7
MD5 86d932b1fe38b797849638c1c883fead
BLAKE2b-256 64269cb534912a9aeeefb89d7279fd344482f2647e98bbc9e2cfe5e6f7dcb384

See more details on using hashes here.

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

Hashes for nerv_cli-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8ef8ac720a7afee90d47633f2c433f3a42eebbd661505fda87d4fdd0ab1df7c1
MD5 96ac45ea7390ce5253be31b074fd3db0
BLAKE2b-256 99ef8734553adb521ee71a7e3cd016be54b7e159af7763713303277ef31c0d99

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page