Skip to main content

fiduciarybench

FiduciaryBench, by WealthSchema — an open benchmark of AI behavior in regulated wealth-management work: Reg BI suitability, required-minimum-distribution mechanics, and wash-sale mechanics.

Every answer key is computed by code or derived from a quoted primary-source passage (SEC, FINRA, IRS/Treasury, U.S. Code) that exact-matches a locally held, versioned corpus. Open-web knowledge is inadmissible by construction. Full methodology, item provenance, and the standing challenge policy: https://www.wealthschema.com/benchmark

Install

pip install fiduciarybench

No dependencies. Python 3.9+.

Run a model against the public split

export GEMINI_API_KEY=…            # or ANTHROPIC_API_KEY / OPENAI_API_KEY / DEEPSEEK_API_KEY
fiduciarybench run \
  --provider gemini --model gemini-2.5-pro \
  --items fiduciarybench-public.json \
  --out report.json

Providers: anthropic, openai, gemini, deepseek, mistral, together. Runs request temperature 0; model families that reject the temperature parameter outright (the Claude 5 family, GPT-5.x reasoning models) run at provider default, and the report's sampling / sampling_notes fields say so — the sampling regime of every run is on the record. Scoring is deterministic either way: computed items score within the item's stated tolerance; derived items require the exact option id. A response the scorer cannot parse counts as incorrect and is tallied as a parse failure in the report.

Score your own transcripts

For a model with no runner here (or an in-house system), produce a JSON object of item id → response text and score it offline:

fiduciarybench score --items fiduciarybench-public.json \
  --responses responses.json --model-label my-system --out report.json

As a library

from fiduciarybench import load_items, score_item, aggregate

items = load_items("fiduciarybench-public.json")
results = [score_item(item, my_model(item)) for item in items]
print(aggregate(results))

What the public split is (and is not)

The public split is the open, citable subset. A held-out split of the same families backs private evaluation runs and anti-gaming rotation and never ships. Training on the public split is not license-restricted, but a score on a memorized split is a score on memory — the held-out split exists to catch exactly that.

Challenge policy

Every item carries its provenance: cited passages, derivation or compute id, verifier record, version history. If you can demonstrate an answer key is wrong, the erratum is published conspicuously and credited to you. benchmark@wealthschema.com

Metadata

Release files for fiduciarybench 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fiduciarybench 0.1.2
File Size Uploaded Provenance Actions
fiduciarybench-0.1.2.tar.gz 8.9 kB Without provenance Details for fiduciarybench-0.1.2.tar.gz

Built distribution (wheel)

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

Total release size: 19.4 kB

Release files / fiduciarybench-0.1.2.tar.gz

Download URL fiduciarybench-0.1.2.tar.gz
Size 8.9 kB
Tags Source
SHA-256 checksum
How to use checksums
0b0916a5c347808a83708f4f943e9725657fb07f760c7a0863d646c3dcbeea60
BLAKE2b-256 checksum
How to use checksums
95ce1a15e250a6a6d4f5ceb889b5faa0e55a0004add172b27e538fcda0768009
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.15

Release files / fiduciarybench-0.1.2-py3-none-any.whl

Download URL fiduciarybench-0.1.2-py3-none-any.whl
Size 10.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
69ade38be5a084af0d583c5b53a3d4ba06bb5dc220589e8642441a5cdccc055b
BLAKE2b-256 checksum
How to use checksums
3fe0d86a14bb5e18d13735936dd39fbe5680631bde508edc880ae66aa614bfb0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.15

Security for fiduciarybench 0.1.2

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files No provenance

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