STaRS — Systemic Trace and Robustness Suite
Abstract
STaRS — Systemic Trace and Robustness Suite Cadre computationnel fermé pour la détection de traces systémiques, orientations émergentes et artefacts globaux Auteur : Kevin FradierStatut : Instrument scientifique opérationnelDate : Janvier 2026Licence : © 2026 Kevin Fradier — CC BY-NC-ND 4.0 Résumé Cette publication introduit STaRS, une suite computationnelle minimale et falsifiable destinée à mesurer des propriétés systémiques émergentes à partir de données abstraites, sans hypothèse ontologique, causale ou interprétative. STaRS est structuré autour : d’un cœur dur fermé (STaRS-CORE), et de modules optionnels indépendants : STaRS-TIME (incertitude de datation / orientation temporelle), STaRS-EXT (détection d’artefacts d’extinction ou de perte systémique). Le cadre est multi-domaine (physique, social, biologique, informationnel) et repose exclusivement sur des observables mesurables. 1. Positionnement épistémique (verrouillé) STaRS : ❌ ne modélise pas ❌ n’explique pas ❌ n’infère aucune causalité ❌ n’introduit aucune intention STaRS mesure uniquement des propriétés structurelles détectables. Toute interprétation est explicitement hors du périmètre du cadre. 2. Entrée unique (abstraction maximale) STaRS accepte un seul objet : M \in \mathbb{R}^{n \times n} Interprétation laissée libre : matrice de connectivité corrélations co-occurrences interactions physiques relations sociales flux écologiques graphes cognitifs 3. STaRS-CORE — Cœur dur (fermé) Propriétés mesurées motifs fermés locaux invariant systémique stabilité sous bruit robustesse statistique contrôle nul interne contribution nodale Code — STaRS-CORE import numpy as np import networkx as nx from scipy.stats import bootstrap class STaRS_CORE: """ Cœur dur STaRS. Instrument fermé, non interprétatif. """ def __init__(self, M, min_cycle=3, max_cycle=7): self.M = np.array(M, dtype=float) self.n = self.M.shape[0] self.min_cycle = min_cycle self.max_cycle = max_cycle self.cycles = [] self.local_vals = [] self.node_contrib = np.zeros(self.n) def extract_cycles(self): G = nx.from_numpy_array(self.M) self.cycles = [ c for c in nx.cycle_basis(G) if self.min_cycle
Publication details
- Journal / source
- Zenodo (CERN European Organization for Nuclear Research)
- Publication date
- 9 January 2026