14.3 KB · updated 2026-05-19 · md

feature-map.fr.md

docs/i18n/feature-map.fr.md

Carte des fonctionnalités

<!-- translations:start -->

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

<!-- translations:end --> Ce document résume les fonctionnalités actuellement implémentées dans Tesserae, avec leur état, leurs fichiers source et l’endroit où elles sont documentées.

Légende d’état : ✅ livré · ⚠ en cours / partiel.

Refonte du frontend — avril 2026

Un wiki hiérarchique centré sur les documents remplace l’ancien dump de graphe. Voir MD0 pour le parcours route par route et MD1 pour le modèle en trois couches.

Couche wiki (L2 markdown)

FonctionnalitéÉtatSourceAncre de documentation
WikiPageStore (écritures body-hash idempotentes, parseur frontmatter)MD0architecture.md § Carte des modules
WikiLayerProjector — une page md par nœud de couche wikiMD0architecture.md § Pipeline
Pages sources/wiki_projector.pyfrontend-redesign.md § Sources
Pages concepts/wiki_projector.pyfrontend-redesign.md § Concepts
Pages entities/wiki_projector.pyfrontend-redesign.md § Entities
Pages papers/wiki_projector.pyfrontend-redesign.md § Papers
Pages repos/wiki_projector.pyfrontend-redesign.md § Repos
Pages topics/wiki_projector.pyfrontend-redesign.md § Topics
Pages questions/ (questions ouvertes)wiki_projector.pyfrontend-redesign.md § Questions
Pages syntheses/MD0frontend-redesign.md § Syntheses

Types de synthèse (L2 → dérivé)

SynthesisProjector produit sept modèles déterministes et ajoute des nœuds Synthesis ainsi que des arêtes synthesizes / summarizes dans le graphe.

TypeÉtatSourceNotes
pulse (un global, alimente /)synthesis.pyReconstruit à chaque compile.
daily_digestsynthesis.pyUn par data/research/daily/<date>/.
weeklysynthesis.pyUn par data/research/weekly/<iso-week>/.
topicsynthesis.pyUn par cluster ResearchTopic / ApproachFamily contenant ≥ 3 papers.
comparisonsynthesis.pyUn par paire d’ApproachFamily en concurrence sur la même tâche.
field_overviewsynthesis.pyUn par ResearchField.
Résumés améliorés par LLM (activés par variable d’environnement)hook uniquementLa base heuristique est livrée ; le hook TESSERAE_SYNTHESIS_LLM=1 reste un stub.

Routes du site statique

RouteÉtatSourceNotes
/ (accueil, hero pulse)MD0 render_homeLigne de statistiques + points d’entrée sélectionnés + activité récente.
/sources/, /sources/<slug>.htmlpages.py::render_sources_index, render_source_detail
/concepts/, /concepts/<slug>.htmlpages.py::render_concepts_index, render_concept_detail
/entities/, /entities/<slug>.htmlpages.py::render_entities_index, render_entity_detail
/papers/, /papers/<slug>.htmlpages.py::render_papers_index, render_paper_detail
/repos/, /repos/<slug>.htmlpages.py::render_repos_index, render_repo_detail
/topics/, /topics/<slug>.htmlpages.py::render_topics_index, render_topic_detail
/syntheses/, /syntheses/<slug>.htmlpages.py::render_syntheses_index, render_synthesis_detail
/questions/, /questions/<slug>.htmlpages.py::render_questions_index, render_question_detail
/timeline/pages.py::render_timelineCarte thermique + liste de jours + rail de synthèse.
/timeline/<YYYY-MM-DD>.html (détail par jour)n/a pour l’instantLes cellules de la carte thermique pointent provisoirement vers la page source digest.md du jour. Subagent P connecte les pages de détail quotidiennes via StaticSiteBuilder.
/graph/ (2D + 3D interactif)pages.py::render_graph_view + js.py3d-force-graph + Three.js, infobulles au survol, libellés d’arêtes, zoom ancré au curseur.
/about.htmlpages.py::render_aboutSchéma, informations de build.

Exports adaptés à l’IA

ArtefactÉtatSourceObjectif
Fichier frère <page>.txt par pageMD0 write_siblingsVue texte brut d’une page (sans navigation ni style).
Fichier frère <page>.json par pageexports.py::write_siblings{title, kind, body, body_text, links, source_path, frontmatter}.
llms.txtexports.py::render_llms_txtIndex court llmstxt.org.
llms-full.txtexports.py::render_llms_full_txtCorps de toutes les pages, plafonné à 5 MB.
graph.jsonldexports.py::render_graph_jsonldDataset schema.org, nœuds de couche wiki uniquement.
graph.json__init__.py::write_sitePayload complet du graphe (incl. nœuds de code pour l’outillage).
search-index.jsonMD0Palette + recherche de pages ; types de couche wiki uniquement.
sitemap.xmlexports.py::render_sitemap_xmlToutes les routes émises, lastmod depuis le frontmatter.
rss.xmlexports.py::render_rss_xmlLes 30 dernières syntheses.
robots.txtexports.py::render_robots_txtPermissif — crawl + indexation.
ai-readme.mdexports.py::render_ai_readmeCarte du site lisible par machine.
manifest.json__init__.py::_manifestsha256 + taille de chaque fichier émis (harnais d’idempotence).

Design visuel + UX

FonctionnalitéÉtatSourceNotes
Tokens de design (thèmes clair + sombre, accent terre cuite)MD0Un bundle CSS dans assets/style.css.
Bascule de thème (persistée, sans flash)MD0data-theme="dark" dans localStorage, appliqué avant le rendu.
Palette de recherche (cmd+k / ctrl+k / /)js.pyCorrespondance floue sur search-index.json ; liste des pages récentes.
TOC droit fixepages.py + tokens.pyBureau uniquement ; tiroir mobile via <details>.
Carte thermique d’activité avec libellés mois + jours de semainecomponents.py::heatmap_svgSVG 26 semaines, cellules liées au digest.md du jour.
Sparkline (par concept/entité)components.py::sparkline_svgComptes de mentions hebdomadaires, 12 dernières semaines.
Shell mobile (rail de tiroir, navigation basse, type fluide)tokens.py + pages.pyCibles tactiles ≥ 44 px.
Transitions de page (opacité 120 ms, prefers-reduced-motion)tokens.py
Vue graphe 3D + 2D (survol, libellés d’arêtes, zoom ancré au curseur)pages.py::render_graph_view + js.py3d-force-graph + Three.js, vendorié comme snapshot CDN.
Pied de page des fichiers frères IAcomponents.py::ai_siblings_footerLiens inline vers le .txt et le .json de la page courante.
Pages d’historique de sessions du harnaisMD0 + MD1Import explicite Claude Code/Codex ; index /sessions/ et pages détail avec tours markdown, rail de tours à gauche, utilisation d’outils repliée et entrées de recherche.

Pipeline + CLI

FonctionnalitéÉtatSourceNotes
project compile appelle synthesis + wiki + site dans l’ordreMD0Phase 3 du plan de refonte.
project build-site autonomeproject.py + MD1Lit wiki/ + graph.json, écrit site/.
project serve HTTP localcli.pyServeur stdlib simple.
project deploy → GitHub PagesMD0Push de worktree vers gh-pages ; --enable-pages optionnel via CLI gh. --build, --dry-run, --branch, --remote, --force.
project sessions discover/import/listMD0 + cli.pyHistorique de sessions entrant pour Claude Code/Codex ; découverte explicite et bornée au répertoire de travail du projet.
project watch rebuild-on-changeMD0Subagent R termine le watcher par polling — l’interface d’arguments --interval, --debounce, --once, --paths, --quiet est en place ; le corps de boucle de rebuild est livré dans cette passe.

Fonctionnalités préexistantes (conservées inchangées)

CLI et installation

  • ✅ Package Python installable via pyproject.toml.
  • ✅ Commandes console : tesserae, tesserae, tesserae_mcp.
  • scripts/install.sh pour installation curl | bash.
  • ✅ Installations éditables par défaut pour un développement local rapide.

Extraction

  • ✅ Extracteur déterministe de notes de recherche avec vocabulaires contrôlés de nœuds/arêtes.
  • ✅ Extracteur Claude CLI/OAuth pour une extraction structurée de meilleure qualité sans clés API.
  • ✅ Routage Claude sélectif par glob et limite de budget.
  • ✅ Extracteur déterministe de code de développement pour projets Python.
  • ✅ Ingestion batch avec hachage de contenu et prise en charge de --changed-only.
  • ✅ Lecture de sources tolérante à l’UTF-8 malformé.

Gouvernance du graphe

  • ✅ Liste ResearchNodeType contrôlée — inclut maintenant SYNTHESIS.
  • ✅ Liste blanche contrôlée des types d’arêtes — inclut maintenant synthesizes, summarizes.
  • ✅ Validation pour rejeter la dérive de schéma.
  • ✅ Canonicalisation des alias.
  • ✅ File de revue pour nœuds quasi dupliqués ambigus.
  • ✅ Modèle de décisions de revue et workflow fusionner/garder séparé.
  • ✅ Résumé des tendances du corpus depuis les graphes par fichier.

Persistance et rapports

  • ✅ Export Graph JSON.
  • ✅ Magasin de graphe SQLite.
  • ✅ Magasin de graphe Kuzu optionnel.
  • ✅ Rapport de graphe avec comptes, couverture de preuves, nœuds orphelins, buckets de dates, nœuds riches en alias.
  • ✅ Rapport concurrentiel décrivant les idées absorbées depuis MegaMem, Graphiti/Zep, MCP graph servers, agentic RAG.

Workflow local de projet

  • tesserae project init
  • tesserae project ingest
  • tesserae project compile
  • tesserae project mcp-config
  • tesserae project build-site
  • tesserae project serve
  • tesserae project deploy (nouveau — GitHub Pages)
  • tesserae project sessions discover/import/list (import explicite d’historique d’agent local)
  • tesserae project watch (en cours)
  • tesserae project export-agent-harness
  • tesserae project export-obsidian
  • tesserae project export-graphiti
  • tesserae project sync-graphiti

Obsidian

  • ✅ Export de vault prêt à ouvrir.
  • .obsidian/app.json et paramètres de graphe.
  • ✅ Projection Markdown.
  • ✅ Structure raw/assets/.
  • _meta/dashboard.md avec requête Dataview.

Harnais d’agents

Fichiers cibles générés pour :

  • ✅ Claude Code: CLAUDE.md, .claude/settings.json
  • ✅ Codex: AGENTS.md, mcp.toml
  • ✅ Gemini: GEMINI.md, .gemini/settings.json
  • ✅ Kiro: steering et paramètres MCP
  • ✅ Cursor: règles de projet et config MCP
  • ✅ OpenCode: AGENTS.md, opencode.json

Graphiti / faits temporels

  • ✅ Projection de faits temporels avec champs provenance, currentness, confidence et invalidation.
  • ✅ Export JSONL d’épisodes Graphiti sans dépendance.
  • ✅ Smoke sync-graphiti --dry-run sans Graphiti installé.
  • ✅ Sync live optionnelle avec graphiti_core et Neo4j.

Cognee

  • ✅ Bundle Cognee JSONL (nodes.jsonl, edges.jsonl, manifest.json).
  • ✅ Import direct add-only optionnel.
  • ✅ Adaptateur Cognee cognify optionnel basé sur Codex CLI/OAuth.
  • ✅ Chemins d’adaptateurs d’embedding déterministe et Ollama pour workflows smoke/qualité sans clé API.

Serveur MCP

  • tesserae_mcp / python3 -m tesserae.mcp_server via stdio JSON-RPC.
  • ✅ Outils : schema, graph_summary, search_nodes, node_context, search_facts, timeline.
  • ✅ Registre multiprojet.

Tests

La suite actuelle couvre :

  • ✅ garde-fous d’ontologie (incl. nouveau nœud Synthesis + arêtes synthesizes / summarizes) ;
  • ✅ extraction déterministe ;
  • ✅ parsing/validation du wrapper Claude CLI ;
  • ✅ routage Claude sélectif ;
  • ✅ workflow canonicalisation/revue ;
  • ✅ ingestion batch ;
  • ✅ rapports ;
  • ✅ persistance SQLite/Kuzu ;
  • ✅ bundles/import patches Cognee ;
  • ✅ export/sync Graphiti dry-run ;
  • ✅ workflow CLI projet ;
  • ✅ export de harnais d’agent ;
  • ✅ export Obsidian ;
  • ✅ génération frontend + intégrité des liens (pas de nodes/codeclass-*.html) ;
  • ✅ idempotence du wiki store ;
  • ✅ golden + idempotence du synthesis projector ;
  • ✅ composants, pages, exports et pertinence du site ;
  • ✅ forme des fichiers frères IA (.txt + .json par page) ;
  • ✅ idempotence end-to-end de deux compilations ;
  • ✅ installation du package et contrat de l’installateur.