STRATEFORGE — MESURE DU 10/10/2026 ÉVALUATION STATISTIQUE INTERNE (piste A — ne représente pas un parcours reproductible à la publication) : FORWARD TEST (mesure) : période brute — 10 jours évalués, cumul panier −0.4 %, hit rate 46 % (avant le 03/10/2026, aucun frais déduit) · période nette — 7 jours évalués, cumul panier −4.8 %, hit rate 40 % (à partir du 03/10/2026, frais 0,30 % AR déduits) FORWARD TEST PUBLIC (piste B — classement gelé avant la fenêtre, mesure reproductible) : période brute — 1 jour évalué, cumul panier +1.0 %, hit rate 69 % (avant le 03/10/2026, aucun frais déduit) · période nette — 3 jours évalués, cumul panier −3.9 %, hit rate 26 % (à partir du 03/10/2026, frais 0,30 % AR déduits) DATES DE PREUVE (piste B) — données arrêtées au 2026-10-06T00:00Z · calcul à 2026-10-06T08:00Z · gel publié à 2026-10-06T18:46Z · fenêtre mesurée jusqu'au 2026-10-08T00:00Z (clôtures UTC) ENGAGEMENT DU JOUR (preuve d'antériorité) : sha256:c24d973727226f8503aba9a2dc50c5a682b25efc80b34f6bf1084cceaa5f2bd0 — nonce révélé demain 16h10 BALANCE DU JOUR : 0 % long / 100 % short (top 30, score ≥ 15 long / ≥ 4.5 short) CONTEXTE MARCHÉ (mesure) : régime BTC haussier_calme · F&G 64 · funding BTC z -1.44 SERVICE : 17 jours évalués · dernier : 2026-10-09 · archives vérifiables : strateforge.app/archive.html ERRATA (corrections publiques) : - [2026-10-04] Correction de formule (publiée le 04/10/2026). Dans l'observation d'événement « Compression de volatilité en cassure », le percentile de la largeur de Bollinger (4σ/ma20, fenêtre 120 j) était calculé à l'envers : la formule comptait la part de la fenêtre inférieure ou égale à la valeur courante, donnant ~100 quand la largeur était à son MINIMUM et ~0,8 à son maximum. Le seuil « percentile < 15 » déclenchait donc le texte « compression » sur une EXPANSION de la volatilité, et ne déclenchait rien sur une compression réelle. Vérification sur données réelles (30 actifs, 300 jours) : 99 jours-actifs en expansion réelle (percentile correct 87-100) avaient été étiquetés « compression » (ex. BTC 2026-06-04, ETH 2026-08-21), et 36 jours-actifs en compression réelle (percentile correct 0,8-13) ne déclenchaient rien (ex. LINK 2026-05-04, ETH 2026-09-11). L'observation publiée le 04/10 pour IMX (percentile affiché 5) était en réalité une expansion (percentile correct 94, largeur ×9,1 son minimum de fenêtre). Périmètre exact : seul le TEXTE d'alerte était affecté — la feature boll_b du modèle, les scores, les classements et le forward test n'utilisent jamais ce percentile. Corrigé le 04/10/2026 : percentile standard (part de la fenêtre ≤ valeur courante, convention identique à l'indicateur pine), le seuil < 15 déclenche désormais sur une compression réelle. Les publications du 23/09 au 04/10 citant cette observation sont à relire à l'envers : un percentile affiché élevé désignait une compression, un faible une expansion. - [2026-10-09] Erratum d'horodatage (identifié le 09/10/2026, tâche 39 palier P4, fiche C24). Les engagements des 4 et 5 octobre 2026 ont été publiés dans une récupération batch du 2026-10-06 (commit 16h39Z) qui a recopié les horodatages du 2026-10-03 pour le 2026-10-04, et omis le 2026-10-05. Les attestations internes (attestations.json) pour ces deux dates sont donc incertaines : le 2026-10-04 porte public_published_at=2026-10-03T16:00Z (antérieur au gel 2026-10-04T08:00Z, incohérence manifeste), et le 2026-10-05 est absent. Conformément à la doctrine d'immutabilité, les lignes originales sont CONSERVÉES sans modification ; des statuts probatoires sont ajoutés côte à côte : 2026-10-04 → statut_probatoire='non_démontrable' (attestation incohérente), 2026-10-05 → statut_probatoire='tardive' (publiée le 2026-10-06 après la clôture du jour engagé). L'engagement 2026-10-02 reste marqué 'vérifiée' (gel avant fenêtre, déviation documentée). Tous les engagements postérieurs au 2026-10-06 sont vérifiés par attestations complètes. - [2026-10-10] Les horodatages de publication enregistrés dans attestations.json pour les engagements 2026-10-02, 2026-10-03 et 2026-10-04 portaient une troncature de fuseau : l'heure réelle du commit de première apparition (16:00 +08:00) avait été lue comme si le fuseau était Z, décalant les valeurs de 8 heures ('2026-10-03T16:00Z' enregistré partout). Les valeurs réelles, prouvées par git (git log --diff-filter=A sur la preuve publique de chaque jour), sont : 2026-10-02 → 2026-10-05T20:58Z (6d67387), 2026-10-03 → 2026-10-04T08:00Z (b52d045), 2026-10-04 → 2026-10-03T08:00Z (2e1df99). Les publications des engagements 10-02 et 10-03 sont ainsi TARDIVES (après la clôture de leur fenêtre) : le mécanisme de déviation documentée (fiche 17) s'applique — le gel interne (calcul du hash au scoring, 08:00Z le jour J, archives internes) précède la fenêtre mesurée et la récupération batch a publié ensuite ; la règle B est inchangée pour ces jours. L'engagement 10-04 reste « non_démontrable » (sa première preuve publique est antérieure au jour engagé, incohérence de batch). L'engagement 10-05, publié le 2026-10-06 après clôture SANS déviation documentée, reste « tardive » sans ligne B. Enfin, la valeur public_published_at 08:00Z du 2026-10-07 était un faux positif du bug t37 (publication supposée, jamais poussée — dernier push engagements.json avant réparation : 2026-10-06T18:46Z) : elle est retirée, le scoring du jour étant réel (validated_at 08:00Z, log). Les engagements 2026-10-08 et 2026-10-09 n'ont jamais été rendus publics : la chaîne de publication était interrompue du 2026-10-07 au 2026-10-09 (mesure_b TypeError nonce + défauts validateur t37/C35/C36), réparée le 2026-10-10. Conséquence : aucune ligne B pour ces jours (règle B anti-extrapolation) ; les mesures reprennent au run du 2026-10-10. Aucune valeur inventée : toutes les corrections sont vérifiables par git et les logs de run. LISTES DU JOUR (top 10 long, top 3 short) : réservées aux abonnés — livrées 16h30. La preuve J-1 complète reste publique pour toujours. Classement complet du jour + indicateurs invite-only + livraison 16h30 : https://www.strateforge.app --- STRATEFORGE — DAILY MEASUREMENT 2026-10-10 INTERNAL STATISTICAL EVALUATION (track A — not a reproducible path at publication): FORWARD TEST (measurement): gross period — 10 evaluated days, basket cumulative −0.4 %, hit rate 46 % (before 2026-10-03, no fees deducted) · net period — 7 evaluated days, basket cumulative −4.8 %, hit rate 40 % (from 2026-10-03, 0.30 % round-trip fees deducted) PUBLIC FORWARD TEST (track B — ranking committed before the window, reproducible measurement): gross period — 1 evaluated day, basket cumulative +1.0 %, hit rate 69 % (before 2026-10-03, no fees deducted) · net period — 3 evaluated days, basket cumulative −3.9 %, hit rate 26 % (from 2026-10-03, 0.30 % round-trip fees deducted) PROOF DATES (track B) — data cutoff 2026-10-06T00:00Z · computed 2026-10-06T08:00Z · commitment published 2026-10-06T18:46Z · window measured until 2026-10-08T00:00Z (UTC closes) TODAY'S COMMITMENT (proof of priority): sha256:c24d973727226f8503aba9a2dc50c5a682b25efc80b34f6bf1084cceaa5f2bd0 — nonce revealed tomorrow 4:10 PM TODAY'S BALANCE: 0 % long / 100 % short (top 30, score ≥ 15 long / ≥ 4.5 short) MARKET CONTEXT (measurement): BTC regime haussier_calme · F&G 64 · BTC funding z -1.44 SERVICE: 17 days evaluated · latest: 2026-10-09 · verifiable archives: strateforge.app/archive.html ERRATA (public corrections): - [2026-10-04] Correction de formule (publiée le 04/10/2026). Dans l'observation d'événement « Compression de volatilité en cassure », le percentile de la largeur de Bollinger (4σ/ma20, fenêtre 120 j) était calculé à l'envers : la formule comptait la part de la fenêtre inférieure ou égale à la valeur courante, donnant ~100 quand la largeur était à son MINIMUM et ~0,8 à son maximum. Le seuil « percentile < 15 » déclenchait donc le texte « compression » sur une EXPANSION de la volatilité, et ne déclenchait rien sur une compression réelle. Vérification sur données réelles (30 actifs, 300 jours) : 99 jours-actifs en expansion réelle (percentile correct 87-100) avaient été étiquetés « compression » (ex. BTC 2026-06-04, ETH 2026-08-21), et 36 jours-actifs en compression réelle (percentile correct 0,8-13) ne déclenchaient rien (ex. LINK 2026-05-04, ETH 2026-09-11). L'observation publiée le 04/10 pour IMX (percentile affiché 5) était en réalité une expansion (percentile correct 94, largeur ×9,1 son minimum de fenêtre). Périmètre exact : seul le TEXTE d'alerte était affecté — la feature boll_b du modèle, les scores, les classements et le forward test n'utilisent jamais ce percentile. Corrigé le 04/10/2026 : percentile standard (part de la fenêtre ≤ valeur courante, convention identique à l'indicateur pine), le seuil < 15 déclenche désormais sur une compression réelle. Les publications du 23/09 au 04/10 citant cette observation sont à relire à l'envers : un percentile affiché élevé désignait une compression, un faible une expansion. - [2026-10-09] Erratum d'horodatage (identifié le 09/10/2026, tâche 39 palier P4, fiche C24). Les engagements des 4 et 5 octobre 2026 ont été publiés dans une récupération batch du 2026-10-06 (commit 16h39Z) qui a recopié les horodatages du 2026-10-03 pour le 2026-10-04, et omis le 2026-10-05. Les attestations internes (attestations.json) pour ces deux dates sont donc incertaines : le 2026-10-04 porte public_published_at=2026-10-03T16:00Z (antérieur au gel 2026-10-04T08:00Z, incohérence manifeste), et le 2026-10-05 est absent. Conformément à la doctrine d'immutabilité, les lignes originales sont CONSERVÉES sans modification ; des statuts probatoires sont ajoutés côte à côte : 2026-10-04 → statut_probatoire='non_démontrable' (attestation incohérente), 2026-10-05 → statut_probatoire='tardive' (publiée le 2026-10-06 après la clôture du jour engagé). L'engagement 2026-10-02 reste marqué 'vérifiée' (gel avant fenêtre, déviation documentée). Tous les engagements postérieurs au 2026-10-06 sont vérifiés par attestations complètes. - [2026-10-10] Les horodatages de publication enregistrés dans attestations.json pour les engagements 2026-10-02, 2026-10-03 et 2026-10-04 portaient une troncature de fuseau : l'heure réelle du commit de première apparition (16:00 +08:00) avait été lue comme si le fuseau était Z, décalant les valeurs de 8 heures ('2026-10-03T16:00Z' enregistré partout). Les valeurs réelles, prouvées par git (git log --diff-filter=A sur la preuve publique de chaque jour), sont : 2026-10-02 → 2026-10-05T20:58Z (6d67387), 2026-10-03 → 2026-10-04T08:00Z (b52d045), 2026-10-04 → 2026-10-03T08:00Z (2e1df99). Les publications des engagements 10-02 et 10-03 sont ainsi TARDIVES (après la clôture de leur fenêtre) : le mécanisme de déviation documentée (fiche 17) s'applique — le gel interne (calcul du hash au scoring, 08:00Z le jour J, archives internes) précède la fenêtre mesurée et la récupération batch a publié ensuite ; la règle B est inchangée pour ces jours. L'engagement 10-04 reste « non_démontrable » (sa première preuve publique est antérieure au jour engagé, incohérence de batch). L'engagement 10-05, publié le 2026-10-06 après clôture SANS déviation documentée, reste « tardive » sans ligne B. Enfin, la valeur public_published_at 08:00Z du 2026-10-07 était un faux positif du bug t37 (publication supposée, jamais poussée — dernier push engagements.json avant réparation : 2026-10-06T18:46Z) : elle est retirée, le scoring du jour étant réel (validated_at 08:00Z, log). Les engagements 2026-10-08 et 2026-10-09 n'ont jamais été rendus publics : la chaîne de publication était interrompue du 2026-10-07 au 2026-10-09 (mesure_b TypeError nonce + défauts validateur t37/C35/C36), réparée le 2026-10-10. Conséquence : aucune ligne B pour ces jours (règle B anti-extrapolation) ; les mesures reprennent au run du 2026-10-10. Aucune valeur inventée : toutes les corrections sont vérifiables par git et les logs de run. TODAY'S ORDERED LISTS (top 10 long, top 3 short): subscribers only — delivered 4:30 PM. The complete J-1 proof stays public forever. Full daily ranking + invite-only indicators + 4:30 PM delivery: https://www.strateforge.app Mesure, pas conseil en investissement. / Measurement, not investment advice.