Epistemic infrastructure for AI scientists
Project description
Verify your AI scientists' findings the way science verifies itself
signed provenance · independent replication · human validation · local-first
Quickstart · Docs · Examples
Mareforma is a local-first library where AI scientists record their findings as claims. Each claim cites the claims it builds on and can contradict others, forming a knowledge graph. Trust is read from that graph, not from the agents' self-reported confidence.
The silent failure it catches
The most dangerous result an AI scientist returns is the one that looks right but never touched the data. A step fails quietly, the model fills the gap from memory, and the answer is indistinguishable from a real one.
graph.assert_claim(
finding_text,
# The one line that breaks the symmetry: classification records
# whether real data reached the result, or the model filled the gap.
classification="ANALYTICAL" if data_ran else "INFERRED",
generated_by="agent/lab-a",
source_name=dataset_id if data_loaded else None,
)
Ask for grounded, replicated claims and the fabricated one drops out: still recorded and traceable, never trusted. Example 05 runs this against a real research agent.
Install
uv add mareforma
mareforma bootstrap # optional: sign your claims and enable the public log
Capabilities
| What you get | What it does |
|---|---|
| Signed claims | Each claim shows who stands behind it and cannot be altered unnoticed. |
| Grounding check | Records whether a finding actually rests on data it read, or on the model's memory. |
| Independently verifiable | Anyone can re-check a claim, or a whole exported bundle, without trusting whoever produced it. |
| Optional public log | Publish a claim to a public, append-only log for an independent, timestamped record. |
| Local-first | Runs on local SQLite. Network only for the optional log. |
The trust ladder
A claim's support level is read from the graph, never self-reported. High-trust claims are re-checked against their signatures on every read, so a tampered claim in a shared graph is caught when you query, not served.
| Level | Meaning |
|---|---|
PRELIMINARY |
One agent asserted it. No independent agreement yet. |
REPLICATED |
Two independent agents, signing with different keys, reached the same result on a shared established finding. Independence is the key, so relabeling cannot fake it. |
ESTABLISHED |
A human reviewer signed off, listing the evidence they checked. |
Classification is a separate axis the agent declares: INFERRED (model reasoning), ANALYTICAL (analysis run against real data), DERIVED (built on higher-trust claims). Ask for both at once: graph.query(text, min_support="REPLICATED", classification="ANALYTICAL").
Examples
| Example | What it shows | |
|---|---|---|
| 01 | API Walkthrough | The full API in one runnable script |
| 02 | Compounding Agents | Findings accumulate across agent runs |
| 03 | Documented Contestation | An agent challenges established consensus |
| 04 | Private Data, Public Findings | Two labs share provenance without sharing data |
| 05 | Drug Target Provenance | A real research agent with honest evidence labels |
AGENTS.md: execution contract and adapters ·
ARCHITECTURE.md: system design ·
SECURITY.md: threat model ·
CONTRIBUTING.md: dev workflow ·
CHANGELOG.md: releases
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 mareforma-0.3.8.tar.gz.
File metadata
- Download URL: mareforma-0.3.8.tar.gz
- Upload date:
- Size: 503.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1b09555d75034fe7b0283942006898c98965263e7ce402e1241e5b6fc7b57dbf
|
|
| MD5 |
67c067c68b4ac5ce8e29f8fb8724fc35
|
|
| BLAKE2b-256 |
dc2c2e9ff135c21d5db3ba23b9471c2c4b708270237ac968f054cc5d1d0ca8f1
|
Provenance
The following attestation bundles were made for mareforma-0.3.8.tar.gz:
Publisher:
publish.yml on mareforma/mareforma
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mareforma-0.3.8.tar.gz -
Subject digest:
1b09555d75034fe7b0283942006898c98965263e7ce402e1241e5b6fc7b57dbf - Sigstore transparency entry: 2098631290
- Sigstore integration time:
-
Permalink:
mareforma/mareforma@1ffea6855b415191aad8891ece3a119d54e76059 -
Branch / Tag:
refs/tags/v0.3.8 - Owner: https://github.com/mareforma
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@1ffea6855b415191aad8891ece3a119d54e76059 -
Trigger Event:
release
-
Statement type:
File details
Details for the file mareforma-0.3.8-py3-none-any.whl.
File metadata
- Download URL: mareforma-0.3.8-py3-none-any.whl
- Upload date:
- Size: 360.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5d87554495e4eee36b44409db073bca73a6ac6732bd58a8e37166738d0664f33
|
|
| MD5 |
bd7ce91701faaa85e0003735aa266fc8
|
|
| BLAKE2b-256 |
41b13886a7c7700b5ac20ec6703abfcb020e5c713ae29335699ece988b86f6ea
|
Provenance
The following attestation bundles were made for mareforma-0.3.8-py3-none-any.whl:
Publisher:
publish.yml on mareforma/mareforma
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mareforma-0.3.8-py3-none-any.whl -
Subject digest:
5d87554495e4eee36b44409db073bca73a6ac6732bd58a8e37166738d0664f33 - Sigstore transparency entry: 2098631770
- Sigstore integration time:
-
Permalink:
mareforma/mareforma@1ffea6855b415191aad8891ece3a119d54e76059 -
Branch / Tag:
refs/tags/v0.3.8 - Owner: https://github.com/mareforma
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@1ffea6855b415191aad8891ece3a119d54e76059 -
Trigger Event:
release
-
Statement type: