Skip to content

History

Revisions

  • docs(wiki): section Adaptive Chunking jamais confrontée au code en détail — trois erreurs - Regex de détection de structure trop permissives par rapport au vrai code. Le pattern "numbered" exige un point final et un titre en majuscule de 2-50 caractères (AdaptiveChunker.ts:149), pas la version laxiste affichée. Le pattern "uppercase" exige 6-51 caractères plus un filtrage sur une liste de titres connus (ligne 168), pas un simple {3,}. - Interface DocumentChunk : un champ embedding?: number[] inventé — les embeddings vivent dans la ligne de la base ou le vector store, jamais sur cet objet en mémoire (backend/types/pdf-document.ts:57-66). Les vrais champs startPosition/endPosition manquaient. - Schéma SQLite : la table s'appelle pdf_chunks, pas chunks (VectorStore.ts:104-113) ; colonnes metadata et created_at inventées, absentes du vrai schéma ; start_position/end_position manquantes ; noms d'index réels (idx_chunks_document_id, idx_chunks_page_number) différents de ceux affichés.

    @inactinique inactinique committed Jul 24, 2026
    45bdcc7
  • docs(wiki): venv Python répète l'erreur manuelle/automatique, diagramme de session clarifié - Corpus Analysis Guide : « Installation automatique au premier usage » pour l'environnement Python — même erreur déjà corrigée sur le guide macOS (topic-modeling-handlers.ts:3 : gestion manuelle explicite), jamais propagée ici. - Journal and History : le diagramme « Structure » ne montre que des échanges question/réponse, en tension avec la ligne « Total events » juste en dessous qui précise (depuis la passe 4) que les opérations de document, PDF et les décisions de proposition comptent aussi. Légende ajoutée pour éviter la contradiction de lecture.

    @inactinique inactinique committed Jul 24, 2026
    5b44f1e
  • docs(wiki): la vérification Ollama se déclenche à l'ouverture des Paramètres, pas au lancement Les quatre pages d'installation/build répétaient la même inexactitude, copiée telle quelle d'une page à l'autre : « au premier lancement, ClioDeck vérifie la connexion Ollama ». Vérifié dans ConfigPanel.tsx — le déclencheur réel est un useEffect qui se déclenche au montage du panneau Paramètres (handleRefreshModels), pas au démarrage de l'application. Un utilisateur qui n'ouvre jamais les Paramètres ne déclenche jamais cette vérification. Confirmé qu'aucune vérification équivalente n'existe au niveau du démarrage (App.tsx, main/index.ts).

    @inactinique inactinique committed Jul 24, 2026
    0735169
  • docs(wiki): un troisième logger existe — celui réellement utilisé par le renderer Quatre passes avaient déclaré cette page propre en vérifiant que @shared/logger.ts se comporte bien comme décrit — vrai en isolation, mais personne n'avait vérifié qui l'importe réellement. Résultat : zéro fichier en dehors de logger.ts lui-même (grep sur tout src/ et backend/). 100% des imports réels de logger côté renderer résolvent vers un troisième fichier jamais documenté : src/renderer/src/utils/logger.ts — API différente (log/info/debug variadiques + canaux typés ipc/store/component/error), mécanisme de suppression différent (strip par le bundler esbuild, pas les variables d'environnement). Toute la section « Centralized Logger (for Developers) » documentait donc du code mort. Remplacée par la vraie API. Le filtre console global (console-filter.ts) reste correctement décrit — c'est un mécanisme séparé et bien réel, importé par main.tsx et main/index.ts. Arbre d'architecture et vue d'ensemble mis à jour pour refléter les trois mécanismes réels (filtre console, logger renderer, logger main process) plutôt que les deux précédemment documentés.

    @inactinique inactinique committed Jul 24, 2026
    eadd73b
  • docs(wiki): {content} n'est pas fiable pour un livre via le mécanisme placeholder Vérifié dans word-export.ts : le manuscrit assemblé (chapitres joints) est stocké dans une variable locale sourceMarkdown après un appel à assembleManuscript(), mais mergeWithTemplate() reçoit content: options.content tel quel (ligne 975) — la valeur d'origine, non assemblée, envoyée vide par le renderer pour les livres (validation.ts:569-570 le confirme). Le contenu assemblé n'alimente que le chemin de génération native sans template. La table des placeholders promettait « chapitres assemblés dans l'ordre » sans cette réserve depuis la première rédaction de la page.

    @inactinique inactinique committed Jul 24, 2026
    008e673
  • docs(wiki): lister les 15 langues OCR réellement supportées, pas juste six + et autres

    @inactinique inactinique committed Jul 23, 2026
    3b5cad2
  • docs(wiki): documenter le mode local Zotero, jamais mentionné Toute la page ne documentait que le mode API (User ID + clé API). Un second mode existe pourtant, réglable via le même sélecteur dans les paramètres Zotero : « Local database (reads zotero.sqlite) » (ZoteroConfigSection.tsx, config.mode: 'api' | 'local') — entièrement hors ligne, sans clé API, en pointant directement vers le dossier de données Zotero (~/Zotero). zotero-service.ts confirme que les deux modes sont interchangeables derrière la même interface (IZoteroDataSource) : tout le reste du guide (import, sync, PDF) s'applique aux deux de la même façon. Section ajoutée après la configuration API, et note dans les prérequis pour ne pas laisser croire que la clé API est obligatoire.

    @inactinique inactinique committed Jul 23, 2026
    60ada5f
  • docs(wiki): champ TITRE mal décrit, diagnostic de note ignorée invérifiable - TITRE : la page donnait le chemin relatif complet comme exemple typique. En réalité (retrieval-service.ts : h.note.title || h.note.relativePath), le titre normal vient du frontmatter, du premier H1, ou du nom de fichier nu (ObsidianMarkdownParser.ts) — le chemin relatif n'est qu'un repli de dernier recours. - « Consultez les logs de l'indexeur dans DevTools » pour savoir pourquoi une note a été ignorée : aucun console.log dans tout le dossier obsidian/, et le handler IPC ne renvoie que des compteurs agrégés — aucune raison par note n'est exposée nulle part.

    @inactinique inactinique committed Jul 23, 2026
    d7b0bed
  • 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
    63d3bc5
  • docs(wiki): deux citations de fichier fausses et un extrait BibTeX qui sous-estime largement le vrai code - Extraction PDF : le code cité (getDocument/getTextContent/getMetadata) ne vit pas dans PDFIndexer.ts (646 lignes, zéro occurrence de ces appels) mais dans PDFExtractor.ts — PDFIndexer.ts n'est qu'un orchestrateur qui délègue. - Zotero : les appels fetch() et les en-têtes cités (Zotero-API-Key, api.zotero.org) ne sont pas dans zotero-service.ts (zéro fetch()) mais dans backend/integrations/zotero/ZoteroAPI.ts, jamais cité par la page. - BibTeX : le code montré était une fonction de 20 lignes à base d'une seule regex. Le vrai parseur (BibTeXParser.ts) est une classe de 484 lignes ; aucune fonction parseBibTeX n'existe nulle part dans le dépôt.

    @inactinique inactinique committed Jul 23, 2026
    64a1911
  • docs(wiki): deux sections entières fabriquées — reprise de conversation et timeline calendaire - « Resuming a conversation » décrivait une fonctionnalité qui n'existe pas : ChatHistoryView.tsx est un rendu en lecture seule pur, sans gestionnaire de clic ni mutation d'état. Recherche exhaustive de resumeConversation/resumeSession/continueConversation/etc. dans tout le renderer et le main : aucun résultat. Toute la sous-section « Limits » décrivait les limites d'une fonctionnalité qui n'a pas lieu d'en avoir, puisqu'elle n'existe pas. - « Session timeline » décrivait une vue calendaire/heatmap avec survol, clic pour filtrer par jour et zoom semaine/mois/année. Le vrai composant (SessionTimeline.tsx, lu intégralement) est une simple liste verticale d'événements au sein d'UNE session — aucun agrégat par jour, aucun survol, aucun filtre, aucun zoom. - Bullet « Context recovery: pick up an earlier conversation » en tête de page retiré — contredisait directement la correction ci-dessus.

    @inactinique inactinique committed Jul 23, 2026
    9ae5ea7
  • docs(wiki): nœud auteur désactivé en dur, libellé de bouton et action de dépannage inexistants - « Auteur (si activé) » comme type de nœud du graphe : includeAuthorNodes est câblé à false aux deux points d'appel (useCorpusData.ts:78,122) — aucun moyen de l'activer depuis l'interface, contrairement à ce que "(si activé)" laissait entendre. - Libellé de bouton corrigé : « Analyser les topics », pas « Analyser les thèmes » (common.json:705, fr et en). - Dépannage : « Reconstruisez l'index (Paramètres → Base de données) » — la section s'appelle Actions, pas Base de données, et surtout aucune action de reconstruction n'existe : seule la purge complète est disponible.

    @inactinique inactinique committed Jul 23, 2026
    9565134
  • docs(wiki): retirer un message d'erreur fabriqué, corriger la table comparative des embeddings - « Aucun LLM disponible » / « Aucun provider LLM disponible » cités comme messages littéraux affichés à l'utilisateur — recherche exhaustive dans backend/core/llm/, fusion-chat-service.ts, chat-engine.ts et tous les fichiers de locale : aucune occurrence. Le mécanisme décrit reste correct, seul le texte exact était inventé. - Table comparative : « Embeddings | Ollama : Oui, réglable dans l'UI » laissait entendre qu'on choisit Ollama comme provider d'embeddings depuis l'UI. En réalité, aucun contrôle embeddingProvider n'existe nulle part — ce qui existe (LLMConfigSection.tsx:316-317) est ollamaEmbeddingModel, qui choisit quel modèle Ollama utiliser, pas si Ollama est le provider.

    @inactinique inactinique committed Jul 23, 2026
    58d7a64
  • docs(wiki): Features.md répétait l'erreur auto-sync et inventait deux actions de base de données - Auto-sync Tropy : « propose une resynchronisation » — même erreur déjà corrigée sur 1.6-Tropy-Integration-Guide.md, jamais propagée ici. Le comportement réel est automatique et silencieux. - « Purge, rebuild, and optimize project database » : seules deux actions de purge existent (PDF, sources primaires) — aucune action de reconstruction ni d'optimisation nulle part dans ActionsSection.tsx.

    @inactinique inactinique committed Jul 23, 2026
    befd16b
  • docs(wiki): VectorStoreManager et ZoteroService n'existent pas comme dépendances directes - Diagramme et table des dépendances : VectorStoreManager n'existe nulle part dans le dépôt (grep sur tout le code, zéro résultat) — le vrai chemin de recherche passe par pdfService.search(). ZoteroService n'est jamais importé par similarity-service.ts ; le filtrage par collection passe directement par collectionKeys de pdfService. - « Insérer citation (format configurable) » : faux, SimilarityCard.tsx a une logique figée ([@zoteroKey] ou titre tronqué), aucun réglage. - Le type de progression réel (AnalysisProgress) a status/percentage/ currentSegment en plus de current/total — le schéma n'en gardait que deux. - « L'utilisateur rédige son article (document.md) » : le déclencheur réel (SimilarityPanel.tsx) lit le contenu actif de l'éditeur, pas spécifiquement un article — un chapitre de livre fonctionne pareil.

    @inactinique inactinique committed Jul 23, 2026
    a6058cf
  • docs(wiki): la garantie « jamais perdre son export » ne couvre qu'un des deux mécanismes Word Templates : « You'll never lose your export! » s'appliquait comme si les deux mécanismes avaient un filet de sécurité. Faux — vérifié dans word-export.ts : seul le mécanisme 2 (docxtemplater) a un try/catch qui retombe sur la génération native. Le mécanisme 1 (pandoc + reference-doc) a son propre try/catch qui renvoie {success: false, error} directement, sans repli — aucune relance côté docx natif. Précisé. Export-Presentations : la réserve ajoutée en passe 3 ne citait que 2 des 3 conditions du guide Word Templates (bibliographie absente OU moteur de citation demandé) — il manquait « bibliographie présente mais pandoc introuvable ». Reformulé pour renvoyer au guide plutôt que de paraphraser une liste à trois conditions qui a déjà changé trois fois sur l'autre page.

    @inactinique inactinique committed Jul 23, 2026
    f03874c
  • docs(wiki): incohérence d'unités dans le coût environnemental, libellé d'onglets dans les notes RC2 - 4.1-Environmental-Cost : les deux méthodes déclarent un taux en gCO2e pour 1000 tokens, puis étiquettent le résultat du même calcul en kg CO2e sans conversion. Recalculé à la main : 2,34M tokens × 0,0001-0,0003 gCO2e/1000 tokens donne 0,234-0,702 GRAMME, pas kilogramme. Les totaux en aval et les équivalences en km parcourus sont construits de façon cohérente autour de l'échelle kg — impossible de deviner quel côté de l'incohérence était voulu sans refaire l'estimation. Signalé en tête de page plutôt que recalculé au hasard. - 3.2-RC2-Release-Notes.md : libellés d'onglets MCP corrigés (« Claude Code CLI », « Generic MCP (stdio) »), vérifiés jusque dans l'arbre du tag v1.0.0-rc.2 lui-même — l'imprécision n'est pas due à une dérive depuis RC2, elle était déjà là.

    @inactinique inactinique committed Jul 23, 2026
    d05d6e4
  • docs(wiki): corriger la création du venv Python — pas automatique Le guide macOS affirmait que le venv Python se crée automatiquement au premier lancement. Faux — topic-modeling-handlers.ts:3 dit explicitement « Gestion manuelle de l'installation et du statut de l'environnement Python » ; TopicModelingSection.tsx est un panneau de paramètres avec bouton d'installation et suivi de progression, une action déclenchée par l'utilisateur. Contredisait par ailleurs le guide Linux, qui avait la bonne formulation (« si l'utilisateur le demande, dans Settings »).

    @inactinique inactinique committed Jul 23, 2026
    56af5d4
  • docs(wiki): cinq erreurs supplémentaires dans l'architecture technique, un footer figé en bêta Cette page continue de produire des erreurs à chaque passe — cinq de plus trouvées et corrigées ici : - Graph Expansion : décrite comme une fonctionnalité active (recherche de voisins dans le graphe, expansion par similarité cosinus). Vérifié qu'useGraphContext/graphSimilarityThreshold/additionalGraphDocs n'ont aucun consommateur dans retrieval-service.ts ni backend/core/rag/ — le réglage existe dans les types et l'UI, mais ne fait rien. Documenté comme un manque connu, pas un comportement réel. - Context Compression : les seuils sont en caractères, pas en tokens (le commentaire du code le dit explicitement) ; les paliers étaient faux — la vraie logique a un premier niveau « pas de compression » (≤10 000 caractères) que la page ne mentionnait pas du tout, avant Level 1 (15-25k), Level 2 (25-35k), Level 3 (>35k) — avec une zone morte entre 10k et 15k où rien ne se passe. - RAG Explanation : l'interface était entièrement inventée (forme plate à 7 champs). La vraie interface (chat-source.ts) est imbriquée — search/compression/graph — et ne partage aucun nom de champ avec la version précédente de la page. - Configuration de chunking : un champ maxTokens fabriqué apparaissait à deux endroits de la page ; DocumentChunker.ts n'a que maxChunkSize/overlapSize/minChunkSize, aucune limite de tokens dans ce type. - En-tête et pied de page « RAG Configuration Defaults » / Version/Status figés sur 1.0.0-beta.2, jamais mis à jour malgré trois passes de corrections sur cette même page. Les valeurs elles-mêmes restaient exactes — seul l'habillage était périmé.

    @inactinique inactinique committed Jul 23, 2026
    35dffb7
  • docs(wiki): quatre champs fabriqués dans Journal and History - « Exchanges: nombre de questions/réponses » — le vrai champ affiché est un compteur générique (eventCount), incrémenté aussi par les opérations IA, les éditions de document et les décisions de proposition (HistoryManager.ts). - « Sources consulted » comme champ de session : n'existe pas à ce niveau — les sources restent affichées par échange, pas agrégées (JournalPanel.tsx ne contient aucune occurrence de "sources"). - « Model: quel LLM a répondu » par échange : ChatMessage (journalStore.ts:41-48) n'a aucun champ model. Jamais stocké, jamais affiché. - « Exportable depuis sa propre fenêtre (Ctrl/Cmd+J) » : faux pour la moitié UI — la fenêtre n'a aucun bouton d'export, seule la commande cliodeck-journal export fonctionne réellement.

    @inactinique inactinique committed Jul 23, 2026
    30fc591
  • docs(wiki): troisième passe — un indicateur d'UI fantôme et deux erreurs sur le corpus - Embedded LLM Guide : la section « Indicateur de provider » décrivait un badge affichant le provider actif dans le chat (Ollama (gemma2:2b), qwen2.5-0.5b (embarqué), etc.). N'existe nulle part : aucune occurrence de « Aucun LLM disponible » dans tout le renderer, ProviderState jamais importé côté renderer, le seul état apparenté (AssistantChat.tsx) sert uniquement à taguer le journal, jamais affiché en JSX. Section retirée entièrement. - Corpus Analysis Guide : bascule « Afficher les communautés » fabriquée — CorpusGraphSection.tsx colore par communauté sans aucun réglage pour l'activer/désactiver. Seuil de dépannage du topic modeling corrigé : le plancher réellement imposé par le service est 5 documents (min_length=5, main.py), pas 20 — 20-30 reste une recommandation de fiabilité, pas une limite technique.

    @inactinique inactinique committed Jul 23, 2026
    381d149
  • docs(wiki): troisième passe — Obsidian et Tropy, encore, avec de nouvelles erreurs Ces deux pages ont produit des erreurs distinctes à chacune des trois passes — signe qu'elles avaient été rédigées sans confrontation systématique au code dès le départ. Obsidian Vault Guide : - « champ frontmatter connu pour être ignorable » : fabriqué. Le vrai SkipReason (scan-report.ts:24-32) a huit variantes structurelles (fichier caché, note vide, contenu binaire, erreur de parsing frontmatter, trop volumineux, exclu par motif, illisible, wikilinks cassés) — aucun réglage utilisateur n'existe pour exclure une note. - Tableau des combinaisons de filtres de récupération : la combinaison « Biblio + Primary sans notes » manquait, vérifiée dans resolveRetrievalArgs (fusion-chat-service.ts). - Libellé du bouton corrigé (« Link a vault… », pas « Link vault »). Tropy Integration Guide : - Ordre de priorité des transcriptions inversé : la page plaçait l'OCR avant Transkribus, mais TropySync.ts:235-279 cherche Transkribus en second (avant l'OCR, qui n'est tenté qu'en dernier recours). - Section « Surveillance automatique » entièrement fabriquée : la page décrivait une notification proposant la resynchronisation. Vérifié dans tropy-service.ts et primarySourcesStore.ts — la resynchronisation est automatique et silencieuse, sans aucune alerte affichée ; une erreur du watcher n'a même aucun relais côté interface aujourd'hui.

    @inactinique inactinique committed Jul 23, 2026
    8b0573b
  • docs(wiki): troisième passe — interfaces TypeScript périmées et une erreur laissée par ma propre passe 1 - FEATURE_SIMILARITY_FINDER.md : TextSegment, PDFRecommendation et SimilarityResult n'avaient jamais été recroisés avec le code réel (similarity-service.ts:34-66) depuis la rédaction initiale de la page — sept champs manquants sur PDFRecommendation (pageNumber, sourceType, sourceId, archive, collection, date, tags), title manquant sur TextSegment, segment manquant sur SimilarityResult. Forme du store Zustand corrigée (un SimilarityResult par segment, pas un tableau — similarityStore.ts:71). « EditorToolbar » n'est pas un composant nommé, le bouton vit dans EditorPanel.tsx. - Comportement du reranking jamais documenté : plafonné aux 10 premiers candidats quel que soit maxResults, et surtout — ma propre affirmation de la passe 1 (« échoue bruyamment si aucun provider ») était fausse : l'échec est intercepté et journalisé en warning seulement, jamais remonté à l'utilisateur, avec repli silencieux sur l'ordre d'origine. La réserve sur les scores de rang (passe 2) ne s'applique donc que si le reranking réussit. - Features.md : « Separate Stores: Independent databases for PDFs and primary sources » — même erreur de pré-fusion déjà corrigée à cinq endroits, ratée ici car cette section n'avait jamais été touchée.

    @inactinique inactinique committed Jul 23, 2026
    e521c6c
  • docs(wiki): troisième passe — contradiction laissée par ma propre réécriture, et une recommandation de la deuxième passe jamais appliquée - Word Templates : la section « Creating a Template with Placeholders » renvoyait encore à une « route 3 » — numérotation à trois routes que ma propre réécriture de la deuxième passe avait pourtant remplacée par deux mécanismes. La phrase contredisait donc l'aperçu corrigé quatre lignes au-dessus. Reformulée pour dire explicitement à quel mécanisme la section s'applique. - Même page : « premier trouvé, ordre alphabétique » pour plusieurs templates .dotx — faux, findTemplate() utilise fs.readdir() sans aucun tri, l'ordre dépend du système de fichiers. Libellé du bouton corrigé aussi (« Export to Word », pas « Export Word (.docx) »). - Keyboard Shortcuts : Ctrl/Cmd+R et Ctrl/Cmd+Shift+R (reload/force reload) existent réellement dans menu.ts mais n'étaient documentés nulle part — un raccourci standard d'Electron, facile à déclencher par erreur en écrivant, avec un effet réel (recharge la fenêtre). - Export-Presentations : la deuxième passe avait explicitement recommandé d'ajouter une réserve ici (« styles ou placeholders selon la bibliographie ») après avoir corrigé le guide Word Templates — recommandation jamais appliquée. Faite maintenant.

    @inactinique inactinique committed Jul 23, 2026
    d9b9857
  • docs(wiki): corriger une inexactitude historique dans les notes RC2 La section « Workspace layout changes » présentait vectors.db et primary-sources.db comme encore séparés de brain.db au moment de la RC2, avec une consolidation renvoyée à plus tard (Path A / ADR 0001). Faux même comme histoire, pas seulement périmé : les deux fusions (a1ca0cb, 07741ab) datent du 12 mai 2026, cinq jours avant le tag v1.0.0-rc.2 (17 mai) — confirmé par git log et merge-base --is-ancestor. brain.db consolidait déjà PDFs, Tropy et historique au moment de cette release.

    @inactinique inactinique committed Jul 23, 2026
    7d5f649
  • docs(wiki): troisième passe — deux pages n'avaient pas été recroisées avec le correctif de l'issue #18 - 1.-ClioDeck-Installation.md affirmait pouvoir télécharger le modèle d'embeddings embarqué depuis Settings → LLM — contredit directement la correction apportée à 1.7-Embedded-LLM-Guide.md lors de la deuxième passe (aucune UI n'expose embeddingProvider, voir issue #18). La page n'avait simplement pas été recroisée avec ce correctif. - 2.1-Build-and-Deployment-Guide.md contenait deux contradictions internes au même document : - L'arborescence « Build Structure » listait encore des noms de fichiers 1.0.0 sans suffixe et un ClioDeck Setup 1.0.0.exe, à 40 lignes de la section « User Installation » déjà corrigée qui dit l'inverse (arm64 uniquement pour Linux, aucune build Windows publiée). - « Security and Privacy → Local Data » disait encore « LLM and models: local Ollama », contredisant la section Technical Stack en haut de la même page, déjà réécrite en deuxième passe pour décrire les six providers. Les deux corrigées ; au passage, CLIODESK_DEBUG/CLIODESK_LOG_LEVEL ajoutées à la liste des variables d'environnement runtime, absentes alors que la page renvoie vers le guide de logging qui les documente.

    @inactinique inactinique committed Jul 23, 2026
    8f45fc7
  • docs(wiki): fix last stale vectors.db reference in Zotero guide

    @inactinique inactinique committed Jul 23, 2026
    2cb136a
  • docs(wiki): retirer 4 pages d'archive orphelines, découvertes par la relecture Ni la première ni la seconde passe d'audit n'avaient repéré le dossier _archive/ : les deux passes n'énuméraient que les *.md à la racine du wiki, un dossier git-suivi mais jamais listé. Sur les six fichiers qu'il contient, deux restent légitimement liés (Home.md, RC2 notes) et honnêtement présentés comme archive historique — conservés. Les quatre autres (BETA2_NOT_IMPLEMENTED.md, BETA3_IMPLEMENTATION_SUMMARY.md, Changelog.md, FEATURE_STATUS_BETA2_BACKLOG.md) n'ont aucun lien entrant depuis nulle part dans le wiki — vérifié par grep sur l'ensemble des pages. Purs journaux d'implémentation de l'ère BETA (janvier 2024 à 2026), sans aucun chemin de découverte : même critère que les 9 pages FEATURE_* déjà supprimées lors de la première passe.

    @inactinique inactinique committed Jul 23, 2026
    50fff95
  • docs(wiki): deuxième passe — Features.md, Home.md, RC3, Similarity Finder - RC3 notes : « Branch: release/v1.0.0-rc.3 » — cette branche a été fusionnée puis supprimée du remote, comme son équivalent déjà corrigé sur la page RC2. Remplacé par « Tag: v1.0.0-rc.3 ». - Features.md : trois chiffres/faits faux, vérifiés frais. - Modèle Ollama par défaut annoncé gemma2:2b ; le vrai défaut du code est llama3.2 (cliodeck-config-adapter.ts:138,240), gemma2:2b n'est qu'une recommandation. - Cache d'embeddings de requête : 500 entrées/60min annoncées, contre 2000/10min réels (retrieval-service.ts:68). - Liste des providers cloud incomplète (Claude/OpenAI seulement) — Mistral et Gemini sont deux providers de premier rang au même titre, absents de la liste. - Pointeur mort vers « les fichiers de documentation de chaque fonctionnalité » : 7 des 8 pages FEATURE_* ont été supprimées cette session, remplacé par un renvoi vers Home.md et la seule page restante. - Home.md : la section « Feature notes » ne contenait plus qu'une seule entrée après les suppressions — repliée dans « Working with the corpus », à côté du guide qu'elle complète. - FEATURE_SIMILARITY_FINDER.md : deux imprécisions supplémentaires. - Le cache est verrouillé au niveau du document entier (hash document + hash vectorstore + options), pas segment par segment comme le schéma le suggérait ; expire aussi après 24h et se réinvalide sur changement de granularity/maxResults/similarityThreshold — aucun des deux n'était documenté. - La section d'interprétation des scores (>0.8 / 0.5-0.8 / <0.5) ne s'applique qu'avec useReranking désactivé. Par défaut (activé), rerankWithLLM remplace le score par un rang synthétique (1.0/0.8/0.6/0.4/0.2 pour 5 candidats) — vérifié similarity-service.ts:754. Le nombre affiché par défaut n'est donc pas une similarité sémantique.

    @inactinique inactinique committed Jul 23, 2026
    93b4dbc
  • docs(wiki): deuxième passe — corriger une erreur dans ma propre réécriture, et un vrai manque d'UI **Erreur dans ma propre correction précédente** : - Guide des LLM embarqués : j'avais écrit que embeddingProvider se règle « dans Paramètres → LLM » au même titre que generationProvider. Faux — vérifié frais : grep sur tout src/renderer/ pour "embeddingProvider" ne retourne aucun fichier ; RAGSettingsPanel.tsx n'écrit jamais que generationProvider ; EmbeddedLLMSection.tsx ne contient aucune occurrence du mot "embedding". Le moteur sait faire des embeddings embarqués, mais rien dans l'interface ne permet de les sélectionner ou de télécharger le modèle — seule l'édition manuelle du fichier de configuration le permet aujourd'hui. Corrigé à quatre endroits de la page, et signalé comme un vrai manque produit en issue #18 (https://github.com/cliodeck/cliodeck-app/issues/18), pas seulement un défaut de documentation. **Erreur dans ma réécriture du guide Word Templates** : le découpage en trois routes d'export était faux. Vérifié frais dans word-export.ts — mergeWithTemplate() (fusion par {placeholders}) ne dépend que de templatePath, pas du tout de useEnginePipeline. Il n'y a que deux mécanismes réels : pandoc+reference-doc (styles, uniquement si bibliographie + pandoc + moteur de citation non demandé), et native+docxtemplater (placeholders, dans tous les autres cas — y compris bibliographie + moteur de citation demandé, que ma première version traitait à tort comme une troisième route « à base de styles »). **Erreurs ratées par la première passe** : - Corpus Analysis Guide : langue par défaut du topic modeling annoncée « Français », en réalité « multilingual » (main.py:54-56, useCorpusData.ts:145). - Journal and History : une « icône History dans le panneau de chat » fabriquée — AssistantChat.tsx n'a aucune référence à l'historique ; le vrai composant de navigation (ChatHistoryView.tsx) ne vit que dans le panneau Journal. Reformulé pour dire que c'est la même donnée, pas une fonctionnalité séparée. - Technical Architecture : la section Primary Sources (Tropy) décrivait encore un vector store autonome (sources.db/sources.hnsw) alors que PrimarySourcesVectorStore utilise le brain.db partagé depuis la fusion — contradiction interne avec la section Key Architecture Files déjà corrigée sur cette même page. L'étape « Dense Search » appelait encore ollamaClient.generateEmbedding(), contredisant l'étape Embedding Generation juste au-dessus, déjà corrigée elle aussi. - Obsidian Vault Guide : « alongside the other workspace databases (vectors.db, primary-sources.db) » — ces deux noms sont pré-fusion, le vrai voisin est brain.db.

    @inactinique inactinique committed Jul 23, 2026
    bd60d7e