# noodlelab

> Verifiable science for people and AI agents: physical units and GUM measurement
> uncertainty on every number, requirements checked with margins, checks, and a
> provenance record (inputs, code hash, git commit, files, environment) of every run.
> A Python library (`noodlelab.verify`), a CLI (`noodlelab verify` audits scripts and
> graphs), an MCP server (`noodlelab mcp`) and a browser node editor with PDF reports.

Install with `pip install noodlelab` (the library), `noodlelab[app]` (the editor)
or `noodlelab[full]` (every node pack). In a project, `noodlelab init-agent`
sets up AGENTS.md, CLAUDE.md, a skill and `.mcp.json` for coding agents. Before
saying the work is done, run `noodlelab verify <script.py|graph.json> --json`: exit
code 0 means every check passed and every requirement was verified.

## Docs

- [Guide for agents](https://nkalis.github.io/noodlelab/stable/agents/guide.html): the rules, the Python API, the graph format and the workflow
- [Quickstart](https://nkalis.github.io/noodlelab/stable/agents/quickstart.html): a verified calculation in ten lines, and what `noodlelab verify` reports
- [Adopting noodlelab in a project](https://nkalis.github.io/noodlelab/stable/agents/adopt-in-existing-project.html): the steps for "make my project verifiable"
- [Graphs and reports](https://nkalis.github.io/noodlelab/stable/agents/graphs-and-reports.html): building node graphs and PDF reports over MCP or as JSON
- [AGENTS.md](https://nkalis.github.io/noodlelab/stable/agents/agents.html): using noodlelab, and working on this repository
- [README](https://nkalis.github.io/noodlelab/stable/): what noodlelab is, a verified calculation in Python, who it is for, the audit, the editor, working with AI agents, shared servers (roles, remote storage, Slurm), install, command line
- [Installation](https://nkalis.github.io/noodlelab/stable/installation.html): the tiers and every node in each
- [The editor](https://nkalis.github.io/noodlelab/stable/editor.html): requirements, tracked values, examples
- [Shared servers](https://nkalis.github.io/noodlelab/stable/server.html): roles, guest links, Slurm, Docker, the Agent panel's safeguards
- [Remote storage](https://nkalis.github.io/noodlelab/stable/storage.html): mounting S3, GCS, Azure, SFTP and network shares, and reading files in nodes

## API

- [noodlelab.verify](https://nkalis.github.io/noodlelab/stable/reference/api.html): record(), measure(), q(), requirements(), verify(), monte_carlo(), audit(), @traced
- [MCP tools](https://nkalis.github.io/noodlelab/stable/agents/mcp.html): guide, list_nodes, describe_node, list/get/copy_example, list/get/save/edit/check/run_graph, requirements, verify
- [Graph document schema](https://nkalis.github.io/noodlelab/stable/reference/graph-schema.html)
- [Everything in one file](https://nkalis.github.io/noodlelab/stable/llms-full.txt): the guide, the API, core concepts, the command line, every node and the examples

## Optional

- [Examples](https://nkalis.github.io/noodlelab/stable/editor.html#examples): 25 graphs, from getting started to a satellite link budget (23), a cantilever bracket (24) and a controller for two masses on springs (25) with requirements and reports
- [Writing node packs](https://nkalis.github.io/noodlelab/stable/#writing-a-node)
