Aller au contenu
CASSANDREBulletin Rhinocéros gris

Méthode

Lexique et mode d’emploiCritères d’analyseCadrageJournal de méthodeRoutine du lundiLeçons de classementSources

Journal de méthode

Chaque décision de méthode est datée et justifiée, comme pour une publication. Les entrées les plus récentes sont en bas.

2026-10-01 — Cadrage initial

D1. L'objet central est un registre fini de rhinocéros gris, pas un fil de nouvelles. Justification : l'actualité sert de preuve rattachée à un risque suivi dans le temps. Un fil de nouvelles reproduit le biais de disponibilité qu'on cherche à corriger.

D2. Définition opérationnelle du rhinocéros gris : probable, à fort impact pour le Québec, négligé. Justification : la littérature revue par les pairs est mince et incohérente (Robertson 2024 parle de risques « apparemment peu probables », Kuznar 2022 d'événements « rares »). On retient la définition de Wucker et on la fixe.

D3. Score de priorité = importance × impréparation. Justification : même logique que les « vulnérabilités mondiales » du Global Risk Report de l'ONU (2025). L'impréparation est lue sur les cinq stades de Wucker.

D4. Le volume médiatique n'entre jamais dans l'importance. Justification : la couverture médiatique influence la perception des experts hors de leur domaine (Won et al. 2025). L'écart entre importance et couverture devient un indicateur de négligence.

D5. Chaque fiche sépare les stress lents des déclencheurs rapides. Justification : modèle stress–déclencheur–crise (Lawrence et al. 2024).

D6. Les canaux de transmission suivent la typologie commerce, finance, personnes, biophysique, étendue aux infrastructures et au numérique et à l'information. Justification : cadres de transmission transfrontalière des risques climatiques (Challinor et al. 2018 ; Carter et al. 2021 ; Lager et Benzie 2022 pour un cas national). L'extension aux deux derniers canaux est un choix du projet, à éprouver.

D7. Trois lentilles : rhinocéros gris, ouvertures, et une veille légère des surprises. Justification : cadre McKinsey (Grant, Haider, Raufuss 2023), qui ajoute les « silver linings ». Les ouvertures rejoignent le versant positif du possible adjacent.

D8. Le possible adjacent couvre les menaces et les ouvertures, et il est recalculé chaque semaine. Justification : décision de l'analyste (les deux versants) ; non-pré-énonçabilité de Kauffman (pas de liste fixe de scénarios). Référence : survol fourni par l'analyste.

D9. Horizon 0–2 ans = régime adjacent ; horizon 2–10 ans = régime projeté. Justification : objection de Corazza (2023) reprise dans le survol : le possible adjacent ne suffit pas pour les futurs lointains. Hypothèse du projet, à éprouver.

D10. L'exposition d'une fonction se mesure par sa dégénérescence. Justification : Edelman et Gally (2001) ; Whitacre et Bender (2010). Transposition proposée dans le survol, non établie pour le risque territorial.

D11. Chaque ouverture porte une échéance. Justification : le nombre d'options d'adaptation diminue avec le temps (Haasnoot et al. 2019).

D12. Matrice d'interactions rhinocéros × rhinocéros, cotée par l'analyste, évolutive. Justification : classer les risques par la force de leurs interactions distingue les sources des symptômes (Guo et al. 2022). Décision de l'analyste : il cote lui-même, sans attendre le panel.

D13. Claude classe, l'analyste valide ; les écarts sont conservés. Justification : la calibration par retour d'expert réduit l'erreur des scores produits par un modèle, qui tend vers le point milieu (Purk 2026). Les classements les moins sûrs sont remontés en priorité (dela Cruz et al. 2025).

D14. Une alerte est liée à une réponse convenue d'avance. Justification : littérature sur l'écart alerte-réponse (George et Holl 1997 ; Meyer et al. 2010) ; un système d'alerte dont les sorties restent consultatives ne déclenche pas d'action.

D15. Aucune clé API dans l'application ; traitement par tâche planifiée de Claude Code. Justification : contrainte budgétaire de l'analyste (forfait Claude actuel).

D16. Bulletin le lundi ; nouvelles plafonnées à 30 $ par mois. Justification : décisions de l'analyste.

D17. Panel de chercheurs et de coordonnateurs municipaux, sans certificat éthique. Justification : décision de l'analyste. Conséquence notée : une publication future des données du panel pourrait en être limitée.

D18. Validation rétrospective avant mise en service. Justification : approche éprouvée pour un détecteur de signaux faibles (Menning et al. 2026). Cas proposé : tarifs américains de 2025.

2026-10-01 — Première version

D19. NewsAPI.ai est la source de nouvelles ; Webz.io est écarté pour l'instant. Justification : la clé Webz.io fournie a été refusée par le service (« Unknown API token »). La clé NewsAPI.ai fonctionne et couvre bien les médias québécois (Radio-Canada, Le Devoir, La Presse en tête de la première collecte). Le forfait gratuit donne 2 000 jetons au total ; une collecte en coûte 20. Le forfait payant (90 $ US par mois) dépasse le budget.

D20. Chaque requête croise les termes du rhinocéros avec « Québec » et se limite aux médias canadiens. Justification : sans ce filtre, les termes français ramènent surtout la presse de France. Contrainte du forfait gratuit : 15 mots au plus par requête.

D21. GDELT reste en appoint et est abandonné après deux refus de suite. Justification : le service a refusé toutes les requêtes le 2026-10-01 (limite de débit).

D22. Un rhinocéros reste au registre quand sa réponse sort des stades de négligence. Justification : la fiche du protectionnisme américain propose le stade « panique », qui ne satisfait plus le critère « négligé » de D2. Le critère sert à l'entrée au registre ; le stade est ensuite suivi jusqu'à l'action. Proposition à valider par l'analyste.

D23. L'impréparation est chiffrée de 5 (déni) à 1 (action) ; la priorité vaut importance × impréparation, sur 25. Justification : mise en œuvre de D3. Échelle linéaire par défaut, à réviser avec le panel.

D24. Toute valeur affichée porte sa provenance : proposée par Claude ou validée par l'analyste. Justification : la cote de l'analyste prime toujours. Le dossier data/analyste/ n'est jamais écrit par la routine.

D25. Les trois fiches pilotes ont été rédigées par trois agents de recherche travaillant en parallèle, sous un contrat de données commun. Justification : gain de temps. Garde-fous : chaque fait doit renvoyer à une source ouverte pendant la tâche, la forme est contrôlée par scripts/verifier-donnees.mjs, et les fiches restent en brouillon jusqu'à validation. Limite : certaines sources n'ont été lues que dans des extraits de résultats de recherche ; chaque fiche le signale dans ses limites.

D26. Les signaux sont résumés à partir du titre et de l'extrait seulement ; les articles ne sont pas reproduits. Justification : respect du droit d'auteur et prudence, puisque l'article complet n'est pas lu.

D27. L'édition du 2026-10-01 est une édition d'essai hors cycle. Justification : éprouver la chaîne complète avant le premier bulletin régulier du lundi.

D28. Les validations de l'analyste alimentent une boucle d'apprentissage sans entraînement de modèle. Justification : demande de l'analyste. Trois leviers : des règles et des exemples d'ancrage relus avant chaque classement (docs/LECONS-CLASSEMENT.md), l'ajustement des requêtes, et la mesure du taux d'accord par rhinocéros et par niveau de confiance (npm run bilan). Fondement : la calibration par retour d'expert (Purk 2026).

D29. L'analyste peut soumettre une nouvelle par son adresse. Justification : demande de l'analyste. Une soumission montre ce que la collecte a manqué et sert à élargir les requêtes. L'application consigne l'adresse sans l'ouvrir ; la routine la classe ensuite.

D30. Le texte complet des articles n'est pas lu sur les sites qui interdisent les robots d'IA. Justification : les fichiers robots.txt de Radio-Canada, du Devoir et du Journal de Montréal interdisent les robots d'Anthropic et d'autres fournisseurs d'IA (vérifié le 2026-10-01). La routine travaille à partir des titres et des extraits des fils RSS et de NewsAPI.ai, et ne conserve que le titre, le lien et un court résumé. L'usage du texte complet fourni par NewsAPI.ai reste à décider par l'analyste.

D31. La collecte RSS passe de 6 à 27 fils. Justification : Radio-Canada publie un fil par thème et par région ; ces fils régionaux remontent à 3 à 7 jours et couvrent l'actualité municipale. Les fils du Devoir et du Journal de Montréal ne remontent qu'à 1 ou 2 jours : une collecte hebdomadaire n'en capte qu'une partie, le reste vient de NewsAPI.ai.

D32. D22 est confirmé par l'analyste : un rhinocéros reste au registre jusqu'au stade de l'action.

D33. La routine lit jusqu'à 1 000 caractères du texte fourni par NewsAPI.ai pour classer. Justification : accord de l'analyste. Rien de plus que le titre, le lien et un court résumé n'est conservé dans les signaux ; les articles bruts restent locaux et hors du dépôt.

D34. La routine du lundi est planifiée (lundi, 6 h), sans publication automatique. Justification : accord de l'analyste pour la planification. La routine prépare le bulletin en local ; rien n'est validé dans git ni poussé sans son accord explicite.

D35. Déploiement sans base de données : fichiers dans l'image, état de l'analyste sur un volume. Justification : un seul analyste, quatre petits fichiers d'état. Une base (Supabase) sera justifiée par des comptes multiples ou par le panel en ligne. La production fait foi pour l'état de l'analyste ; la routine en tire une copie (npm run tirer).

D36. La première clé d'API fournie est écartée. Justification : elle est refusée par Webz.io (« Unknown API token ») et par NewsAPI.ai (clé non reconnue). Seule la clé NewsAPI.ai fonctionne.

D37. Audit d'ergonomie, de conception, d'accessibilité et de sécurité (2026-10-01). Justification : demande de l'analyste. Cinq agents en lecture seule, puis recoupement dans le code et à l'écran. Constats et ordre de correction dans docs/AUDIT-2026-10-01.md. Constat principal : la production était en ligne sans mot de passe pendant quelques heures (aucune écriture étrangère, volume vide) ; l'accès a été fermé le jour même par l'analyste.

D38. Un mot de passe absent ferme le site au lieu de l'ouvrir. Justification : cause du constat précédent. En production, sans le secret ACCES_MOT_DE_PASSE, toutes les pages répondent 503 et le contrôle de santé échoue. Les écritures sont refusées si elles ne viennent pas des pages de l'application (requêtes d'un autre site, formulaires piégés), dix mots de passe erronés bloquent une adresse dix minutes, et les refus sont journalisés.

D39. Une saisie de l'analyste illisible n'est jamais remplacée par du vide. Justification : auparavant, un fichier de saisies corrompu était lu comme vide, et l'écriture suivante l'écrasait. Désormais, seul un fichier absent donne un état vide ; un fichier illisible ou de forme inattendue arrête la page et l'écriture. Dans le navigateur, tout échec d'enregistrement (réseau, serveur qui se réveille) est affiché et la valeur à l'écran revient à ce qui est réellement enregistré.

D40. Une section « Analyse » réunit ce qui se saisit. Justification : demande de l'analyste. La lecture (Troupeau, Bulletin, Possible adjacent, Méthode) est séparée du travail de l'analyste (validation des signaux, matrice, cotes à trancher). La page d'accueil de la section, l'établi, dit ce qui attend son jugement. Cette séparation prépare aussi un accès en lecture seule pour les lecteurs municipaux.

D41. Le compteur du Troupeau ne confond plus proposition et cote validée. Justification : l'accueil annonçait « 3 rhinocéros cotés » alors qu'il s'agissait de trois propositions de Claude et d'aucune cote de l'analyste. Le compteur distingue maintenant les cotes validées des propositions en attente ; l'importance, la priorité et le stade portent la mention « proposé » en toutes lettres tant que l'analyste n'a pas coté.

D42. Le contenu collecté est traité comme une donnée, jamais comme une consigne. Justification : la routine lit des titres et des extraits venus de n'importe quel site indexé, ainsi que les soumissions. Trois garde-fous : une règle écrite dans la routine, un périmètre de fichiers modifiables vérifié avant le compte rendu, et un nettoyage à la collecte (balises, caractères invisibles, adresses autres que http ou https). Le rendu des documents de la page Méthode neutralise le HTML brut.

D43. La matrice distingue « aucune influence » de « pas encore examinée ». Justification : une case à 0 et une case jamais regardée se confondaient, ce qui rendait l'avancement invisible et donnait un air définitif à un bilan partiel. Trois états sont conservés (non examinée, 0, 1 à 3) ; le journal note null pour « non examinée ». Une case modifiée plusieurs fois de suite n'entre au journal qu'avec sa valeur finale, pour que le journal reflète des changements d'avis et non des clics de passage. Le tableau « Sources et symptômes » porte la mention « bilan provisoire » tant que les 380 cases ne sont pas examinées.

D44. Les verdicts de l'analyste s'appliquent à l'affichage. Justification : un signal rejeté restait dans la fiche et un signal corrigé restait sous l'ancien rhinocéros. Désormais le rejet retire le signal des fiches, la correction le déplace, et chaque signal affiché dit s'il est proposé, validé ou corrigé. Un rejet porte un motif (hors sujet, sans lien avec le Québec, doublon, source peu fiable, trop ancien, autre), relu par la routine pour ajuster les requêtes ; un verdict peut être annulé. Les fichiers de signaux publiés ne sont pas modifiés : l'effet se calcule à la lecture.

D45. Le bulletin porte un statut de relecture tenu par l'analyste. Justification : le bulletin est rédigé par Claude et destiné à des lecteurs municipaux. Tant que l'analyste ne l'a pas marqué comme relu, il affiche « pas encore relu, à ne pas diffuser tel quel », à l'écran comme à l'impression. La relecture est une saisie de l'analyste (fichier relectures.json, sur le volume), pas un champ du bulletin : la routine ne peut donc pas la poser elle-même.

D46. Un lexique fixe le vocabulaire ; les définitions des stades sont des propositions. Justification : aucun terme n'était défini là où il sert. docs/LEXIQUE.md devient l'onglet d'accueil de la Méthode ; les cinq stades de réponse y reçoivent une définition d'une phrase, reprise près du formulaire de cote. Ces définitions paraphrasent Wucker et restent à valider par l'analyste. Les échelles d'importance ancrées par des exemples québécois (cadrage, section 6) ne sont pas encore écrites.

D47. La provenance de chaque signal est vérifiée par programme. Justification : suite de D42. npm run verifier refuse un signal dont l'adresse n'est ni dans la collecte de sa semaine ni dans les soumissions, tout texte contenant une balise HTML ou un caractère invisible, et les textes hors bornes. npm run perimetre signale tout fichier modifié hors des données et des deux documents permis à la routine.

D48. Le déploiement passe par une seule chaîne, après vérification. Justification : constat du 2026-10-01, une poussée ne déclenchait aucun déploiement. Le workflow GitHub installe les dépendances, vérifie les types et les données, puis déploie avec un jeton limité au déploiement ; ses actions sont épinglées par empreinte. Si une vérification échoue, rien n'est mis en ligne.

D49. La lecture est libre ; seule la section Analyse exige un mot de passe. Justification : demande de l'analyste, qui revient sur la diffusion restreinte retenue au cadrage. Le Troupeau, les fiches, le Bulletin, le Possible adjacent et la Méthode se lisent sans mot de passe ; la saisie (validation, cotes, matrice, relecture) et l'export restent réservés. Conséquences : le formulaire de cote quitte la fiche pour une page d'Analyse qui met la proposition et ses justifications à côté du formulaire ; la relecture du bulletin se marque dans l'établi ; les documents qui décrivent l'installation et la sécurité passent dans Analyse ; le site reste non indexé par les moteurs de recherche. Tout ce qui est proposé et non validé reste marqué comme tel, et un bulletin non relu affiche « à ne pas diffuser tel quel ».

D50. La nomenclature des chocs et des stress est celle des 100 villes résilientes. Justification : demande de l'analyste. Les « stress lents » deviennent des stress chroniques et les « déclencheurs » des chocs aigus, selon les termes français de la Stratégie montréalaise pour une ville résiliente (2018). Une liste de déclencheurs mêlait des chocs et des décisions : chaque entrée porte maintenant sa nature, choc ou événement. Le concept entre aussi dans l'analyse par une règle de lecture, tirée de la même stratégie : un choc est toujours rapporté aux stress chroniques sur lesquels il tombe (effet multiplicateur). Chaque fiche reçoit une lecture croisée, marquée comme proposition et rédigée à partir des seuls faits déjà présents dans la fiche. Les clés des fichiers de données gardent leur nom, pour ne pas rompre l'historique.

D51. Les critères d'analyse sont réunis dans un document public. Justification : demande de l'analyste. docs/CRITERES-ANALYSE.md rassemble les critères jusque-là dispersés entre le cadrage, la routine et le code : entrée au registre, lecture des chocs et des stress, transmission, réponse, cotes, possible adjacent, classement des signaux, interactions, surveillance, règles de rigueur. Les repères d'importance ancrés sur des exemples québécois n'y figurent pas encore : ils restent à écrire avec l'analyste.

D52. Essai de la collecte après son durcissement (2026-10-02). Justification : la collecte avait été modifiée par l'audit sans être relancée. Essai dans une copie à part, sur deux rhinocéros (deux jetons) : 27 fils RSS lus sur 27, deux requêtes NewsAPI.ai réussies (4 et 7 articles sur sept jours), aucune adresse non http ni balise dans les 14 articles retenus, extraits bornés à 1 000 caractères. GDELT a échoué à la connexion puis a été abandonné, comme prévu. 49 jetons utilisés sur 2 000. Aucun fichier du projet n'a été modifié par l'essai.

D53. La clé Webz.io fonctionne ; D36 est corrigé (2026-10-02). Justification : la clé avait été écartée parce qu'elle était refusée. L'analyste a fourni la requête exacte : la clé est valide sur le point d'accès api.webz.io/api/news, et non sur celui essayé le 1er octobre. Trois requêtes d'essai (0,06 chacune, solde de 4,88 au départ) : une requête générale, puis deux requêtes ciblées sur sept jours, en français, au Canada. Résultats : 41 articles sur les cyberattaques et 21 sur l'assurance, contre 7 et 4 par NewsAPI.ai sur la même période. Webz.io ajoute des médias régionaux et spécialisés absents de NewsAPI.ai (La Voix de l'Est, Le Nouvelliste, Le Reflet du Lac, Journal de Lévis, Portail de l'assurance), et aussi plus de bruit (pages institutionnelles, blogues, culture). Trois articles de Radio-Canada sont communs aux deux sources. Chaque réponse ne livre que 10 articles ; le texte complet est fourni, mais la règle des 1 000 caractères lus et du seul résumé conservé reste en vigueur. Le champ ai_allow de Webz.io vaut « vrai » pour Radio-Canada, dont le fichier robots.txt interdit pourtant les robots d'IA : ce champ ne suffit donc pas à lever la question. Webz.io n'est pas encore branché sur la collecte : la décision dépend du coût par semaine, à fixer avec l'analyste.

D54. Webz.io complète la collecte, pour six rhinocéros seulement. Justification : accord de l'analyste. Webz.io remonte les médias régionaux et spécialisés du Québec, utiles pour un bulletin destiné aux municipalités, mais il est payé à la requête et plus bruyant. Il n'interroge donc que les rhinocéros à forte dimension municipale ou régionale : extrêmes météorologiques, retrait de l'assurabilité, cyberattaques, chaleur et fumée, déficit de maintien des infrastructures, logement. Une requête de dix articles par rhinocéros, six requêtes au plus par collecte, soit 0,36 par semaine. La colonne « Couverture 7 j » ne compte pas ces articles : elle doit rester comparable d'un rhinocéros à l'autre, donc elle ne retient que les sources interrogées pour tous. Essai du 2 octobre sur le déficit d'infrastructures : 10 articles reçus sur 82, dont Le Droit, Les Affaires, Le Lac-St-Jean et Info Outaouais, et un site inconnu, d'où la règle de recoupement ajoutée à la routine.

D55. Un avertissement s'affiche à la première visite. Justification : demande de l'analyste, sur le modèle de la vigie multi-aléas du LabAtelier ÉGIDE. Depuis que la lecture est libre (D49), un lecteur peut arriver sans connaître la nature de l'outil. La fenêtre dit deux choses : le registre est rédigé par une IA puis validé par un analyste ; c'est un prototype de recherche qui ne remplace pas les canaux officiels d'urgence. Le renvoi vers Urgence Québec et le 9-1-1, présent dans la vigie, a été retiré à la demande de l'analyste : le registre ne traite pas d'urgences en cours. Elle ne s'ouvre d'elle-même qu'une fois : le navigateur retient seulement qu'elle a été lue (aucun témoin, aucune donnée envoyée). Un lien au pied de page permet de la relire.

D56. Des bulles d'information expliquent les sections là où elles se lisent. Justification : demande de l'analyste, sur le modèle de la vigie multi-aléas. Le lexique définit les termes, mais il oblige à quitter la page. Un bouton ⓘ à côté d'un titre ouvre un court encart en deux temps, « ce que c'est » puis « comment le lire », utilisable au clavier et sur téléphone. Huit bulles pour commencer, là où un lecteur municipal bute le plus : graphique du Troupeau, priorité, couverture, stress chroniques, chocs et événements, possible adjacent, statut du bulletin, matrice. Les suivantes sont listées, avec leur texte, dans docs/DEVELOPPEMENTS-FUTURS.md.

2026-10-08 — Première routine régulière (semaine 2026-S41)

D57. Un article qui décrit un événement antérieur à la période de collecte est écarté, même si le fil le date de la semaine. Justification : un fil de Radio-Canada a daté du 7 octobre 2026 une vidéo sur les pluies diluviennes de juin 2026 dans le Grand Montréal. Retenir un tel article ferait apparaître un choc qui n'a pas eu lieu dans la semaine. La date d'un fil est une donnée de publication, pas une date d'événement.

D58. Les premières validations servent d'abord à écrire des règles, pas à mesurer l'accord. Justification : trois verdicts (un accepté, deux rejetés) donnent un taux d'accord de 33 % qui ne veut rien dire. Les deux rejets ont chacun produit une règle dans docs/LECONS-CLASSEMENT.md ; le taux ne sera lu qu'à partir d'une vingtaine de verdicts.

D59. Une nouvelle qui vaut pour tout le troupeau (élection, budget) n'est retenue que rhinocéros par rhinocéros. Justification : l'élection du 5 octobre 2026 touche presque tous les rhinocéros, mais un signal ne porte qu'un rhinocéros. Chaque article d'élection est rattaché au rhinocéros qu'il nomme (itinérance, tarifs, Churchill Falls) ; l'événement lui-même entre dans les fiches comme « événement » et dans le bulletin comme point essentiel, pas comme signal flottant.

D60. La collecte a deux étages : le monde d'abord, puis le Canada et le Québec. Justification : correction de l'analyste le 8 octobre 2026. Un rhinocéros gris naît presque toujours hors du Québec (une éclosion de peste en Sibérie, une flambée d'Ebola, une crise financière) et l'atteint par un canal de transmission ; une collecte limitée aux médias canadiens et à l'ancrage « Québec » ne voit que l'arrivée, jamais l'approche. L'étage mondial de NewsAPI.ai interroge, sans ancrage ni restriction de pays, des termes propres à chaque rhinocéros (termes_monde), cherchés dans les titres seulement et limités aux sources du premier cinquième du classement, pour contenir le bruit. Coût : un jeton de plus par rhinocéros (40 par collecte au lieu de 20 ; à ce rythme, les 1 924 jetons restants au 8 octobre 2026 couvrent environ 48 semaines). Essai du 8 octobre sur la pandémie : 1 013 titres correspondants dans le monde en sept jours, 30 retenus, presque tous pertinents (peste en Sibérie, Ebola en RDC, rougeole dans l'État de New York, grippe au Royaume-Uni), alors que l'étage Canada/Québec n'en avait ramené aucun. Limite connue : les 30 articles retenus sont les plus récents, donc ceux du dernier jour ; une semaine chargée perd ses premiers jours. Piste : deux fenêtres de trois ou quatre jours, au prix d'un jeton de plus.

2026-10-09 — Section À propos

D61. Une section « À propos » dit en une page ce que l'outil est, les mots qui comptent et ce qu'il ne fait pas. Justification : demande de l'analyste. Le lexique est un ouvrage de référence et le cadrage un document de travail ; aucun des deux ne présente l'outil à qui arrive de la fenêtre d'avertissement. La liste de ce que l'outil ne fait pas (pas d'alerte, pas de prévision, pas de décision opérationnelle, pas de lecture des articles, pas de modèle consulté à la visite, pas de suivi des visiteurs) tient le même rôle que l'avertissement d'usage de la vigie multi-aléas : prévenir les mésusages avant qu'ils n'arrivent. La page vient de docs/A-PROPOS.md, modifiable sans toucher au code, et affiche l'état courant du registre (rhinocéros, fiches, signaux, bulletins). La fenêtre d'avertissement et le pied de page y renvoient.

2026-10-12 — Routine de la semaine 2026-S42

D62. La confirmation tardive d'un événement passé va au lot de vérification, pas au bulletin. Justification : D57 écarte un article qui décrit un événement antérieur à la période. Un cas voisin s'est présenté : la confirmation, cette semaine, de deux tornades survenues le 27 août. La donnée est nouvelle, l'événement ne l'est pas. Le signal est gardé comme tendance, marqué à valider, et n'est pas présenté comme un choc de la semaine.

D63. Un choc mondial à plusieurs canaux est classé par l'effet que décrit chaque article. Justification : le choc sur le diesel de l'automne 2026 touche quatre rhinocéros à la fois. Un signal ne porte qu'un rhinocéros (D59) ; plutôt que de tout rattacher à la cause, chaque article est classé sous l'effet qu'il décrit, et le bulletin dit explicitement que ce découpage est une proposition. Les cas où deux rhinocéros se valent vont au lot de vérification.

D64. La règle sur les sites peu connus s'étend à NewsAPI.ai. Justification : l'étage mondial ramène des sites que l'analyste ne connaît pas. Un fait rapporté seulement par un tel site, même s'il cite une agence, est retenu au lot de vérification avec une cote C et présenté comme « à confirmer » dans le bulletin et dans la fiche.

2026-10-12 — Nom de l'outil

D65. L'outil s'appelle CASSANDRE ; son bulletin hebdomadaire garde le nom Rhinocéros gris. Justification : demande de l'analyste. Un même nom désignait jusque-là trois choses : le concept de Wucker, l'outil et le bulletin. Cassandre annonce juste et n'est pas crue : c'est le problème même du rhinocéros gris, et l'outil veut faire mentir le mythe en rendant les signaux clairs, documentés et traçables. Le nom, l'accroche (« Voir venir ce qui est probable, grave et négligé ») et la description tiennent dans lib/identite.ts. Deux mentions deviennent obligatoires : le crédit de l'expression à Michele Wucker (The Gray Rhino, St. Martin's Press, 2016), dans le pied de page et dans chaque édition du bulletin, et le rattachement au LabAtelier ÉGIDE. Les identifiants internes (dossier, paquet, clés de données) gardent rhinoceros-gris. Le dépôt et l'application en ligne s'appellent egide-cassandre depuis le même jour (adresse https://egide-cassandre.fly.dev) ; l'ancienne application anticipation a été supprimée, donc sans redirection. La marche à suivre est dans DEPLOIEMENT.md, et le code sait désormais rediriger une ancienne adresse (variable REDIRECTION_VERS).

Limites connues au 2026-10-01

Méthode : Journal de méthode — CASSANDRE