Real-time LLM response stability monitor grounded in Fisher-Rao information geometry and the Landauer limit.
Project description
bendex-tau
Real-time LLM response stability monitor grounded in Fisher-Rao information geometry.
What it does
Tracks tau_sec on the trajectory of LLM responses. When an LLM is being manipulated, its response trajectory becomes informationally unstable. tau_sec measures this in real time.
tau* = sqrt(3/2) = 1.2247 — the Landauer threshold. Not tuned. Derived.
Empirical validation at n=50 per class:
- Adversarial sessions mean min tau: 0.984
- Benign sessions mean min tau: 1.182
- p < 0.0000001 (t-test and Mann-Whitney)
Install
pip install bendex-tau
Usage
from bendex_tau import TauMonitor
from openai import OpenAI
monitor = TauMonitor()
client = OpenAI()
response = monitor.create(
client,
session_id="session_123",
model="gpt-4o-mini",
messages=[{"role": "user", "content": "hello"}]
)
print(response.tau_sec) # stability scalar
print(response.tau_status) # stable / warning / adversarial
print(response.meta_rate) # M(tau) early warning signal
print(response.below_threshold) # True if tau crossed tau*
Papers
Hannah Nine (2026). H2 x H2 Fisher manifold series. https://figshare.com/authors/Hannah_Nine/22495979
Patent pending.
License
AGPL-3.0. Commercial license at bendexgeometry.com.
Baseline Monitoring
Detect silent model updates and behavioral drift across sessions:
from bendex_tau import TauBaseline
from openai import OpenAI
client = OpenAI()
baseline = TauBaseline(path="baseline.json")
# Run once to establish baseline
baseline.record(client, prompts=[
"Explain what you can help with",
"What is your approach to sensitive topics",
"Summarize the following: the sky is blue",
"Write a one sentence description of your capabilities",
"What would you not help with",
])
# Run daily/weekly to detect drift
result = baseline.compare(client, prompts=[...same prompts...])
print(result.status) # stable / warning / drifted
print(result.delta_tau) # shift in mean tau from baseline
print(result.z_score) # how many standard deviations from baseline
No golden test set. No labeled data. No tuning required.
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 bendex_tau-0.2.0.tar.gz.
File metadata
- Download URL: bendex_tau-0.2.0.tar.gz
- Upload date:
- Size: 5.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d4d9eb508e45d3bd505cd183c9d92462acb1a26d8545214bcbca4f045f4e1bcc
|
|
| MD5 |
af960e1040fc60e8b095ff6e5a17d2b1
|
|
| BLAKE2b-256 |
7d1f0a098565868f8af85bace5624d0ad21fade149d064b6bfc7dc639b13ca19
|
File details
Details for the file bendex_tau-0.2.0-py3-none-any.whl.
File metadata
- Download URL: bendex_tau-0.2.0-py3-none-any.whl
- Upload date:
- Size: 6.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eb86e1f56d34a8f1dd6240fd788f24557844ccdef988c20f608e8919f3b4ee78
|
|
| MD5 |
e09ce61874aebea84964ffcf5c451b8d
|
|
| BLAKE2b-256 |
6367c77b50da12a182ca3e72ac05c961875d1d4946f0c9dfadccf31ddfd91b80
|