6.3 KB · updated 2026-07-31 · md

doctor.fr.md

docs/i18n/doctor.fr.md

tesserae doctor — bilans de santé du projet

<!-- translations:start -->

English · 한국어 · 中文 · 日本語 · Русский · Español · Français · Deutsch

<!-- translations:end --> tesserae doctor inspecte un espace de travail Tesserae de bout en bout — initialisation, intégrité du graphe, cohérence du registre, fraîcheur, verrous, connexion LLM et hygiène disque — et affiche une checklist. Il est en lecture seule par défaut ; --fix n’applique que les réparations sûres à relancer et ne peut jamais détruire un état vivant.

tesserae doctor                 # check the current project
tesserae doctor --fix           # apply the safe repairs, then re-check
tesserae doctor --all --json    # every registered project, JSON report
tesserae doctor --project ~/src/other

Ce qu’il vérifie

Vingt vérifications, regroupées par catégorie :

VérificationCatégorieCe qu’elle vérifieAction --fix
project_initializedcore.tesserae/ existe et ressemble à un espace de travail Tesseraerapport seulement (suggère tesserae init)
graph_parsecoregraph.json se parse et a la forme attenduerapport seulement (suggère tesserae compile)
config_validcore.tesserae/config.json se parse et se valide contre le modèle d’initrapport seulement
vault_configuredcorele chemin de vault configuré se résoutSAFE : crée le répertoire de vault résolu lorsqu’il vit à l’intérieur du projet
registry_consistentregistryles entrées de ~/.tesserae/registry.json pointent vers de vraies racines de projetSAFE : élague les entrées dont la racine a disparu, supprime la clé héritée active ; un graphe manquant reste rapport seulement
graph_stalenessfreshnessdelta git depuis le git_head enregistré par la dernière compilationrapport seulement (suggère tesserae refresh — les compilations sont lourdes)
site_search_indexfreshnessle site statique / search-index.json est plus récent que graph.jsonSAFE : reconstruit le site
backend_artifactsfreshnessles artefacts RAG-Anything sont à jourrapport seulement (leur rafraîchissement est lourd en LLM/réseau)
session_chunksfreshnessla couverture des chunks de session quotidiens n’a pas de trous dans la fenêtre récenterapport seulement (suggère tesserae sessions chunk-backfill)
wiki_lintgraphdérive graphe ⇄ wiki + constats de lint trivialement corrigeablesSAFE : applique les corrections triviales du lint (fix_trivial)
compile_lockprocessessi un verrou de compilation vivant est détenu, et par quel pidrapport seulement — doctor ne tue jamais et ne supprime jamais un verrou vivant
daemon_pidprocessesdaemon.pid pointe vers un processus moteur vivantSAFE : supprime le pidfile quand son propriétaire est mort
llm_loginenvironmentle backend LLM configuré est réellement utilisable (CLI claude/codex connectée, ou clé API présente)rapport seulement (suggère claude /login / codex login)
optional_depsenvironmentstatut des dépendances optionnelles (memex, raganything)rapport seulement (les installations passent par le réseau)
embedding_backendenvironmentun vrai backend d’embeddings sémantiques est disponiblerapport seulement (suggère pip install tesserae[semantic])
environmentenvironmentrésumé de détection d’environnement en blocsection rapport seulement
build_historyhygienetaille et forme de .build-historySAFE : le tronque, en préservant toujours l’entrée git_head la plus récente (la vérification de staleness en dépend)
idempotencehygienele fil-piège idempotence_suspect du snapshot de sortierapport seulement (c’est un signal de bug, pas quelque chose à auto-réparer)
orphan_worktreeshygieneenregistrements git worktree périmésSAFE : git worktree prune ; la suppression de répertoires reste rapport seulement
hook_log_bloathygienecroissance de .tesserae/.session-*-hook.logSAFE : fait tourner/tronque les logs au-delà de 10 Mo

Une vérification qui plante est rapportée comme un constat d’erreur — doctor lui-même ne lève jamais d’exception.

Politique --fix

  • --fix exécute uniquement les vérifications marquées SAFE ci-dessus, puis re-détecte pour que le rapport reflète l’état après correction.
  • Chaque correction est idempotente : lancer doctor --fix deux fois laisse le second passage propre.
  • Doctor ne tue jamais un processus et ne supprime jamais un verrou de compilation vivant — un verrou détenu est rapporté avec son pid propriétaire et laissé tranquille.
  • Les opérations lourdes ou réseau (recompilations, installations de dépendances, rafraîchissements de backend) ne sont jamais intégrées à --fix ; doctor affiche la commande à lancer vous-même.

Codes de sortie

Même convention que tesserae lint :

Code de sortieSignification
0sain — aucun constat au-dessus de OK
1avertissements présents
2erreurs présentes

Artefacts de rapport

Chaque exécution écrit les deux formes de rapport dans l’espace de travail :

.tesserae/doctor-report.md      # human checklist
.tesserae/doctor-report.json    # structured findings

--json affiche en plus le rapport JSON sur stdout à la place de la checklist markdown. --all itère sur chaque projet du registre (en ignorant --project) et rapporte projet par projet.

MCP : doctor_report

Le serveur MCP expose le même rapport via l’outil doctor_report (à l’image de lint_report, y compris son plafond d’octets sur le contenu retourné), afin qu’un agent puisse vérifier la santé de l’espace de travail en pleine conversation sans passer par le shell. Il requiert une racine de projet — passez graph_path/project ou configurez un graphe par défaut.