Skip to content

PointSav Documentation

The engineering library for the PointSav platform — operating systems and services for regulated businesses that own their data, their AI, and their record-keeping outright. Where the monorepo holds the code, this wiki holds the reasoning: architecture, services, security, and the governance commitments that bind future development.

Aplicación MediaKit Knowledge

app-mediakit-knowledge es el motor wiki Rust de binario único que sirve la documentación de ingeniería de PointSav en https://documentation.pointsav.com. El motor combina un servidor HTTP axum, un renderizador CommonMark comrak12 con extensiones específicas de la plataforma para wikilinks, notas al pie, tabla de contenidos y anclas de sección, un backend de búsqueda de texto completo tantivy3 y una capa de plantillas maud. El motor lee archivos Markdown desde un directorio de contenido que el operador indica al arrancar, los renderiza bajo demanda a HTML y los devuelve con cabeceras de caché ajustadas para un público de documentación técnica.

El motor es una vista sobre un árbol de Markdown, no un repositorio de contenido. El árbol de Markdown es canónico; el binario en ejecución es una vista que cualquier número de operadores puede levantar sobre el mismo árbol de contenido, o sobre árboles distintos, sin estado mutable compartido del lado del binario. Esta inversión de la fuente de verdad es la decisión de diseño más importante y se trata en detalle en la siguiente sección.

La primera implementación pública del motor entró en servicio el 2026-04-27 a las 16:25 UTC, sirviendo un árbol de contenido inicial de cuatro archivos en https://documentation.pointsav.com.

Inversión de la fuente de verdad

La decisión de diseño central del sustrato: git es canónico; el binario en ejecución es una vista.

Todo artefacto concreto con el que un lector interactúa — la página HTML, la entrada del feed Atom, el bloque JSON-LD, el resultado de búsqueda — se deriva en tiempo de solicitud del árbol de Markdown en disco. El estado del disco es lo que se confirma, revisa, replica y divulga. El HTML es descartable. El índice Tantivy es descartable, reconstruido desde el árbol de Markdown al arrancar.

Inversión del modelo MediaWiki

Esta inversión revierte el modelo tradicional de MediaWiki, donde la base de datos es canónica y el sistema de archivos es una copia de trabajo derivada. Aquí, el sistema de archivos es canónico y la base de datos (índice de búsqueda) es una copia de trabajo derivada. La motivación es la simplicidad operativa — una copia de seguridad del árbol de contenido es un git clone; una réplica es un git pull; una auditoría es un git log — y una invariante a nivel de sustrato: cada afirmación publicada es un commit git firmado; el registro de divulgación es el historial de git; la postura de divulgación continua BCSC queda impuesta por la estructura, no solo por política.

Flujos de trabajo que la inversión elimina

De la inversión se derivan otros patrones. La wiki no tiene flujo de vista-previa-y-publicación porque el estado canónico es lo que ya se confirmó — un commit ya es una publicación. La wiki no tiene publicación programada por la misma razón. La wiki no tiene estado de borrador del lado del servidor porque los borradores viven en la copia de trabajo git del colaborador o en el pipeline editorial, no en una base de datos que el motor posea.

Superficie de rutas

El motor expone un conjunto acotado de rutas HTTP. Cada una es independiente; ninguna depende de estado de sesión ni de una base de datos que el motor posea.

Ruta Propósito
/healthz, /health Verificación de disponibilidad
/ Página de índice (lista todos los artículos del árbol de contenido servido)
/wiki/{slug} HTML del artículo renderizado
/es/wiki/{slug} HTML del par en español renderizado
/category/{name} Página de categoría
/history/{slug} Historial de revisiones por artículo, leído directamente del log de git y mostrando el diff de cada revisión
/special/all-pages Índice completo de artículos
/special/recent-changes Artículos editados recientemente
/search?q= Resultados de búsqueda de texto completo (Tantivy)
/sitemap.xml Sitemap conforme a sitemaps.org
/robots.txt Descubrimiento para rastreadores
/feed.atom Feed de sindicación Atom RFC 42874
/llms.txt Convención llmstxt.org para rastreadores de LLM5
/static/{*path} Activos estáticos (CSS, JS, fuentes)

No existe editor en el navegador ni ruta de escritura — cada artículo se edita en su repositorio git de origen y se recoge en el siguiente renderizado, no a través del propio motor.

Esquema JSON-LD del artículo

El motor emite esquema JSON-LD TechArticle6 y DefinedTerm en el bloque <head> de cada artículo renderizado, para comprensión de motores de búsqueda y rastreadores. Los datos estructurados se generan a partir del frontmatter del artículo, no se redactan a mano por página; el esquema tiene la misma forma en todo el corpus.

Cromo de memoria muscular de Wikipedia

El motor incluye un cromo deliberadamente reconocible para cualquier lector de Wikipedia. Un lector de cualquier artículo de Wikipedia navegará el motor sin instrucciones previas, y un lector no familiarizado con Wikipedia adoptará el patrón rápidamente porque son convenciones bien documentadas.7

Convenciones conservadas de Wikipedia

  • Pestañas Artículo/Discusión en la parte superior de la página
  • Una pestaña Ver historial junto al par Artículo/Discusión, leída directamente del log de git del artículo
  • Orden de cierre del artículo: Referencias, Véase también, Categorías, con una banda de pie que nombra la licencia del artículo y el sustrato
  • Banda hatnote en la parte superior del artículo para desambiguación y referencias cruzadas
  • Convención de primera oración del lead (sujeto en negrita más cópula más definición)
  • Eslogan directamente bajo el título del artículo
  • Tabla de contenidos plegable en el margen izquierdo (construida desde encabezados H2 y H3)
  • Selector de idioma (actualmente inglés / español)

Añadidos más allá de Wikipedia

  • Banner cautelar de Información Prospectiva cuando el frontmatter de un artículo establece forward_looking: true
  • Campo disclosure_class de BCSC expresado en los datos estructurados JSON-LD de cada artículo renderizado
  • Selector de densidad de lectura (compacto / cómodo; la preferencia persiste del lado del cliente)

Modelo de edición

No existe editor en el navegador, ni API de escritura, ni modelo de sesión colaborativa o de bloqueo — el motor es de solo lectura desde la perspectiva de un visitante. Un artículo se edita en su repositorio git de origen, mediante el flujo editorial normal que produce el commit, y el cambio aparece en el siguiente renderizado sin reinicio del servicio. El historial de revisiones que un lector ve en /history/{slug} es ese mismo log de git, leído directamente en lugar de duplicado en una base de datos aparte.

Búsqueda y sindicación

El motor indexa el árbol de contenido al arrancar. El índice es Tantivy en disco en <state-dir>/search/, reconstruido desde el árbol de contenido si falta.

Sindicación y descubrimiento para rastreadores

  • /feed.atom — feed de sindicación Atom RFC 4287 del corpus.
  • /sitemap.xml — conforme a sitemaps.org. Enumera cada URL de artículo con su fecha de última modificación.
  • /robots.txt y /llms.txt — archivos de descubrimiento para rastreadores y rastreadores de LLM5.

Superficie de compatibilidad nativa del sustrato

El motor es una wiki nativa del sustrato, no un shim de MediaWiki. Esto refleja decisiones arquitectónicas tomadas durante el desarrollo temprano de la plataforma.

Superficies de MediaWiki conservadas y descartadas

Lo que se conservó: la ruta de importación xml-dump para migración de corpus única; las convenciones de URL (/wiki/{slug}); la sintaxis de wikilink ([[slug]] y [[slug|texto]]); la sintaxis de nota al pie ([^1]).

Lo que se descartó: el shim de la Action API de MediaWiki — el shim se limitó en v0.1.10 y se retiró en v0.1.14, porque el mantenimiento escala con la velocidad de MediaWiki y la auditoría de cumplimiento escala con la superficie de la API. La superficie nativa del sustrato (HTML de artículo, JSON-LD, Atom, sitemap, llms.txt, búsqueda vía /search?q=) cubre los mismos casos de uso sin una interfaz autoritativa paralela que exija mantenimiento aparte. Las plantillas y funciones de parser de MediaWiki se descartaron porque la ruta de renderizado del motor es CommonMark con extensiones propias de PointSav, no un parser de MediaWiki. El ecosistema pywikibot se descartó porque la ruta de automatización del sustrato es el conjunto de herramientas del espacio de trabajo ya existente, no el framework pywikibot.

Superficie más estrecha, postura coherente

El compromiso es una superficie de compatibilidad más estrecha a cambio de una postura coherente con el sustrato. Un lector que migra desde un despliegue de MediaWiki pierde plantillas y la Action API; gana inversión de la fuente de verdad, renderizado determinista, postura de divulgación fundamentada en BCSC y una superficie de ataque menor.

Un artículo hermano aparte (Compatibilidad nativa del sustrato — por qué se descartó el adaptador de Action API) cubre la justificación completa.

Federación de contenido

El motor está pensado para servir contenido desde múltiples repositorios git a través de una única superficie renderizada, mediante un manifiesto de montaje declarativo (knowledge.toml) que el operador coloca en la raíz del directorio de contenido. Cada entrada de montaje nombra un repositorio de origen, una ruta de montaje local y un plano — el esquema que determina cómo se validan, enrutan y enlazan los archivos de ese montaje. Esta capacidad está planificada; la arquitectura aquí descrita es el diseño previsto, y el modelo de un solo repositorio es la forma actualmente desplegada.

Montajes y esquemas de plano

Un montaje de contenido es un subárbol de directorio derivado de un repositorio git nombrado. Los planos son esquemas nombrados que restringen el contenido que un montaje puede contener y determinan el patrón de URL que ocupa. Dos planos vienen integrados: topic (el artículo wiki estándar) y guide (documentos operativos, renderizados con un cromo distinto y excluidos del índice de artículos principal). Los operadores podrán registrar planos adicionales — regional-market, adr, changelog y esquemas específicos de dominio similares — como complementos cuando la Fase 6 esté disponible.

Aislamiento por instancia

Cada instancia wiki lee solo los montajes declarados en su propio knowledge.toml. Un despliegue de documentation.pointsav.com y uno de projects.woodfinegroup.com pueden tomar de repositorios superpuestos pero presentar superficies de artículo completamente independientes — las definiciones de montaje son configuración por instancia, no estado de registro global.

Procedencia

Cada artículo renderizado desde un montaje declarativo lleva frontmatter de procedencia que identifica el repositorio de origen y la ruta. Puesto que el motor no tiene superficie de escritura propia, esto mantiene intacta la inversión de la fuente de verdad en toda una superficie federada por construcción: ninguna instancia wiki puede escribir a un repositorio del que no es originaria, porque ninguna instancia wiki escribe a ningún repositorio.

La Fase 6 está planificada para entregar la especificación del esquema knowledge.toml, la API de complementos de plano y el manejo del frontmatter de procedencia. La Fase 7 está planificada para entregar recuperación con direccionamiento por contenido y federación anclada en blake3. Véase Montajes de contenido y federación para el patrón en profundidad.

Estado de construcción

El motor está desplegado y sirviendo documentation.pointsav.com hoy: el renderizado, los wikilinks, las páginas de categoría, el historial por artículo, la búsqueda y la superficie de sindicación/rastreadores anterior están todos en producción. No existe editor, ni API de escritura, ni superficie de edición colaborativa — el único camino de un artículo hacia la publicación es un commit a su repositorio git de origen, leído por el motor en el siguiente renderizado.

Véase también

  1. CommonMark Specification. https://commonmark.org/

  2. comrak — CommonMark-compliant Markdown processor in Rust. https://github.com/kivikakk/comrak

  3. Tantivy full-text search engine. https://www.tantivy-search.org/

  4. Atom Syndication Format — RFC 4287. https://datatracker.ietf.org/doc/html/rfc4287

  5. llmstxt.org convention for LLM crawlers. https://llmstxt.org/ 2

  6. Schema.org TechArticle schema. https://schema.org/TechArticle

  7. Wikipedia Manual of Style — Layout. https://en.wikipedia.org/wiki/Wikipedia:Manual_of_Style/Layout

Cite this record: /wiki/app-mediakit-knowledge — revision 9034e9af, last updated 22 August 2026.

Important Information

Estructura corporativa. PointSav Digital Systems ("PointSav") es actualmente un nombre comercial de Woodfine Capital Projects Inc. ("Woodfine"), con previsión de convertirse en una subsidiaria de propiedad absoluta de Woodfine tras su incorporación. PointSav no ofrece, vende ni solicita por sí mismo valor alguno. Toda oferta de valores asociada a las soluciones inmobiliarias de tenencia directa de Woodfine se realiza exclusivamente por parte de Woodfine, y únicamente por medio del Memorando de Colocación Privada aplicable.

Sin asesoramiento de inversión. El contenido de este wiki se ofrece con fines de ingeniería, operativos, de investigación y de desarrollo. Nada de lo que figura en este wiki constituye asesoramiento de inversión ni una solicitud para invertir en ninguna sociedad o solución de tenencia directa de Woodfine.

Propiedad intelectual. El nombre, el nombre comercial, el logotipo y las marcas de PointSav, junto con todos los productos, servicios y ofertas actuales y futuros de las marcas PointSav y Totebox — así como el software, el código fuente, la documentación, el sistema de diseño y todos los materiales relacionados — son propiedad de Woodfine y sus filiales, salvo los componentes identificados como de código abierto. No se otorga ningún derecho salvo el expresamente establecido en una licencia o acuerdo por escrito. El aviso de marcas completo aparece en el pie de página de cada página de este sitio.

Componentes de código abierto. Algunas partes de la plataforma se ofrecen bajo licencias de código abierto permisivas identificadas en el repositorio correspondiente. El uso de esos componentes se rige por los términos de sus respectivas licencias.

Sin garantía; uso informativo. El contenido de este wiki se ofrece únicamente con fines informativos generales y no constituye una declaración, garantía ni compromiso respecto de la funcionalidad, disponibilidad, precio o hoja de ruta de ningún producto. Algunos artículos describen características, capacidades e hitos planificados o previstos — el lenguaje como "planificado", "previsto", "objetivo", "puede" y "esperado" marca este contenido prospectivo, que está sujeto a cambios y no constituye un compromiso respecto del rendimiento futuro.

Confidencialidad. Cuando un artículo describiría un detalle operativo o de implementación no destinado a divulgación pública, ese artículo no se publica en este wiki. El contenido aquí es documentación de ingeniería de uso general, no configuración específica de clientes.

Jurisdicción. Woodfine Capital Projects Inc. está constituida en Columbia Británica, Canadá. Las referencias a la Sovereign Data Foundation en este wiki describen una iniciativa planificada o prevista únicamente, no una titular de capital actual ni un órgano de gobierno activo.

Cambios a este aviso. PointSav podrá actualizar este aviso periódicamente; rige la versión publicada en esta página.

No es un sistema de presentación de documentos. Este wiki no es un sistema de presentación de valores, un repositorio de divulgación electrónica ni un sustituto de SEDAR+ ni de ningún otro sistema de presentación regulatorio. Las presentaciones formales de valores se realizan a través del sistema de presentación regulatorio correspondiente, no a través de este wiki.

Descargo completo. Este aviso complementa, y no sustituye, el artículo completo de Avisos Legales. En caso de cualquier conflicto, prevalece el artículo de Avisos Legales.

Read the full disclaimer →