Skip to main content

Probative

Probative is an evidence-grounded, multi-agent product discovery toolkit. It takes documents, research and delivery history and produces discovery artifacts in which every claim either cites the source it came from or is labelled a hypothesis with a test attached.

Status: in development. Phases are tracked in PHASES.md. Nothing beyond the foundation (PB0) is built yet — see docs/GETTING-STARTED.md for what v0.1 will do.

Install

uv tool install probative      # or: pipx install probative

Or run it once with nothing to undo:

uvx probative --version

Use it as a Claude plugin

In Claude Code (needs uv on the machine):

/plugin install probative --marketplace vedm1/probative
/probative:setup

/probative:setup runs doctor, shows what the server sees, and tells you the one thing that is missing. The API key is entered with /plugin configure probative@probative (Claude Code's own prompt for a sensitive option) or exported as ANTHROPIC_API_KEY before you start Claude; it is never typed into the chat. Then /probative:critique path/to/prd.pdf. /probative:doctor re-checks the configuration at any time.

The plugin runs uvx --from 'probative[mcp]' probative mcp, so it works once a release is on PyPI; until then use the MCP entry below. Whether Cowork loads this plugin is unverified.

Use it from Claude (MCP)

probative mcp serves critique and doctor (a read-only configuration check) to any MCP client over stdio. It needs the extra:

pip install 'probative[mcp]'

Claude Desktop / Claude Code server entry:

{
  "mcpServers": {
    "probative": {
      "command": "probative",
      "args": ["mcp"],
      "env": {
        "ANTHROPIC_API_KEY": "<your key>",
        "PROBATIVE_MCP_ROOTS": "/path/to/your/specs"
      }
    }
  }
}

The tool reads only inside PROBATIVE_MCP_ROOTS (default: the server's working directory) and writes reports to <first root>/probative-reports/. A run takes 30 to 65 seconds; see OI28 in PROBATIVE_BUILD_PLAN.md for the client-timeout caveat.

Develop

Requires uv and Python 3.12+.

git clone https://github.com/vedm1/probative.git
cd probative
uv sync --all-groups
uv run probative --version
uv run pytest              # passes with no LLM credentials in the environment
uv run ruff check
uv run ruff format --check
uv run mypy src

Copy .env.example to .env and set a provider key if you want to exercise the LLM adapter locally. The default test suite never needs one — see CLAUDE.md § Tests run without an API key.

Why "probative"

Probative is the legal standard for whether evidence actually tends to prove a fact. That's the whole point of this project: every claim in every artifact traces to a line in a document you gave it, or it's marked a hypothesis with a test attached. No number is ever generated by a model — every numeric field is computed by a registered, unit-tested function.

Learn more

The method comes from Dan Olsen's The Lean Product Playbook. Probative implements it; it doesn't replace understanding it.

License

Apache-2.0

Metadata

Release files for probative 0.1.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 probative 0.1.0
File Size Uploaded
probative-0.1.0.tar.gz 944.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for probative 0.1.0
File Interpreter ABI Platform
probative-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 1.1 MB

Release files / probative-0.1.0.tar.gz

Download URL probative-0.1.0.tar.gz
Size 944.4 kB
Tags Source
SHA-256 checksum
How to use checksums
4ebbddf5a21b4e9745b40118979063a042f800c7e53fab5ea1340317c20988e4
BLAKE2b-256 checksum
How to use checksums
5da0be242e5ea66372d6e0ba92a5a05e5f90e973e88af5a21543e138d002d63f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 10, 2026.

Transparency log

Release files / probative-0.1.0-py3-none-any.whl

Download URL probative-0.1.0-py3-none-any.whl
Size 140.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
786ed29b805580131a383f15895548969468225a3255df5c1402025da1658d3e
BLAKE2b-256 checksum
How to use checksums
3ea86ea7920d1cf04be92eb1068eeb2767d5d96d4e4db6897af3392282b456b6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 10, 2026.

Transparency log

Release history Release notifications | RSS feed

0.1.1

2 release files

This release

0.1.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