14.5 KB · updated 2026-05-19 · md

feature-map.es.md

docs/i18n/feature-map.es.md

Mapa de funciones

<!-- translations:start -->

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

<!-- translations:end --> Este documento resume las funciones implementadas actualmente en Tesserae, con su estado, archivos fuente y dónde están documentadas.

Leyenda de estado: ✅ publicado · ⚠ en progreso / parcial.

Rediseño del frontend — abril de 2026

Una wiki jerárquica centrada en documentos reemplaza el antiguo volcado de grafos. Consulta MD0 para el recorrido ruta por ruta y MD1 para el modelo de tres capas.

Capa wiki (L2 markdown)

FunciónEstadoFuenteAncla de documentación
WikiPageStore (escrituras idempotentes con body-hash, parser de frontmatter)MD0architecture.md § Mapa de módulos
WikiLayerProjector — una página md por nodo de la capa wikiMD0architecture.md § Canalización
Páginas sources/wiki_projector.pyfrontend-redesign.md § Sources
Páginas concepts/wiki_projector.pyfrontend-redesign.md § Concepts
Páginas entities/wiki_projector.pyfrontend-redesign.md § Entities
Páginas papers/wiki_projector.pyfrontend-redesign.md § Papers
Páginas repos/wiki_projector.pyfrontend-redesign.md § Repos
Páginas topics/wiki_projector.pyfrontend-redesign.md § Topics
Páginas questions/ (preguntas abiertas)wiki_projector.pyfrontend-redesign.md § Questions
Páginas syntheses/MD0frontend-redesign.md § Syntheses

Tipos de síntesis (L2 → derivado)

SynthesisProjector produce siete plantillas deterministas y añade nodos Synthesis y aristas synthesizes / summarizes de vuelta al grafo.

TipoEstadoFuenteNotas
pulse (uno global, alimenta /)synthesis.pySe reconstruye en cada compilación.
daily_digestsynthesis.pyUno por data/research/daily/<date>/.
weeklysynthesis.pyUno por data/research/weekly/<iso-week>/.
topicsynthesis.pyUno por clúster ResearchTopic / ApproachFamily con ≥ 3 papers.
comparisonsynthesis.pyUno por par de ApproachFamily que compiten en la misma tarea.
field_overviewsynthesis.pyUno por ResearchField.
Resúmenes mejorados con LLM (activados por variable de entorno)solo hookLa línea base heurística se entrega; el hook TESSERAE_SYNTHESIS_LLM=1 queda como stub.

Rutas del sitio estático

RutaEstadoFuenteNotas
/ (inicio, pulse principal)MD0 render_homeFila de estadísticas + puntos de entrada curados + actividad reciente.
/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_timelineMapa de calor + lista de días + carril de síntesis.
/timeline/<YYYY-MM-DD>.html (detalle por día)aún n/aLas celdas del mapa de calor enlazan provisionalmente a la página fuente digest.md de ese día. Subagent P está conectando las páginas de detalle diario mediante StaticSiteBuilder.
/graph/ (2D + 3D interactivo)pages.py::render_graph_view + js.py3d-force-graph + Three.js, tooltips al pasar el cursor, etiquetas de aristas, zoom anclado al cursor.
/about.htmlpages.py::render_aboutEsquema, información de compilación.

Exportaciones amigables para IA

ArtefactoEstadoFuentePropósito
Archivo hermano <page>.txt por páginaMD0 write_siblingsVista en texto plano de una página (sin navegación ni estilos).
Archivo hermano <page>.json por páginaexports.py::write_siblings{title, kind, body, body_text, links, source_path, frontmatter}.
llms.txtexports.py::render_llms_txtÍndice corto de llmstxt.org.
llms-full.txtexports.py::render_llms_full_txtCuerpo de todas las páginas, limitado a 5 MB.
graph.jsonldexports.py::render_graph_jsonldDataset de schema.org, solo nodos de la capa wiki.
graph.json__init__.py::write_sitePayload completo del grafo (incl. nodos de código para herramientas).
search-index.jsonMD0Paleta + búsqueda de páginas; solo tipos de la capa wiki.
sitemap.xmlexports.py::render_sitemap_xmlTodas las rutas emitidas, lastmod desde frontmatter.
rss.xmlexports.py::render_rss_xmlÚltimas 30 syntheses.
robots.txtexports.py::render_robots_txtPermisivo — rastrear + indexar.
ai-readme.mdexports.py::render_ai_readmeMapa del sitio legible por máquina.
manifest.json__init__.py::_manifestsha256 + tamaño de cada archivo emitido (arnés de idempotencia).

Diseño visual + UX

FunciónEstadoFuenteNotas
Tokens de diseño (temas claro + oscuro, acento terracota)MD0Un único paquete CSS en assets/style.css.
Alternador de tema (persistente, sin destello)MD0data-theme="dark" en localStorage, aplicado antes del pintado.
Paleta de búsqueda (cmd+k / ctrl+k / /)js.pyCoincidencia difusa sobre search-index.json; lista de páginas recientes.
TOC derecho fijopages.py + tokens.pySolo escritorio; cajón móvil mediante <details>.
Mapa de calor de actividad con etiquetas de mes + día de semanacomponents.py::heatmap_svgSVG de 26 semanas, las celdas enlazan al digest.md del día.
Sparkline (por concepto/entidad)components.py::sparkline_svgConteos semanales de menciones, últimas 12 semanas.
Shell móvil (carril de cajón, navegación inferior, tipografía fluida)tokens.py + pages.pyObjetivos táctiles ≥ 44 px.
Transiciones de página (opacidad 120 ms, prefers-reduced-motion)tokens.py
Vista de grafo 3D + 2D (hover, etiquetas de aristas, zoom anclado al cursor)pages.py::render_graph_view + js.py3d-force-graph + Three.js, vendorizado como snapshot de CDN.
Pie de hermanos IA por páginacomponents.py::ai_siblings_footerEnlaces en línea al .txt y .json de la página actual.
Páginas de historial de sesiones del arnésMD0 + MD1Importación explícita de Claude Code/Codex; índice /sessions/ y páginas de detalle con turnos markdown, carril izquierdo de turnos, uso de herramientas colapsado y entradas de búsqueda.

Canalización + CLI

FunciónEstadoFuenteNotas
project compile llama a synthesis + wiki + site en ordenMD0Fase 3 del plan de rediseño.
project build-site independienteproject.py + MD1Lee wiki/ + graph.json, escribe site/.
project serve HTTP localcli.pyServidor stdlib simple.
project deploy → GitHub PagesMD0Push de worktree a gh-pages; --enable-pages opcional vía CLI gh. --build, --dry-run, --branch, --remote, --force.
project sessions discover/import/listMD0 + cli.pyHistorial de sesiones entrante para Claude Code/Codex; el descubrimiento es explícito y limitado al directorio de trabajo del proyecto.
project watch recompila al cambiarMD0Subagent R está terminando el watcher por sondeo — la superficie de argumentos --interval, --debounce, --once, --paths, --quiet está lista; el cuerpo del bucle de recompilación se está integrando en esta ronda.

Funciones preexistentes (conservadas sin cambios)

CLI e instalación

  • ✅ Paquete Python instalable mediante pyproject.toml.
  • ✅ Comandos de consola: tesserae, tesserae, tesserae_mcp.
  • scripts/install.sh para instalación con curl | bash.
  • ✅ Instalaciones editables por defecto para desarrollo local rápido.

Extracción

  • ✅ Extractor determinista de notas de investigación con vocabularios controlados de nodos/aristas.
  • ✅ Extractor Claude CLI/OAuth para extracción estructurada de mayor calidad sin claves API.
  • ✅ Enrutamiento selectivo de Claude por glob y límite de presupuesto.
  • ✅ Extractor determinista de código de desarrollo para proyectos Python.
  • ✅ Ingesta por lotes con hashing de contenido y soporte --changed-only.
  • ✅ Lectura de fuentes tolerante a UTF-8 malformado.

Gobernanza del grafo

  • ✅ Lista controlada ResearchNodeType — ahora incluye SYNTHESIS.
  • ✅ Lista blanca controlada de tipos de arista — ahora incluye synthesizes, summarizes.
  • ✅ Validación para rechazar deriva de esquema.
  • ✅ Canonicalización de alias.
  • ✅ Cola de revisión para nodos casi duplicados ambiguos.
  • ✅ Plantilla de decisiones de revisión y flujo de fusionar/mantener separado.
  • ✅ Resumen de tendencias del corpus a partir de grafos por archivo.

Persistencia e informes

  • ✅ Exportación Graph JSON.
  • ✅ Almacén de grafos SQLite.
  • ✅ Almacén de grafos Kuzu opcional.
  • ✅ Informe de grafo con conteos, cobertura de evidencia, nodos huérfanos, buckets de fecha y nodos con muchos alias.
  • ✅ Informe competitivo que describe ideas absorbidas de MegaMem, Graphiti/Zep, MCP graph servers, agentic RAG.

Flujo de trabajo local del proyecto

  • tesserae project init
  • tesserae project ingest
  • tesserae project compile
  • tesserae project mcp-config
  • tesserae project build-site
  • tesserae project serve
  • tesserae project deploy (nuevo — GitHub Pages)
  • tesserae project sessions discover/import/list (importación explícita de historial de agente local)
  • tesserae project watch (en progreso)
  • tesserae project export-agent-harness
  • tesserae project export-obsidian
  • tesserae project export-graphiti
  • tesserae project sync-graphiti

Obsidian

  • ✅ Exportación de vault lista para abrir.
  • .obsidian/app.json y configuración de grafo.
  • ✅ Proyección Markdown.
  • ✅ Estructura raw/assets/.
  • _meta/dashboard.md con consulta Dataview.

Arneses de agente

Archivos de destino generados para:

  • ✅ Claude Code: CLAUDE.md, .claude/settings.json
  • ✅ Codex: AGENTS.md, mcp.toml
  • ✅ Gemini: GEMINI.md, .gemini/settings.json
  • ✅ Kiro: steering y configuración MCP
  • ✅ Cursor: reglas de proyecto y configuración MCP
  • ✅ OpenCode: AGENTS.md, opencode.json

Graphiti / hechos temporales

  • ✅ Proyección de hechos temporales con campos de procedencia, vigencia, confianza e invalidación.
  • ✅ Exportación JSONL de episodios Graphiti sin dependencias.
  • ✅ Smoke sync-graphiti --dry-run sin Graphiti instalado.
  • ✅ Sincronización en vivo opcional con graphiti_core y Neo4j.

Cognee

  • ✅ Paquete Cognee JSONL (nodes.jsonl, edges.jsonl, manifest.json).
  • ✅ Importación directa opcional solo-adición.
  • ✅ Adaptador Cognee cognify opcional respaldado por Codex CLI/OAuth.
  • ✅ Rutas de adaptador de embeddings determinista y Ollama para flujos smoke/calidad sin clave API.

Servidor MCP

  • tesserae_mcp / python3 -m tesserae.mcp_server sobre stdio JSON-RPC.
  • ✅ Herramientas: schema, graph_summary, search_nodes, node_context, search_facts, timeline.
  • ✅ Registro multiproyecto.

Pruebas

La suite actual cubre:

  • ✅ guardrails de ontología (incl. nuevo nodo Synthesis + aristas synthesizes / summarizes);
  • ✅ extracción determinista;
  • ✅ parsing/validación del wrapper Claude CLI;
  • ✅ enrutamiento selectivo de Claude;
  • ✅ flujo de canonicalización/revisión;
  • ✅ ingesta por lotes;
  • ✅ informes;
  • ✅ persistencia SQLite/Kuzu;
  • ✅ bundles/import patches de Cognee;
  • ✅ exportación/sincronización Graphiti dry-run;
  • ✅ flujo CLI del proyecto;
  • ✅ exportación de arnés de agente;
  • ✅ exportación Obsidian;
  • ✅ generación frontend + integridad de enlaces (sin nodes/codeclass-*.html);
  • ✅ idempotencia del almacén wiki;
  • ✅ golden + idempotencia de synthesis projector;
  • ✅ componentes, páginas, exportaciones y relevancia del sitio;
  • ✅ forma de hermanos IA (.txt + .json por página);
  • ✅ idempotencia end-to-end al compilar dos veces;
  • ✅ instalación de paquete y contrato del instalador.