docs(wiki): commandes d'installation reparees — les noms d'assets ont change en rc.4
Les guides donnaient des commandes `wget` avec les URL de rc.3. Bumper le
seul numero de version ne suffisait pas : les fichiers publies portent
desormais un prefixe de plateforme (`Linux.AppImage.-.`, `Mac.Silicon.-.`),
si bien qu'une URL construite a l'ancienne rend un 404. C'est exactement ce
sur quoi un nouvel utilisateur bute, et rien dans la page ne le lui dirait.
Les trois URL de telechargement du wiki sont verifiees : elles repondent en
200. Un commentaire dans chaque bloc explique le prefixe, pour que la
prochaine mise a jour ne refasse pas l'erreur.
Tailles d'installeurs mesurees sur les fichiers reellement publies, plutot
que reconduites : 262 Mo (AppImage), 158 Mo (deb), 263 et 268 Mo (DMG
Silicon et Intel).
En-tetes `**Version**` des neuf pages concernees passes en 1.0.0-rc.4.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
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>
docs(wiki): dixième passe — Cmd+W non lié sur macOS, filtre console inerte en renderer, chunking mal attribué
- Keyboard Shortcuts : Cmd+W n'est pas réellement lié sur macOS (le
sous-menu Window n'inclut le rôle 'close' que sur Windows/Linux) —
corrigé et lié à l'issue #26 nouvellement créée.
- Build and Deployment Guide + Logging System : CLIODESK_DEBUG et
CLIODESK_LOG_LEVEL ne peuvent avoir d'effet observable que dans le
process principal — la fenêtre renderer est créée avec
contextIsolation/sandbox (sans condition dev/prod), donc son
`typeof process` est toujours undefined et les branches basées sur
ces variables d'environnement ne peuvent jamais s'exécuter côté
renderer, indépendamment de esbuild qui supprime déjà les appels
console.* en production.
- Technical Architecture : le chunking "emergency" par découpage de
phrases était attribué à Ollama, mais appartient en réalité au
provider LLM embarqué (EmbeddedLLMClient.ts, seuil de 2000
caractères) — Ollama gère les dépassements par troncature côté
serveur (`truncate: true`), l'inverse de ce qui était décrit.
- Installation Linux : alignée sur macOS pour la note sur le venv
Python (pas de création automatique, étape manuelle).
- FEATURE_SIMILARITY_FINDER : contrôle manquant dans la liste
("Type de source" / sourceType) — les 6 contrôles réels sont
maintenant tous listés.
Deux nouveaux bugs applicatifs réels trouvés et filés : issue #25
(liens du menu Aide pointant vers le dépôt archivé inactinique/cliodeck
au lieu de cliodeck/cliodeck-app) et issue #26 (Cmd+W non lié sur
macOS, ci-dessus).
Quatre clusters entièrement propres cette passe (aucune correction) :
brainstorm & intégrations (deuxième passe consécutive sans trouvaille),
meta & notes de version, feature pages & home (hors le contrôle
manquant), LLM & analyse (hors l'attribution du chunking).
docs(wiki): lier les quatre bugs applicatifs trouvés en passe 8 à leurs issues GitHub
Ces quatre lacunes avaient été corrigées dans le wiki mais jamais
signalées comme bugs réels de l'application — corrigé :
- issue #20 : la resynchronisation Zotero efface silencieusement la
collection associée
- issue #21 : le filtrage par collection existe côté backend
(Similarity Finder et Tropy) mais n'a aucune UI
- issue #22 : les nœuds auteur du graphe de connaissances sont
entièrement implémentés mais désactivés en dur
- issue #23 : la relance manuelle d'OCR par source existe dans le
store Tropy mais n'est déclenchable depuis aucun composant
Au passage, la description de la « transcription manuelle » a été
précisée : ce n'est pas une saisie au clavier, mais une relance OCR
par source (performOCR → updateTranscription(..., 'manual')).
docs(wiki): trois petites imprécisions — clic sur segment, titre de segment, langues des system prompts
- Similarity Finder : le clic se fait sur une entrée du panneau de
résultats, pas dans le texte affiché de l'éditeur. Le titre de
segment vient de segment.title (sections seulement) ou des 60
premiers caractères — pas de repli par numéro comme décrit.
- Features.md : « system prompts personnalisables en français, anglais
et allemand » — getDefaultSystemPrompt n'accepte que 'fr' | 'en'
(SystemPrompts.ts:49). L'allemand est une langue d'interface, pas une
langue de system prompt — confusion entre les deux.
docs(wiki): filtrage par collection fabriqué, canal IPC et action d'annulation corrigés
- « Collection : Limiter à une collection Zotero » comme option de
configuration : grep sur les 5 composants Similarity du renderer,
zéro occurrence de "collection" — collectionFilter existe côté
backend (similarity-service.ts) mais n'est exposé nulle part dans
l'UI. Retiré de la Configuration et des Bonnes pratiques.
- Diagramme IPC : le canal réel est similarity:get-all-results, pas
similarity:get-results (similarity-handlers.ts:112). Un quatrième
canal réel, similarity:cancel (ligne 93), n'apparaissait dans aucune
version précédente du schéma alors qu'il existe une vraie méthode
cancelAnalysis() qui s'appuie dessus.
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.
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.
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.
docs(wiki): corriger les 4 valeurs par défaut et l'architecture du Similarity Finder
Vérifié contre similarity-service.ts (DEFAULT_OPTIONS) — quatre valeurs
étaient fausses : similarityThreshold 0.6→0, useReranking false→true,
useContextualEmbedding false→true, sourceType 'both'→'secondary'.
Le diagramme d'architecture citait OllamaClient comme dépendance
existante ; ce client n'existe plus, remplacé par un LLMProvider typé
injecté via ProviderRegistry (le code documente lui-même l'abandon du
repli OllamaClient). La section Limitations répétait la même
dépendance à Ollama spécifiquement, corrigée de la même façon.
Cette page reste conservée (pas supprimée comme les autres FEATURE_*) :
c'est la seule du lot à documenter un contenu réellement absent des
guides numérotés (diagramme d'architecture détaillé, table de valeurs
par défaut).
docs: seconde passe du wiki — vérifications, traductions, parcours débutant
La relecture adverse a rattrapé, entre autres, une erreur introduite par
la première passe : le guide des LLM embarqués affirmait désormais que
ClioDeck pouvait produire ses embeddings sans Ollama, au motif que le
catalogue propose un modèle embarqué et que le réglage existe. En traçant
l'appel jusqu'au registre de providers, il n'y a aucune branche
embarquée : le réglage ne change rien. La page dit maintenant la vérité,
écart entre catalogue et câblage compris.
Autres rattrapages :
- vingt liens vers l'ancien dépôt inactinique/cliodeck, dans sept pages
dont les deux guides d'installation ;
- la page journal décrivait .cliodeck/history.db et un dossier
conversations/, vestiges d'avant la fusion : tout vit dans brain.db ;
- six pages en français dans un wiki anglophone, et non deux comme la
première passe l'avait cru — les deux nommées sont traduites, quatre
restent ;
- quatre imprécisions dans les pages créées à la première passe (plan
derrière un dépliant, libellés réels des boutons, troncature de la
recherche, message d'un fichier manquant).
Créé : 1.0-Getting-Started, qui comblait le trou entre « installer » et
« écrire » — rien n'expliquait comment créer un projet ni ce que le choix
du type implique.
Les cinq pages laissées sous bandeau à la première passe ont été reprises
ligne à ligne : une était fausse, quatre exactes. Plus aucun bandeau.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
docs: wiki à jour pour la 1.0.0-rc.3
Les 33 pages ont été confrontées au code, pas réécrites de mémoire.
Créées : « Writing a Book — Chapters Guide » (la nouveauté majeure de
cette version : manifeste, navigateur, plan, recherche d'ouvrage,
renumérotation, réglages, exports), « The Editor » (CodeMirror 6 en rendu
live, notes et citations pandoc, fidélité octet pour octet, propositions
adjudicables) et les notes de version RC3.
Corrigées, entre autres :
- Features et Technical Architecture annonçaient encore l'éditeur
Milkdown, retiré depuis ;
- trois raccourcis documentés n'existent pas (Ctrl+Shift+S, Ctrl+Shift+L,
Alt+4) et Ctrl+J n'était pas documenté — vérifié dans menu.ts ;
- « Export Presentations » ne parlait pas des présentations malgré son
titre : ni reveal.js, ni modes en ligne/hors ligne/PDF, ni Beamer ;
- Electron 28 dans deux pages, alors que le projet est en 40.9.2 ;
- le journal d'usage IA distingue désormais ses deux couches et
enregistre les adjudications de propositions.
Cinq pages anciennes (Tropy, LLM embarqués, analyse de corpus,
similarité, stratégie d'embeddings) portent un bandeau signalant qu'elles
n'ont pas été revérifiées ligne à ligne : elles ne contiennent rien de
manifestement faux, mais leur horodatage est ancien.
Aucune page supprimée. Le wiki ne contient aucune capture d'écran : rien
à refaire de ce côté.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
first commit after move from inactinique