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)
| 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)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| 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.