Skip to main content

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

PyPI Python License: AGPL v3 Commercial License Paper DOI Live demo

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 ruptures for 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). Contact nfo@forgottenforge.xyz.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fusepoint-1.1.0.tar.gz (4.4 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fusepoint-1.1.0-py3-none-any.whl (4.4 MB view details)

Uploaded Python 3

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

Hashes for fusepoint-1.1.0.tar.gz
Algorithm Hash digest
SHA256 529207b79d3bc0c7e7d803f29d2ae1d24cfdb03d8d55343976357d7fd01c93c0
MD5 97f9c72488768445e1646b46ce75cd02
BLAKE2b-256 476096a4c2f7845d368cd28b654ed59f1d7aef8beeac51cf04b35737afac7d93

See more details on using hashes here.

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

Hashes for fusepoint-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 da7aa60711746bc577b6bea71ba5b5d994e633d2e3d428b6d75bda5d9830f057
MD5 d7aa2932ef9f3dfe81e4beaccb3bf7ce
BLAKE2b-256 162b68d1a5b6c8a4f41aa8e230fae1eb6f84d551338598d72028b6bd82b91875

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page