Skip to main content

Manifold

Manifold runs live nodes on your Mac and shows them to people and agents at once. Each node publishes one value. People see it as a card on a canvas. Agents read it as text and press its actions from the command line. A manifold is a set of nodes arranged for a purpose: a trading desk, a research queue, a household.

It runs on your machine with your accounts. Other machines join by invitation and see what you grant them. No one's code runs on anyone else's machine.

This release is for macOS. Apple silicon gets the Rust door; Intel Macs run the Python door. Python 3.11 or newer.

Install

uv tool install manifold-ai

This installs the manifold command on its own, fetching Python 3.13 if your Mac has nothing new enough. uv is brew install uv. With Python 3.11 or newer already installed, pip install manifold-ai or pipx install manifold-ai do the same. A Mac's built-in python3 is 3.9, which is too old.

First manifold

manifold new desk --purpose "where the market stands" --section Market
manifold service install         # the core runs at login and stays up; or run it now with: manifold core
manifold open                    # the canvas, in your browser

Place nodes from the library, a thousand node types in a hundred domains. manifold library lists them; the canvas shows them as a gallery.

manifold -m desk place stocks/quote Market symbol=^GSPC name="S&P 500"
manifold -m desk approve quote   # a type that reaches outside through a tool runs once you approve it
manifold -m desk ls              # what an agent reads: every card's headline values
manifold -m desk cat quote       # one card in full

A node that needs a key asks for it by name. manifold key add stores it in the macOS keychain, and it goes only to the tool you approved it for.

Agents

Any agent with a shell works a manifold through the same commands a person uses. One run of Claude Code or Codex with Manifold as its tool:

manifold -m desk agent "say where the S&P stands and whether volatility is high" --can act

Agents that live in a manifold, with a standing task and a schedule: manifold -m desk agents new …. An agent runs only on its own machine, on your own sign-in. No machine starts an agent on another.

An agent's learning outlives its run through the memory node (manifold place agents/memory Knowledge): one fact per line, with where it came from and the day, written with do remember, revised or forgotten by id, read by the next agent on any machine the section is shared with. It is a node like any other, so grants and feeds apply to it.

A fast, typed judgment — a probability, a pick, a grade — comes from a System One model through the systemone tool and the judge node (manifold place agents/judge Knowledge). Set the tool up once on a machine: manifold key add TYPESAFE_API_KEY for TypeSafe's jev, or manifold tool set systemone provider=local url=… for a model on this machine, or provider=custom for any host that speaks the System One shape. Then any agent asks do judge ask state=… question=…, and every judgment is logged on the card with what it cost.

Other machines

A manifold runs on one machine. Any other machine, yours or a friend's, joins with a one-time invitation:

manifold -m desk share --role build       # on the machine the manifold lives on: prints an invitation
manifold join mf2.…                       # on the other machine

Roles: read (ls, cat), act (also press actions), build (also place, set, move and remove nodes). Approving, inviting and keys never leave the machine the manifold runs on. A private section is invisible to everyone you share with until you open it to one of them by name:

manifold -m desk private Account
manifold -m desk members allow "MacBook Air" Account

Your devices keep a copy of what they may see, so they can read the manifold while the machine it runs on is off.

Where things are

your manifolds, keys' names, feeds ~/.manifold (or MANIFOLD_HOME)
a manifold a folder: layout.json, nodes/<type>/ (node.json, node.py, view.html), docs/
the node library shipped in the package; MANIFOLD_LIBRARY points elsewhere
the door the process that carries connections between machines (Rust; door/ in the source)
the canvas http://127.0.0.1:8730

The package contains code, the node library with synthetic sample data, and the door binary; nothing from the machine it was built on. Everything you make lives in your home folder. A key goes to the macOS keychain, never to a file. Nothing leaves your machine except what you grant to a machine you invited, through the door.

Building a node

A node is three files. node.json says what it answers, its settings and the shape of its value. node.py has gather(m, s), which returns the value, and act_<name>(m, s, …) for each action. view.html draws the card. manifold bench <folder> --save --shot runs one without a core. library/GUIDE.md is how library nodes are built.

Development

git clone … && cd manifold && uv venv --python 3.13 && uv pip install -e ".[dev]"
(cd door && cargo build --release)          # the door; without it the Python door runs
.venv/bin/python -m pytest -q

DECISIONS.md holds every design decision with its reason and what would prove it wrong. AUDIT.md records what a hostile machine was tried against and what remains unproven. Apache-2.0.

Metadata

Release files for manifold-ai 2.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for manifold-ai 2.0.0
File Size Uploaded
manifold_ai-2.0.0.tar.gz 12.9 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for manifold-ai 2.0.0
File Interpreter ABI Platform
manifold_ai-2.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 28.2 MB

Release files / manifold_ai-2.0.0.tar.gz

Download URL manifold_ai-2.0.0.tar.gz
Size 12.9 MB
Tags Source
SHA-256 checksum
How to use checksums
295c9b34934d805353ed6d1198a86b882c2681aa0c71d9eea23c83cf99c0c302
BLAKE2b-256 checksum
How to use checksums
5afe68d5b7b09a7f90b3d06504895bb02e8c4a892b6dad6778f0e4f0fc5c3842
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.3

Release files / manifold_ai-2.0.0-py3-none-any.whl

Download URL manifold_ai-2.0.0-py3-none-any.whl
Size 15.3 MB
Tags Python 3
SHA-256 checksum
How to use checksums
aca5f374cd2094ef988cf9321ee287242bfbfd9c41b625f5c4e41ffbe874c56a
BLAKE2b-256 checksum
How to use checksums
a0e3489b77af60b02270a504e597ab3cbe19f5bfb3142eb7db40c9618d21b521
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.3

Release history Release notifications | RSS feed

2.9.1

2 release files

2.9.0

2 release files

2.8.8

2 release files

2.8.7

2 release files

2.8.6

2 release files

2.8.5

2 release files

2.8.4

2 release files

2.8.3

2 release files

2.8.2

2 release files

2.8.1

2 release files

2.8.0

2 release files

2.7.5

2 release files

2.7.4

2 release files

2.7.3

2 release files

2.7.2

2 release files

2.7.1

2 release files

2.7.0

2 release files

2.6.0

2 release files

2.5.1

2 release files

2.5.0

2 release files

2.4.0

2 release files

2.3.0

2 release files

2.2.2

2 release files

2.2.1

2 release files

2.2.0

2 release files

2.1.3

2 release files

2.1.2

2 release files

2.1.1

2 release files

2.1.0

2 release files

2.0.7

2 release files

2.0.6

2 release files

2.0.5

2 release files

2.0.4

2 release files

2.0.3

2 release files

2.0.2

2 release files

2.0.1

2 release files

This release

2.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page