Fuse - find where your system breaks, before it does. Statistically rigorous tipping-point detection, theorem-anchored via the sigma_c foundation paper.
Project description
FUSE
Try it without installing: huggingface.co/spaces/ForgottenForge/fuse
Know your breaking point.
You have a parameter you turn and a result you measure. FUSE tells you where the system breaks, how confident it is, and how far you are from the edge — in one function call, with a publication-ready report.
from fusepoint import analyze
card = analyze(x, y, current_x=0.01)
print(card.score) # 87
card.save("fuse_report.png")
What FUSE answers
- Where is the tipping point? Bootstrap confidence interval included.
- Is it real or noise? Permutation test against your own data, not an arbitrary threshold.
- How sharp is it? k = peak / mean (cliff vs gentle slope).
- How safe is the current operating point? Distance to the edge as a fraction of the parameter range.
- One number to act on. A 0-100 Stability Score combining the above.
All of this in a single StabilityResult you can print, .show(), or
.save("report.png").
Install
pip install fusepoint # core library
pip install "fusepoint[ui]" # + Streamlit web UI (fuse-ui)
Core dependencies: numpy, scipy, pandas, matplotlib, sigma-c-framework (theorem-anchored layer).
Two layers
FUSE ships two layers over the same data:
Statistical layer (default)
Bootstrap + permutation + 0-100 stability score. Works on any tabular data — no physics assumed.
from fusepoint import analyze
result = analyze(df, x="load", y="latency", current_x=5000)
print(result.score, result.grade) # 87 STABLE
print(result.critical_x, result.ci) # 7245.0 (6890, 7580)
Theorem-anchored layer (deep=True)
Adds regime classification, gamma_O stability indicator, and theorem citations — each output traceable to a proof in the foundation paper.
result = analyze(df, x="load", y="latency", deep=True)
print(result.regime) # "I_geom" (single mode, paper Thm 8.5)
print(result.gamma_O) # 24.3 (strict-SOC indicator)
print(result.citations) # ["def:sigmac", "thm:trichotomy-geometric", ...]
print(result.paper_doi) # "10.5281/zenodo.20548818"
The statistical layer scores how stable the system is. The theorem-anchored layer says which regime the system is in and which paper theorem licenses that reading.
What deep=True surfaces on top of regime + gamma_O
With sigma-c-framework >= 5.0, the theorem-anchored layer reports
three additional pieces of provenance on the diagnosis string:
- Branch-(ii) standing caveat for regime I. A single visible mode in the chi-profile of a single probe does not exclude a slower mode that this probe suppressed below the visibility threshold. The framework's published two-probe verification protocol is the standard cross-check; FUSE surfaces this caveat by default whenever a regime-I reading is returned from a single probe.
- Operational-floor flag. When the spectral-attribution gate sits at the threshold, the regime call is reported as a soft reading rather than an asymptotic one.
- Spectral type (gapped / III-pp / III-anom) when the input is an autocorrelation profile rather than a parameter sweep. Parameter sweeps (FUSE's default mode) leave this field empty.
These appear in result.diagnosis and result.regime_detail only
when deep=True; the default statistical layer is unchanged.
Quick start
Array mode
import numpy as np
from fusepoint import analyze
lr = np.linspace(1e-5, 0.1, 80)
loss = your_training_function(lr)
card = analyze(lr, loss, current_x=0.01,
x_name="Learning Rate", y_name="Loss",
label="Training Stability")
print(card.score) # 87 -- you're safe
print(card.critical_x) # 0.035 -- this is where it blows up
card.save("lr_report.png")
DataFrame mode
import pandas as pd
from fusepoint import analyze
df = pd.read_csv("server_metrics.csv")
card = analyze(df, x="concurrent_requests", y="response_time_ms",
current_x=5000, label="Production Server")
card.save("server_report.png")
Column names become axis labels automatically.
Scan mode
from fusepoint import scan
results = scan("data.csv") # auto-detect x, analyze every y column
results = scan(df, x="time", top_n=5) # explicit x, top 5
for r in results:
print(f"{r.y_name}: {r.score} ({r.grade})")
r.save(f"{r.y_name}_report.png")
Accepts CSV, TSV, JSON (Plotly, Elasticsearch, pandas formats), Excel, Parquet.
Compare mode
from fusepoint import compare
delta = compare(x, y_before, x, y_after,
current_x=0.2,
label_before="Before Fix",
label_after="After Fix")
print(delta.delta_score) # +18 points
delta.save("improvement.png")
Web UI
pip install "fusepoint[ui]"
fuse-ui
Drag-and-drop CSV upload, demo datasets included, scans every numeric column and renders the cards side by side.
The Stability Score
The Stability Score (0-100) combines four independently validated statistical components:
| Component | Weight | What it measures |
|---|---|---|
| Detection | 40% | Is the tipping point real? (permutation p-value) |
| Clarity | 20% | How sharp is it? (k = peak / mean ratio) |
| Precision | 15% | How precisely located? (CI width / range) |
| Safety | 25% | How far from the edge? (margin / range) |
The score is self-calibrating: detection is measured against your own data's null distribution, not against arbitrary thresholds.
What FUSE is not
- Not a curve fitter (use scipy for that).
- Not an anomaly detector (use isolation forests).
- Not a time-series tool (use
rupturesfor changepoint detection).
FUSE finds parameter-space tipping points — the critical value of a knob where your system's behaviour qualitatively changes — and tells you how confident it is.
Version history
| Version | What changed |
|---|---|
| 1.1.0 (current) | deep=True layer aligned to sigma-c-framework v5: surfaces the Branch-(ii) standing caveat on regime I, operational-floor flag, and spectral-type axis. Streamlit web UI forces dark theme. Explanation block visible on landing. |
| 1.0.x | Production release line. Streamlit UI bundled (fuse-ui). Theorem-anchored deep=True layer powered by sigma-c-framework v4. Dual licensure (AGPL + Commercial). |
| 0.1.0 | Initial PyPI release (renamed from fusekit). CLI / library only. |
Citation
When deep=True results inform a publication, please cite the foundation
paper:
Wurm, M. C. (2026). Operational scale selection: axioms, spectral concentration, and a regime trichotomy. Zenodo, doi:10.5281/zenodo.20548818.
License
Copyright (c) 2026 Forgotten Forge — forgottenforge.xyz
FUSE is dual-licensed: see LICENSE.
- AGPL-3.0-or-later for open-source and academic use
(
license_AGPL.txt). - Commercial licence available for use cases where AGPL obligations
are inappropriate (
license_COMMERCIAL.txt). Contactnfo@forgottenforge.xyz.
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 fusepoint-1.1.0.tar.gz.
File metadata
- Download URL: fusepoint-1.1.0.tar.gz
- Upload date:
- Size: 4.4 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
529207b79d3bc0c7e7d803f29d2ae1d24cfdb03d8d55343976357d7fd01c93c0
|
|
| MD5 |
97f9c72488768445e1646b46ce75cd02
|
|
| BLAKE2b-256 |
476096a4c2f7845d368cd28b654ed59f1d7aef8beeac51cf04b35737afac7d93
|
File details
Details for the file fusepoint-1.1.0-py3-none-any.whl.
File metadata
- Download URL: fusepoint-1.1.0-py3-none-any.whl
- Upload date:
- Size: 4.4 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
da7aa60711746bc577b6bea71ba5b5d994e633d2e3d428b6d75bda5d9830f057
|
|
| MD5 |
d7aa2932ef9f3dfe81e4beaccb3bf7ce
|
|
| BLAKE2b-256 |
162b68d1a5b6c8a4f41aa8e230fae1eb6f84d551338598d72028b6bd82b91875
|