# 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://github.com/nkalis/noodlelab/blob/main/src/noodlelab/agent/guide.md): the rules, the Python API, the graph format and the workflow
- [Quickstart](https://github.com/nkalis/noodlelab/blob/main/docs/agents/quickstart.md): a verified calculation in ten lines, and what `noodlelab verify` reports
- [Adopting noodlelab in a project](https://github.com/nkalis/noodlelab/blob/main/docs/agents/adopt-in-existing-project.md): the steps for "make my project verifiable"
- [Graphs and reports](https://github.com/nkalis/noodlelab/blob/main/docs/agents/graphs-and-reports.md): building node graphs and PDF reports over MCP or as JSON
- [AGENTS.md](https://github.com/nkalis/noodlelab/blob/main/AGENTS.md): using noodlelab, and working on this repository
- [README](https://github.com/nkalis/noodlelab/blob/main/README.md): what noodlelab is, the three ways in (Agent panel, MCP in your project, Python), the editor, install, command line
- [Installation](https://github.com/nkalis/noodlelab/blob/main/docs/installation.md): the tiers and every node in each
- [The editor](https://github.com/nkalis/noodlelab/blob/main/docs/editor.md): requirements, tracked values, examples
- [Shared servers](https://github.com/nkalis/noodlelab/blob/main/docs/server.md): roles, guest links, Slurm, Docker, the Agent panel's safeguards

## API

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

## Optional

- [Examples](https://github.com/nkalis/noodlelab/blob/main/src/noodlelab/examples): 24 graphs, from getting started to a satellite link budget (23) and a cantilever bracket (24) with requirements and reports
- [Writing node packs](https://github.com/nkalis/noodlelab/blob/main/examples/noodlelab-example-pack)
