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 (verified against the published 0.1.0). 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.1

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.1
File Size Uploaded
probative-0.1.1.tar.gz 944.5 kB Details

Built distribution (wheel)

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

Total release size: 1.1 MB

Release files / probative-0.1.1.tar.gz

Download URL probative-0.1.1.tar.gz
Size 944.5 kB
Tags Source
SHA-256 checksum
How to use checksums
7b83760dba456fd17feb6baca4a1ddf9a97e0ee05055b02924d9769458c6869c
BLAKE2b-256 checksum
How to use checksums
b85b0aa67e1b4e46bbcda529405caada875764b89743c61ca443cd70f0e46469
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.1-py3-none-any.whl

Download URL probative-0.1.1-py3-none-any.whl
Size 140.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9c4409fcaaaf10c8b3bc429ee4274dc5ff24db847c656ec2d14d221724c991b9
BLAKE2b-256 checksum
How to use checksums
d7dea3b7f6aa3bd508496243ee6617a1d465518f84c047e545018ab93e2a196f
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

This release

0.1.1 This release

2 release files

0.1.0

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