First-principles signal analysis and domain-aware hardware diagnostics without training data, protocol libraries, or client-side GPUs.
Send a time-series to /api/characterise, or use /api/v1/diagnose for hardware-aware routes including NV diamond, Jaynes-Cummings, topological screening, correlated loss, QEC syndrome, and qubit degradation.
Sparseical routes add sparse-state evidence, hardware capture validation, and repo-side compute artefacts with strict claim boundaries.
Prepend this host to every path below (e.g. /api/characterise, /api/v1/diagnose). Send header X-API-Key on authenticated routes.
Custom ChatGPT with Actions wired to this API — run live phenomenon fixtures, hardware diagnose routes, and qubit polling without uploading large trace files.
Open in ChatGPT →The API accepts raw time-series data — voltage samples, IQ pairs, ADC readings — and returns a structural characterisation of what the signal is doing. It works on radio signals, sensor streams, financial data, or any continuous measurement.
Your data is converted into state-space trajectories. Adaptive thresholding identifies significant state transitions. Unsupervised anomaly gating filters noise. Spike-based coincidence scoring measures structural similarity. Multi-lag autocorrelation captures temporal patterns. Twelve mathematical signature detectors are defined for the product; seven are live in API v1.0 and may appear in phenomena_detected.
The pipeline runs server-side. You receive only the characterisation — classification tags, temporal profile, anomaly level, and any triggered live detectors.
All paths are relative to https://signal.sparse-supernova.com
{"name":"..."})
Sparseical PC Compute Runtime artefacts are repo-side. They do not add live Worker execution routes in API v1.0.
Runnable request — valid JSON below with 128 finite samples. Copy or use Load characterise example in Try It.
POST /api/characterise
X-API-Key: demo-sparse-supernova-2026
Content-Type: application/json
{
"samples": [
0,
0.0747,
0.1478,
0.2175,
0.2823,
0.3408,
0.3917,
0.4337,
0.466,
0.4879,
0.4987,
0.4984,
0.4869,
0.4645,
0.4316,
0.389,
0.3377,
0.2788,
0.2137,
0.1437,
0.0706,
-0.0042,
-0.0789,
-0.1518,
-0.2213,
-0.2858,
-0.3439,
-0.3943,
-0.4358,
-0.4675,
-0.4888,
-0.499,
-0.4981,
-0.486,
-0.4629,
-0.4295,
-0.3864,
-0.3346,
-0.2753,
-0.2099,
-0.1397,
-0.0664,
0.0084,
0.083,
0.1558,
0.225,
0.2892,
0.3469,
0.3968,
0.4378,
0.469,
0.4896,
0.4993,
0.4977,
0.4849,
0.4613,
0.4273,
0.3837,
0.3315,
0.2718,
0.2061,
0.1357,
0.0622,
-0.0126,
-0.0872,
-0.1598,
-0.2288,
-0.2926,
-0.3499,
-0.3994,
-0.4398,
-0.4704,
-0.4905,
-0.4995,
-0.4973,
-0.4839,
-0.4597,
-0.4251,
-0.381,
-0.3283,
-0.2683,
-0.2022,
-0.1316,
-0.0581,
0.0168,
0.0913,
0.1637,
0.2325,
0.296,
0.3529,
0.4019,
0.4418,
0.4718,
0.4913,
0.4997,
0.4968,
0.4828,
0.458,
0.4229,
0.3783,
0.3251,
0.2647,
0.1984,
0.1276,
0.0539,
-0.021,
-0.0954,
-0.1677,
-0.2362,
-0.2994,
-0.3559,
-0.4044,
-0.4438,
-0.4732,
-0.492,
-0.4998,
-0.4963,
-0.4817,
-0.4563,
-0.4206,
-0.3755,
-0.3219,
-0.2612,
-0.1945,
-0.1235,
-0.0497,
0.0252,
0.0996
],
"config": {
"sample_rate": 44100,
"dim": 64,
"stride": 16,
"trajectory_count": 3
}
}
samples — Array of numbers. Raw voltage, amplitude, IQ magnitude, or any continuous measurement. Minimum 128, maximum 5,000,000.
config — Optional. Defaults work for most signals.
| Field | Description |
|---|---|
characterisation.classification | Array of tags: STRUCTURED, ANTI_CORRELATED, MODULATED, etc. |
characterisation.temporal_profile | CORRELATED, ANTI_CORRELATED, or NEUTRAL |
characterisation.anomaly_level | HIGH, MODERATE, or LOW |
characterisation.confidence | 0.0 – 1.0 classification confidence |
phenomena_detected | Triggered Live / v1.0 detectors only (see status table below); each entry has detector and confidence |
metrics | Raw/anomalous event counts, autocorrelation lags, burst ratio |
processing | Threshold method, trajectory count, processing time |
Response sample for documentation — not a request payload.
Structural domains use /api/characterise internally plus static domain rules. Two domains bypass the embedding for their primary verdict: qubit_degradation uses weighted decay fitting, and qec_syndrome uses direct episode detection for persistent leakage islands.
caveats describing validation basis and limits.
trace[] input.
qubit_degradation and qec_syndrome have different request bodies.
Runnable copy builds a 500-point NV trace in the browser (≥128 required). Use fixture GET for QEC without building syndrome frames.
Click Copy runnable JSON or Load NV diagnose example (500-point trace).
hardware_domain (required) — nv_diamond, jaynes_cummings, topological_screening, qubit_degradation, correlated_loss, qec_syndrome, generic.
trace is required for structural domains only. qubit_degradation uses times, baseline_trace, current_trace, and shots_per_point. qec_syndrome uses syndrome_frames, grid_height, grid_width, and optional rounds / config.window_size. Live minimum: 512 rounds for qec_syndrome (fewer frames return a validation error).
config.prefilter — Optional "ma11" for 11-point moving average before analysis; default "none".
metadata — Optional; echoed in the response for traceability.
| Domain | Use case | Verdicts |
|---|---|---|
nv_diamond |
NV centre FID / ¹³C spin-bath pre-screen | PASS FLAG INDETERMINATE |
jaynes_cummings |
Open-system revival vs Markovian baseline | PASS FLAG INDETERMINATE |
topological_screening |
Rich-encoded sweep; inverted logic (LOW events + LOW anomaly = stable) | PASS FLAG INDETERMINATE |
correlated_loss |
Neutral atom / trapped-ion arrays — organised vs random loss | PASS FLAG INDETERMINATE |
qubit_degradation |
FID weighted decay-fit — baseline vs current (not trace) |
STABLE FLAG_DEGRADATION INDETERMINATE |
qec_syndrome |
Persistent QEC leakage islands (not raw density) | PASS FLAG_LEAKAGE INDETERMINATE |
generic |
Raw characterisation only | INFO |
NV PASS is advisory. It is not diamond certification and not a replacement for DEER spectroscopy. Current validation basis is simulated QuTiP Lindblad traces, not real hardware FID.
| Field | Value |
|---|---|
hardware_domain | nv_diamond |
| Trace length | 500-point FID |
config.prefilter | ma11 |
| Encoding | Single FID amplitude trace |
| Avoid | 2000pt raw/no-ma11 as contamination FLAG route |
| Avoid | Rich 5-feature encoding for this branch |
| Metric | Result |
|---|---|
| PASS / FLAG / INDETERMINATE | 80 / 17 / 3 |
| Pure ¹²C PASS | 60/60 |
| Burst decoy PASS | 20/20 |
| Contaminated FLAG | 14/15 |
| Contaminated false PASS | 0 |
| Overall synthetic sweep accuracy | 99/100 |
| Estimated DEER follow-up reduction | 82.1% |
Raw conductance does not work. Each bias point must be encoded as 5 features (G, V, B, dG/dV, Gzbp) and flattened into trace[]. Minimum M = 26 bias points (trace ≥ 130). Recommended M = 100 (trace = 500). See topo_shim_v0.mjs and API_MASTER.md.
| Field | Value |
|---|---|
hardware_domain | topological_screening |
| Trace length | M × 5 (e.g. 500 for M = 100) |
| Encoding | topo_shim_v0 — client-side shim, no API change |
| Logic | Inverted: LOW events + LOW anomaly = stable ZBP (PASS) |
| Avoid | Raw 1D conductance without encodeSweep() |
The qubit_degradation route is not an embedding event-count branch. It fits paired baseline/current FID traces and detects statistically significant T₂/T₂* degradation. Qubit degradation is WORKING under the validated FID/Gaussian T₂* input contract.
Runnable request — 128 paired time points (API minimum for arrays). Copy or use Diagnose: Qubit Degradation in Try It.
POST /api/v1/diagnose
X-API-Key: demo-sparse-supernova-2026
Content-Type: application/json
{
"hardware_domain": "qubit_degradation",
"experiment": "fid",
"times": [
0,
0.015748031496062992,
0.031496062992125984,
0.047244094488188976,
0.06299212598425197,
0.07874015748031496,
0.09448818897637795,
0.11023622047244094,
0.12598425196850394,
0.14173228346456693,
0.15748031496062992,
0.1732283464566929,
0.1889763779527559,
0.2047244094488189,
0.2204724409448819,
0.23622047244094488,
0.25196850393700787,
0.2677165354330709,
0.28346456692913385,
0.2992125984251969,
0.31496062992125984,
0.33070866141732286,
0.3464566929133858,
0.36220472440944884,
0.3779527559055118,
0.3937007874015748,
0.4094488188976378,
0.4251968503937008,
0.4409448818897638,
0.4566929133858268,
0.47244094488188976,
0.4881889763779528,
0.5039370078740157,
0.5196850393700787,
0.5354330708661418,
0.5511811023622047,
0.5669291338582677,
0.5826771653543307,
0.5984251968503937,
0.6141732283464567,
0.6299212598425197,
0.6456692913385826,
0.6614173228346457,
0.6771653543307087,
0.6929133858267716,
0.7086614173228346,
0.7244094488188977,
0.7401574803149606,
0.7559055118110236,
0.7716535433070866,
0.7874015748031497,
0.8031496062992126,
0.8188976377952756,
0.8346456692913385,
0.8503937007874016,
0.8661417322834646,
0.8818897637795275,
0.8976377952755905,
0.9133858267716536,
0.9291338582677166,
0.9448818897637795,
0.9606299212598425,
0.9763779527559056,
0.9921259842519685,
1.0078740157480315,
1.0236220472440944,
1.0393700787401574,
1.0551181102362204,
1.0708661417322836,
1.0866141732283465,
1.1023622047244095,
1.1181102362204725,
1.1338582677165354,
1.1496062992125984,
1.1653543307086613,
1.1811023622047243,
1.1968503937007875,
1.2125984251968505,
1.2283464566929134,
1.2440944881889764,
1.2598425196850394,
1.2755905511811023,
1.2913385826771653,
1.3070866141732282,
1.3228346456692914,
1.3385826771653544,
1.3543307086614174,
1.3700787401574803,
1.3858267716535433,
1.4015748031496063,
1.4173228346456692,
1.4330708661417322,
1.4488188976377954,
1.4645669291338583,
1.4803149606299213,
1.4960629921259843,
1.5118110236220472,
1.5275590551181102,
1.5433070866141732,
1.5590551181102361,
1.5748031496062993,
1.5905511811023623,
1.6062992125984252,
1.6220472440944882,
1.6377952755905512,
1.6535433070866141,
1.669291338582677,
1.68503937007874,
1.7007874015748032,
1.7165354330708662,
1.7322834645669292,
1.7480314960629921,
1.763779527559055,
1.779527559055118,
1.795275590551181,
1.811023622047244,
1.8267716535433072,
1.8425196850393701,
1.858267716535433,
1.874015748031496,
1.889763779527559,
1.905511811023622,
1.921259842519685,
1.937007874015748,
1.952755905511811,
1.968503937007874,
1.984251968503937,
2
],
"baseline_trace": [
1,
0.9983,
0.9794,
0.9431,
0.8895,
0.8193,
0.7336,
0.6338,
0.5222,
0.4011,
0.2733,
0.1415,
0.0089,
-0.1217,
-0.2476,
-0.3664,
-0.4759,
-0.5744,
-0.6608,
-0.734,
-0.7937,
-0.8396,
-0.8719,
-0.8909,
-0.8969,
-0.8903,
-0.8715,
-0.841,
-0.7989,
-0.7457,
-0.6817,
-0.6071,
-0.5227,
-0.429,
-0.3271,
-0.2182,
-0.104,
0.0137,
0.1326,
0.2505,
0.3646,
0.4725,
0.5716,
0.6597,
0.7346,
0.7949,
0.8392,
0.8669,
0.8779,
0.8725,
0.8514,
0.8159,
0.7674,
0.7074,
0.6378,
0.5602,
0.4762,
0.3874,
0.2951,
0.2005,
0.1045,
0.008,
-0.088,
-0.1829,
-0.2756,
-0.3653,
-0.4507,
-0.5307,
-0.6038,
-0.6685,
-0.7232,
-0.7664,
-0.7967,
-0.813,
-0.8143,
-0.8002,
-0.7707,
-0.7262,
-0.6675,
-0.5962,
-0.514,
-0.423,
-0.3254,
-0.2238,
-0.1204,
-0.0176,
0.0825,
0.1781,
0.2678,
0.3505,
0.4251,
0.4914,
0.5489,
0.5976,
0.6373,
0.6682,
0.6901,
0.703,
0.7066,
0.7008,
0.6851,
0.6593,
0.6231,
0.5765,
0.5194,
0.4524,
0.3761,
0.2916,
0.2004,
0.1043,
0.0052,
-0.0944,
-0.1923,
-0.2861,
-0.3735,
-0.4524,
-0.5213,
-0.5786,
-0.6237,
-0.6558,
-0.6752,
-0.682,
-0.6771,
-0.6612,
-0.6356,
-0.6012,
-0.5593,
-0.5108
],
"current_trace": [
1,
0.9975,
0.9779,
0.9409,
0.8868,
0.8162,
0.7302,
0.6305,
0.5191,
0.3984,
0.2711,
0.1402,
0.0087,
-0.1207,
-0.2453,
-0.3625,
-0.4703,
-0.5672,
-0.6518,
-0.7233,
-0.7813,
-0.8257,
-0.8567,
-0.8745,
-0.8795,
-0.8723,
-0.8532,
-0.8227,
-0.781,
-0.7286,
-0.6657,
-0.5926,
-0.51,
-0.4186,
-0.3192,
-0.2131,
-0.102,
0.0125,
0.1281,
0.2424,
0.3531,
0.4576,
0.5535,
0.6385,
0.7106,
0.7683,
0.8104,
0.8365,
0.8462,
0.84,
0.8188,
0.7837,
0.7361,
0.6776,
0.6101,
0.5351,
0.4543,
0.3691,
0.2809,
0.1906,
0.0993,
0.0077,
-0.0833,
-0.173,
-0.2608,
-0.3455,
-0.4263,
-0.5019,
-0.571,
-0.6322,
-0.6839,
-0.7248,
-0.7534,
-0.7686,
-0.7697,
-0.7561,
-0.7278,
-0.6852,
-0.6293,
-0.5614,
-0.4833,
-0.3969,
-0.3045,
-0.2085,
-0.1111,
-0.0146,
0.0792,
0.1684,
0.2517,
0.3281,
0.3969,
0.4576,
0.51,
0.5542,
0.5902,
0.6179,
0.6376,
0.649,
0.6521,
0.6467,
0.6323,
0.6087,
0.5755,
0.5328,
0.4804,
0.4187,
0.3485,
0.2705,
0.1863,
0.0975,
0.0059,
-0.0861,
-0.1765,
-0.2629,
-0.3433,
-0.4157,
-0.4785,
-0.5305,
-0.5708,
-0.5992,
-0.6157,
-0.6206,
-0.6147,
-0.599,
-0.5744,
-0.5423,
-0.5035,
-0.4592
],
"shots_per_point": 1000,
"metadata": {
"workflow": "qubit_degradation_energy_routing",
"fixture_policy": "paired baseline/current traces with shared noise draw"
}
}
| Metric | Result |
|---|---|
| Probe 05 status | PASS |
| Cases completed | 180 / 180 |
| Stable skip rate | 100% |
| Stable false positive rate | 0% |
| Mild 1000-shot FLAG rate | 100% |
| Medium 400-shot FLAG rate | 100% |
| Heavy 400-shot FLAG rate | 100% |
| Overall degradation FLAG rate | 91.9% |
| Estimated routing-unit saving | 19.3% |
The qec_syndrome branch detects spatiotemporal persistence, not raw syndrome density. High-density random syndrome noise may PASS if defects are nonpersistent. Production requires ≥512 rounds of binary syndrome frames (values 0 or 1). Use 600–900 rounds for chiplet-style demos; the 2-round shape below is illustrative only and will be rejected by the API.
When clients cannot upload large syndrome_frames arrays (e.g. ChatGPT Actions), use server-side fixtures. Claim level: api_level_structural_evidence_only.
| Method | Path | Behaviour |
|---|---|---|
| GET | /api/v1/diagnose/fixture/qec_chiplet_test3 | Canned verified FLAG_LEAKAGE (no body) |
| POST | /api/v1/diagnose/fixture | Body {"name":"qec_chiplet_test3"} — live 9×9×900 run |
| GET | /api/v1/diagnose/fixtures | Fixture catalogue |
| Regime | Route |
|---|---|
| Nonpersistent random syndrome noise | PASS → SKIP_DENSE_DECODE |
| High-density nonpersistent burst decoy | PASS → SKIP_DENSE_DECODE |
| Clustered persistent leakage island | FLAG_LEAKAGE → RUN_DENSE_DECODE_AND_ESCALATE |
| Repeated single-site persistence across PASS windows | RETRY_SHORT_WINDOW |
| Any FLAG_LEAKAGE in a 3-window group | RUN_DENSE_DECODE_AND_ESCALATE |
QEC energy-routing policy (Probe 04 Policy C): 300 scenarios, 900 API calls, 0 API errors; baseline unsafe skip 23.5% → Policy C unsafe skip 0%; false escalation 0%; clustered leakage escalation 100%; retry rate 15.7%; safe policy estimated saving 30.1%. Policy C is client-side aggregation, not a backend model change. Does not claim cryostat/base-power reduction. Energy saving is estimated from routing units.
Illustrative only — not the response from the runnable NV payload above. The live NV diagnose example (500-point trace, prefilter: ma11) typically returns FLAG on production. Shape below matches a real FLAG response; your metrics may differ.
Test /api/characterise or /api/v1/diagnose. Paste JSON with samples, or domain-specific diagnose bodies (not all domains use trace).
The product defines twelve mathematical signatures. Each asks a structural question — not “is this a known protocol?” but “is this signal doing something mathematically unusual?” Seven are live in API v1.0; five are on the roadmap (product direction, not yet returned in phenomena_detected).
confidence is an ordinal score, not a calibrated laboratory probability.
| # | Category | Signature | Structural question | API detector |
Status |
|---|---|---|---|---|---|
| 1 | Physical | Quantum Zeno | Measurement frequency correlates with delayed transitions | quantum_zeno |
Live / v1.0 |
| 2 | Physical | Criticality | Self-organised criticality in event magnitude distribution | criticality |
Live / v1.0 |
| 3 | Physical | Information Backflow | Non-Markovian temporal correlations | information_backflow |
Live / v1.0 |
| 4 | Physical | Fractal Dimension | Chaotic structure in state-space trajectories | — | Roadmap |
| 5 | Physical | Topological Transitions | Phase changes in signal geometry | — | Roadmap |
| 6 | Physical | Penrose OR | Gravity-scale collapse events | penrose_or |
Live / v1.0 |
| 7 | Structural | Weak Values | Anomalous measurement outcomes outside expected bounds | — | Roadmap |
| 8 | Structural | Quantum Darwinism | Environmental redundancy and information copying | quantum_darwinism |
Live / v1.0 |
| 9 | Structural | Retrocausality | Future events correlating with past states | — | Roadmap |
| 10 | Structural | Teleportation Shadow | Cross-channel correlations without direct coupling | teleportation_shadow |
Live / v1.0 |
| 11 | Structural | Simulation Glitches | Quantisation artifacts and periodic patterns | simulation_glitches |
Live / v1.0 |
| 12 | Structural | Cross-observer correlation | Observer-dependent measurement bias | — | Roadmap |
Calculation notes (thresholds, heuristics, pipeline): PHENOMENA_CALCULATIONS.md in the API source repository.
Assumes samples is an array of at least 128 finite numbers (build or load your trace before calling).
Assumes samples is an array of at least 128 finite numbers.
Requires local rtl_sdr hardware and a helper such as iq_to_json.py to produce a samples array (≥128 points). Not runnable in-browser.
Assumes trace is an array of at least 128 finite numbers in [−1, 1] for nv_diamond.
Assumes trace is an array of at least 128 finite numbers.
Forbidden claim: This proves a new physical particle.
Three experiments on ibm_kingston (127-qubit heavy-hex, Open Plan) establish that sparse signal structure reduces quantum work for anomaly detection. Full write-up: API_MASTER.md Appendix G.
| Experiment | Job ID | Core result |
|---|---|---|
| Sparse QEC syndrome gating | d8ftgjg7jphs739mqc20 | 96.4% null syndromes — sparse gate skips classical decode on 987/1024 shots |
| SS amplitude fidelity | d8fu33o7jphs739mr3l0 | Quantum cosine = classical SS cosine (error 0.000638); TVD 0.48 sparse vs dense on hardware |
| SWAP test shot efficiency | d8fuccjo3njc73f0segg | Sparse anomaly: 21 shots @ 95%; dense: 31 shots — 1.48× fewer executions for sparse |
Scripts: sparse_quantum_ibm.py, ss_quantum_v2.py, ss_quantum_v3.py.
The SWAP test uses identical circuits for sparse and dense; savings are in shots (circuit executions), not gate count.
Safe claim: sparse anomalies are more distinguishable in amplitude space and need fewer IBM runs to confirm at 95% confidence.
Sparseical Candidate v0 routes expose sparse-state evidence, canonical packets, gatekeeper/cascade checks, QEC carry, evidence pack summaries, and hardware capture validation. Hardware capture PASS is not proof of a physical particle, hardware quasi-particle, bare-metal compute, or Turing completeness.
| Method | Path |
|---|---|
| GET | /api/v1/sparseical |
| GET | /api/v1/sparseical/status |
| GET | /api/v1/sparseical/evidence-pack |
| POST | /api/v1/sparseical/canonical |
| POST | /api/v1/sparseical/gatekeeper |
| POST | /api/v1/sparseical/cascade |
| POST | /api/v1/sparseical/qec-carry |
| GET | /api/v1/sparseical/hardware/status |
| POST | /api/v1/sparseical/hardware/fixture |
| POST | /api/v1/sparseical/hardware/upload |
| POST | /api/v1/sparseical/hardware/capture |
Majorana 2 / tetron governor (handoff v0):
majorana2_governor.mjs (15 unit smokes — npm run test:governor),
majorana2_prescreener.mjs (10 unit smokes — npm run test:prescreener),
extract_data.py (Zenodo H5 → JSON). Parity triage uses fitted τZ directly (no API);
topo/CQ use live diagnose + hardware upload. Do not post raw zmpr IQ to qubit_degradation.
CQ capture: telegraph_mode: true, device: tetron_cq.
Docs: API_MASTER.md Appendix F, docs/MAJORANA2_HANDOFF_V0.md,
results MAJORANA2_PRESCREENER_V0_RESULTS.md (13,439 points, 2,818 flagged).
IBM Kingston sparse-compute: Appendix G.
Probes 11–16 and PC Compute Runtime are repo-side artefacts. They are not live Worker execution routes.
Website / interactive docs: signal.sparse-supernova.com/#api-docs