Skip to content

History / 1.12 MCP Integration Guide

Revisions

  • docs(wiki): RC4 — notes de version, et 23 defauts documentes qui n'existent plus Le wiki citait 23 issues comme ouvertes. Toutes sont fermees : chaque « voir issue #N » decrivait donc un defaut corrige, et le wiki decrivait une application qui n'existe plus. Nouvelles notes de version (3.4), sur le modele des RC3 : orientees utilisateur, ordonnees par ce qu'on perdait ou voyait de faux plutot que par famille technique. La section 1 s'ouvre sur les deux defauts qui retiraient du texte d'un livre exporte, parce que c'est ce qu'un auteur doit lire en premier. Dix-huit pages corrigees. Le plus souvent, un long paragraphe decrivant un bug verifie dans le code est remplace par sa resolution — d'ou un diff qui retire plus de lignes qu'il n'en ajoute. Les affirmations les plus trompeuses etaient : - les reglages d'ouvrage « n'ont aucune UI » (ils en ont une depuis la RC4) - l'export Word d'un livre cite « sort vide » (corrige) - le corpus manuscrit sans interface (elle existe) - le compresseur de contexte « jamais appele » (cable, et ses trois distorsions corrigees) - `embeddingProvider` sans controle (section Embeddings) - le filtre par collection absent, le bouton OCR manuel injoignable, le toggle des noeuds auteurs desactive en dur Home annonce la RC4 ; Features passe en 1.0.0-rc.4 et gagne deux sections — corpus manuscrit et accessibilite — qui n'avaient nulle part ou vivre. Les limitations connues des notes RC4 sont argumentees, pas subies : pdfjs-dist renvoie a #77, et le mode de detection seule de l'inspecteur explique pourquoi une source primaire contenant des imperatifs ne doit pas etre tronquee. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

    @inactinique inactinique committed Jul 26, 2026
  • docs(wiki): seizième passe — changer de projet peut perdre des frappes non sauvegardées ou faire planter l'indexation PDF en cours Poursuite de la chasse « que se passe-t-il si on change de projet pendant une opération en cours », déjà fructueuse en passe 15 (issues #33/#34/#35). Trois nouveaux bugs applicatifs réels trouvés et filés cette passe, chacun dans un mécanisme différent qui n'avait pas encore été soumis à cet angle : - issue #37 (le plus impactant pour l'utilisateur) : changer de projet ClioDeck avec des modifications non sauvegardées dans l'éditeur les perd silencieusement, sans aucun avertissement. Le garde-fou qui protège déjà la bascule de chapitre (loadFile() vérifie isDirty et sauvegarde avant de continuer) n'a pas d'équivalent au niveau du changement de projet (loadProject() n'a aucune vérification de ce type). C'est exactement la même classe de bug déjà corrigée une fois à l'échelon du chapitre, réintroduite un niveau au-dessus. - issue #38 : l'indexation d'un PDF peut planter si l'on change de projet pendant qu'elle tourne encore — pdf-service.ts ferme inconditionnellement le vectorStore de l'ancien projet dès le début de init(), sans vérifier qu'une indexation est encore en cours. Pas de corruption inter-projets ici (le PdfIndexer garde sa bonne référence), mais l'écriture finale échoue contre une base fermée — d'autant plus atteignable que l'extraction PDF isolée (documentée en passe 14) peut prendre jusqu'à 120 secondes. - issue #39 : l'entrée de journal d'audit d'un appel d'outil MCP peut être attribuée au mauvais projet après un changement — même famille et même sévérité que l'issue #35, aucun résultat d'outil n'est affecté, seule la traçabilité de l'audit peut se tromper de projet. Confirmé aussi qu'exactement le même défaut existe une seconde fois dans le gestionnaire zotero:apply-updates — couvert par l'issue #33 existante plutôt que filé séparément, le correctif étant identique. Autres corrections : - RC3 Release Notes : nouvelle sous-section listant les bugs significatifs découverts depuis la sortie (#27, #30, #32, #33), confirmés présents dès le tag v1.0.0-rc.3 lui-même. - Logging System : incohérence interne trouvée sur une relecture complète de bout en bout — le schéma d'architecture étiquetait encore console-filter.ts « (live) » sans conditions, alors que le texte détaillé explique depuis plusieurs passes que le filtre renderer n'est en réalité jamais actif. - Features.md : le filtrage par tags multiples est en réalité en OR (n'importe quel tag sélectionné), pas en AND comme un utilisateur pourrait raisonnablement s'y attendre, et il n'existe aucun bouton pour changer de mode — précision ajoutée. Audit d'intégrité, à l'échelle du wiki entier : les 39 issues filées à ce jour ont été vérifiées une à une (numéro, état, titre) contre GitHub depuis chaque page qui les cite — aucune référence périmée, fermée ou renumérotée trouvée. Cluster install & build entièrement propre cette passe (aucune correction), converge après plusieurs passes consécutives sans trouvaille nouvelle.

    @inactinique inactinique committed Jul 24, 2026
  • docs(wiki): treizième passe — embeddingProvider toujours sans UI (contradiction avec #18), variable d'environnement Wayland inexistante Aucun nouveau bug applicatif filé — uniquement des corrections de documentation, dont deux contradictions inter-pages qui avaient survécu 12 passes précédentes : - Technical Architecture : affirmait que embeddingProvider est sélectionnable depuis Settings → LLM au même titre que generationProvider — faux, aucune UI n'existe pour ce réglage (contredit directement l'issue #18 et le propre texte du guide LLM embarqué). Corrigé, et documentation du garde-fou réel découvert au passage : le repli automatique Ollama→embarqué pour les embeddings ne s'active que si les deux modèles partagent la même dimension de vecteur, sinon échec volontaire plutôt que corruption silencieuse de la recherche par similarité. - Export Presentations : les réglages de style de notes/bibliographie du livre étaient présentés sans réserve alors qu'ils sont entièrement figés (issue #24, documentée ailleurs mais pas liée ici) — lien ajouté. Autres corrections : - Installation Linux : `ELECTRON_NO_SANDBOX` n'est pas une variable d'environnement Electron réelle — le vrai nom est `ELECTRON_DISABLE_SANDBOX` ; commande de suppression de ~/.local/share/cliodeck retirée (l'app n'y écrit jamais, chemin Electron par défaut confirmé). - MCP Integration Guide : la nouvelle bannière de retry MCP a été qualifiée à tort de « silencieuse » — la transition par l'état `degraded` est en fait visible en temps réel dans l'UI (même code couleur que `failed`) ; seule la tentative elle-même est automatique, pas son affichage. - Zotero Integration Guide : documentation d'un comportement réel non documenté jusqu'ici — le mode local copie zotero.sqlite (+ le WAL) dans un fichier temporaire en lecture seule, donc sûr même avec Zotero ouvert en parallèle. Deux clusters entièrement propres cette passe (aucune correction) : meta & notes de version (méthode de vérification contre les tags git appliquée à un nouvel échantillon, tout confirmé), feature pages & home (balayage complet contre les issues #16-#28, rien trouvé).

    @inactinique inactinique committed Jul 24, 2026
  • docs(wiki): onzième passe — Unlink Obsidian écrase brain.db, compression de contexte jamais câblée Deux bugs applicatifs sérieux trouvés et filés cette passe, en changeant de méthode sur le cluster brainstorm/intégrations (deux passes propres consécutives, donc recherche de contradictions inter-pages et de collisions sur des ressources partagées plutôt que répéter les mêmes vérifications) : - issue #27 : le bouton « Unlink » d'un carnet Obsidian supprime le fichier .cliodeck/brain.db tout entier via fs.unlink, pas seulement l'index du carnet — obsidianStorePath() pointe vers le même fichier partagé que les vecteurs PDF, l'index Tropy et le journal de recherche depuis la consolidation. Documenté dans 1.14-Obsidian-Vault-Guide.md. - issue #28 : le système de compression de contexte RAG (ContextCompressor.ts) n'est appelé nulle part dans le vrai chemin de requête — retrieval-service.ts ne renseigne jamais le champ `compression` que chat-engine.ts vérifie en aval. Tout contexte récupéré part vers le LLM sans compression, quelle que soit sa taille. Documenté dans 2.-Technical-Architecture.md (section renommée « declared but dead »). Autres corrections : - Brainstorm Mode Guide + MCP Integration Guide : une vraie UI de bascule par outil existe désormais (bannière MCP, classification lecture/écriture avec opt-in explicite pour les outils d'écriture) — la note « UI minimale » était périmée, remplacée par une section complète. - Keyboard Shortcuts : nuances plateforme sur F11 (plein écran) et F12 (DevTools) sur macOS, même classe de lacune que Cmd+W (passe 10). - Logging System : dernière formulation trop large sur les DevTools et les variables d'environnement corrigée (seul CLIODESK_DEBUG/DEBUG ouvre les DevTools, pas CLIODESK_LOG_LEVEL ; les logs renderer révélés n'existent de toute façon plus dans le bundle de production). - RC2 Release Notes : le « problème connu » sur l'étape export des recipes était factuellement faux (document_id était déjà honoré à ce tag) — remplacé par la vraie limitation de l'époque (projectType 'article' figé), corrigée avant RC3. - Features.md : tableau de bord statistiques a 5 onglets, pas 4 (onglet Tags manquant). - Installation Linux : bibliothèques système manquantes dans le résumé (libsecret-1, libgbm) alors que présentes dans la commande d'installation réelle. - Build and Deployment Guide : build:all ne construit que pour la plateforme hôte, pas toutes les plateformes ; stockage des clés API documenté avec son repli en clair non signalé ailleurs quand le chiffrement OS n'est pas disponible.

    @inactinique inactinique committed Jul 24, 2026
  • docs(wiki): num_ctx ne concerne que les embeddings, en-têtes MCP désynchronisés des onglets réels - Brainstorm guide : « Adjust num_ctx in Settings → LLM » pour les fenêtres de contexte de génération — le seul réglage num_ctx qui existe (ollamaEmbeddingNumCtx, LLMConfigSection.tsx:358-362) concerne les requêtes d'embedding Ollama, pas la génération. Aucun contrôle de fenêtre de contexte pour la génération n'existe dans l'UI aujourd'hui. - MCP guide : les en-têtes de section (« Claude Code », « Generic stdio client ») ne correspondaient plus aux libellés d'onglets réels déjà corrigés ailleurs sur la même page (« Claude Code CLI », « Generic MCP (stdio) », common.json:1413,1415).

    @inactinique inactinique committed Jul 24, 2026
  • docs(wiki): mauvaise caractérisation d'Explore, contradiction interne sur le journal d'accès MCP - Brainstorm guide : décrivait Explore comme les « panneaux de corpus : bibliographie, archives, vault ». Faux — ExplorePanel.tsx a trois onglets (Corpus Explorer, Similarity, Textometrics) ; bibliographie et sources primaires vivent dans la barre latérale gauche, le vault Obsidian se configure dans Settings. Cette phrase d'ouverture avait survécu à deux passes « clean ». - MCP Integration Guide : la page se contredisait elle-même à 90 lignes d'écart — une section dit qu'un visualiseur dédié du journal d'accès est « sur la feuille de route RC3 » (donc absent), une autre affirme qu'il est déjà « agrégé dans le panneau Sécurité ». Vérifié : aucune référence à mcp-access/MCPAccessEvent dans tout le renderer — la seconde affirmation était fabriquée.

    @inactinique inactinique committed Jul 23, 2026
  • docs(wiki): deuxième passe — corriger vectors.db, une régression de numérotation, et deux erreurs de sécurité factuelle Cette repasse adversariale a trouvé des erreurs que la première n'avait pas vues, y compris deux que j'ai moi-même introduites en corrigeant autre chose. **Régression introduite par mes propres corrections précédentes** : - Les arborescences de projet réécrites dans les guides Linux/macOS citaient `vectors.db` comme fichier d'index PDF. Vérifié frais contre backend/core/workspace/layout.ts:67 — le nom réel est `brain.db`, store partagé (PDF + Tropy + historique) depuis la fusion. `vectors.db` n'est qu'un nom pré-fusion, uniquement pertinent pour la migration d'anciens projets. Corrigé dans 1.-ClioDeck-Installation.md, 1.1-Linux, 1.2-macOS, et 2.1-Build-and-Deployment-Guide.md (cette dernière portait la même erreur, présente avant mes modifications). - Numérotation cassée dans « Option B: Installation from Source » (Linux et macOS) : la suppression d'une étape lors de ma correction precedente avait laissé un saut 3 → 5 sans renuméroter. Corrigé dans les deux fichiers. **Erreurs à impact utilisateur réel, ratées par la première passe** : - Obsidian Vault Guide : la page affirmait qu'« Unlink » laisse l'index en place et qu'un re-lien le réutilise. Vérifié contre fusion-handlers.ts:619-631 — le handler fait `fs.unlink(dbPath)`, l'index est bien supprimé ; se relier déclenche une reconstruction complète. Un utilisateur suivant l'ancienne description perdrait du temps à croire son index intact. Champ TITLE → TITRE corrigé au passage (vérifié fusion-chat-service.ts:838). - Tropy Integration Guide : un raccourci clavier Ctrl+Shift+S pour la synchronisation n'existe nulle part (grep sur menu.ts et les composants PrimarySources, aucune occurrence) — retiré. La page décrivait aussi les embeddings comme figés sur nomic-embed-text ; tropy-service.ts:98 utilise le provider configuré, comme partout ailleurs dans l'app. Chemins de stockage corrigés vers brain.db + primary-hnsw.index (vérifiés dans PrimarySourcesVectorStore.ts:125-126). - MCP Integration Guide : la troncature des réponses (4000 caractères, 2000 pour Gallica/HAL) n'était pas documentée alors qu'elle est visible dans les réglages de l'app elle-même ; ajoutée. Libellés des onglets alignés sur l'UI réelle (« Claude Code CLI », « Generic MCP (stdio) »). Build-and-Deployment-Guide.md : la section « User Installation » citait encore des noms de fichiers 1.0.0 sans suffixe arm64, alors que les guides Linux/macOS avaient déjà été corrigés dans le même sens la première fois — incohérence entre pages, maintenant alignée.

    @inactinique inactinique committed Jul 23, 2026
  • docs: RC2 wiki — Brainstorm, MCP, Archives, Obsidian + Home rewrite Rewrites Home.md (was almost empty) as a navigable TOC and adds four new user guides covering the features introduced by the ClioBrain fusion and the surrounding RC2 work: - 1.11 Brainstorm Mode — the chat mode that absorbed ClioBrain (agent loop, `.cliohints`, source grounding, retrieval scope toggles). - 1.12 MCP Integration — both directions: MCP clients consumed from ClioDeck, and ClioDeck's own MCP server exposed to Claude Desktop / Claude Code. Includes ready-to-paste snippets and the 9-tool catalog. - 1.13 Archive Connectors — Gallica, HAL, Europeana. API key flow for Europeana (Electron safeStorage). - 1.14 Obsidian Vault — pointing the app at a vault folder, indexing, use as a RAG source. Plus 3.2 RC2 Release Notes, and the pre-RC2 release artefacts move to `_archive/` (BETA 2 notes and the v1.0 implementation plan). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

    @inactinique inactinique committed May 17, 2026