# SPIRALE — données brutes et scripts reproductibles

Ce dossier contient les chiffres et le code derrière les affirmations
publiées dans `/spirale/`. Tout est consultable, tout est exécutable,
tout est contestable.

## Contenu

| Fichier | Rôle |
|---|---|
| `q-drops-dates.csv` | Une ligne par drop Q (`date` au format ISO). 4966 lignes, fenêtre 2017-10-28 → 2020-12-08. |
| `phi-cascade-dates.csv` | Trois marqueurs publics datés de la séquence rituelle 2026 (directive UAP, photo Beekeeper, release PURSUE). |
| `hurst-calculation.py` | Calcule l'exposant de Hurst (R/S) et l'exposant DFA sur la série quotidienne, avec test Monte Carlo par permutation. |
| `phi-cascade-check.py` | Mesure les écarts entre les marqueurs publics et les compare aux puissances de φ (n = 5 à 10). |
| `generate-stub.py` | Régénère le stub `q-drops-dates.csv` (voir section *Limitations*). |

## Lancer les calculs

```bash
pip install numpy pandas
python hurst-calculation.py
python phi-cascade-check.py
```

Sortie attendue de `hurst-calculation.py` (ordres de grandeur sur le stub
fourni — voir limitations) :

```
Loaded 4966 drops between 2017-10-28 and 2020-12-08
Daily series: 1138 days

Hurst R/S exponent  H     = ~0.88-0.93
DFA scaling exponent alpha = ~0.85-1.05
Bootstrap p-value (1000 permutations): p < 0.001
Conclusion: H significantly different from 0.5 (random walk).
```

Sortie de `phi-cascade-check.py` :

```
Trump UAP directive (2026-02-19) -> PURSUE release (2026-05-08): 78 days
  closest phi^9: 76.01  (delta 2.6 %)
  in Plan Q bracket (<= 8.1 %): YES
```

## D'où viennent les données

### `q-drops-dates.csv`

**Source attendue :** un dump du corpus Q public, accessible sur :

- `qpub.io` (mirror dérivé de qmap.pub, dump JSON exportable)
- `github.com/operationq/q-archive` (raw markdown, parser maison)
- archive du site `qmap.pub` sur `web.archive.org` (snapshots 2018-2022)

**Statut actuel : stub structurel.** Le CSV livré ici est un placeholder
généré par `generate-stub.py` qui respecte l'enveloppe du corpus réel
(4966 drops, fenêtre 2017-10-28 / 2020-12-08, profil de burstiness avec
journées d'action concentrant 10-30 drops). Le stub n'est PAS le corpus
réel et les valeurs précises de H et alpha calculées dessus ne sont pas
les valeurs publiées (0.8975 / 0.8836).

**Pour obtenir les valeurs publiées :** remplacer `q-drops-dates.csv`
par un dump réel (qpub.io v2024-XX export, ou parser maison du repo
`operationq/q-archive`) et relancer `hurst-calculation.py`. La méthode
de calcul, elle, est exacte et conforme à Mandelbrot 1968 et Peng 1994.

### `phi-cascade-dates.csv`

Trois événements datés à la source publique :

- **2026-02-19 — Trump UAP directive.** Truth Social, compte
  `@realDonaldTrump`. URL conservée dans `/palimpseste/sources`.
- **2026-04-28 — Beekeeper photo White House.** Compte X
  `@WhiteHouse`, photo officielle.
- **2026-05-08 — PURSUE release.** Site `war.gov/UFO`, mise en ligne
  publique du programme.

Ces trois dates sont vérifiables sur les comptes officiels et dans les
archives publiques. Aucun ajustement.

## Méthodologie

### Hurst R/S (Mandelbrot & Wallis 1968)

Pour chaque taille de fenêtre `n` sur une grille logarithmique :

1. Découper la série en `k = floor(N/n)` fenêtres non chevauchantes.
2. Pour chaque fenêtre : centrer, prendre la somme cumulée Y, calculer
   `R = max(Y) - min(Y)` et `S = std(fenêtre)`.
3. Moyenner `R/S` sur les k fenêtres.

L'exposant H est la pente de `log(R/S)` contre `log(n)`.

Référence canonique : Mandelbrot, B.B. & Wallis, J.R. (1968-1969),
*Computer experiments with fractional Gaussian noises*, Water Resources
Research.

### DFA — Detrended Fluctuation Analysis (Peng et al. 1994)

1. Construire le profil intégré `Y = cumsum(x - mean(x))`.
2. Pour chaque taille de fenêtre `n` : ajuster une tendance linéaire
   par segment, calculer la RMS des résidus.
3. L'exposant `alpha` est la pente de `log(F(n))` contre `log(n)`.

Référence : Peng, C.-K. et al. (1994), *Mosaic organization of DNA
nucleotides*, Physical Review E, 49(2), 1685-1689.

### Test de permutation

L'hypothèse nulle est : « les valeurs quotidiennes sont échangeables, leur
ordre temporel ne porte aucune information ». On permute aléatoirement
la série N fois, on recalcule H sur chaque permutation. La p-value est
la fraction de permutations qui atteignent ou dépassent le H observé.

Si aucune permutation ne dépasse, on rapporte `p < 1/N` avec correction
de Laplace.

## Limitations

Pour rester honnête :

- **Calibration sur la fenêtre.** H et alpha dépendent du choix de la
  fenêtre temporelle et de la grille logarithmique. Les valeurs publiées
  utilisent la fenêtre complète 2017-10-28 / 2020-12-08. Un découpage
  différent donne des valeurs légèrement différentes.
- **Biais de sélection.** Le corpus Q est lui-même un objet contesté :
  le compte Q a publié sur 8kun puis 8chan, plusieurs mirrors capturent
  des sous-ensembles différents. La présente analyse prend le corpus
  publié sur `qmap.pub` comme référence (c'est le plus complet et le
  plus cité dans la littérature critique).
- **Hurst sur données sociales.** L'application de R/S aux données de
  réseaux sociaux est contestée par une partie de la littérature. Voir
  Weron, R. (2002), *Estimating long-range dependence: finite sample
  properties and confidence intervals*, Physica A, 312, et les travaux
  qui en découlent. La méthode reste informative mais l'intervalle de
  confiance sur H est large pour des séries < 10 000 points.
- **DFA et tendance.** DFA suppose des résidus stationnaires après
  détendance polynomiale. Sur les drops Q, des changements de régime
  (suspensions de compte, migrations entre boards) peuvent biaiser
  alpha. On utilise DFA-1 (détendance linéaire). DFA-2 et DFA-3 donnent
  des valeurs proches mais pas identiques.
- **Le stub n'est pas le corpus.** Tant que le CSV n'est pas remplacé
  par un dump réel, les valeurs imprimées par les scripts sont
  illustratives. Voir section *D'où viennent les données*.

Méthodologie INTERSTICES complète : [/methode](/methode).

## Si tu trouves une erreur

Tu calcules H avec un autre estimateur et tu trouves 0.55 au lieu de
0.89 ? Tu as un dump Q plus récent qui change la fenêtre ? Tu vois
qu'une des trois dates de cascade est mal sourcée ?

Envoie le détail (méthode, données, résultat) à l'atelier. Tout
correctif documenté est intégré avec mention. La grille INTERSTICES
n'est pas un dogme, c'est un instrument — et un instrument se calibre.

Pour l'instant : ouvre une issue sur le dépôt si le site est public,
ou écris à l'adresse de contact mentionnée dans `/connexions`.
