12 conocimiento
Principio¶
El conocimiento necesario para operar, mantener y evolucionar SmallCountry no reside en la memoria del administrador, sino que se documenta de forma estructurada, se versiona junto al código en Forgejo y se publica en
docs.sc mediante MkDocs.
Cada persona que utiliza el sistema puede realizar las tareas propias de su rol sin necesidad de recurrir a una figura administradora.
Los usuarios acceden a los servicios a través de un panel de inicio único, Homepage, que Authentik segmenta dinámicamente según los grupos a los que pertenece cada persona. Nadie ve servicios para los que no tiene permiso, y nadie necesita saber qué hay detrás de la interfaz para utilizarla.
El equipo de campo recibe recordatorios proactivos de las tareas que requieren intervención humana, con instrucciones y checklist, y los resultados se registran automáticamente en farmOS.
Si un flujo de trabajo habitual requiere la intervención del administrador, el diseño del sistema se considera defectuoso y debe corregirse.
Supervivencia del conocimiento¶
Este principio no es una cuestión de comodidad: es una cuestión de supervivencia. Si el arquitecto desaparece —por cualquier motivo—, el sistema debe poder ser comprendido, mantenido y evolucionado por otra persona sin formación previa en SmallCountry. La documentación es el testamento técnico del proyecto. Si no se entiende, el sistema muere con su creador. Por eso cada página está escrita para que cualquier persona —sin conocimientos previos— pueda entender todos los términos, acrónimos y referencias que contiene. El conocimiento no reside en la memoria del arquitecto: reside en estas páginas.
Cómo se garantiza el conocimiento compartido¶
Documentación como código¶
| Elemento | Herramienta | Descripción |
|---|---|---|
| Redacción | code-server | Entorno de desarrollo desde el navegador donde se editan simultáneamente el código y la documentación. |
| Versionado | Forgejo | El repositorio docs.sc contiene toda la documentación en formato Markdown. Cada PR que modifica código debe incluir la actualización de la documentación correspondiente. |
| Publicación | MkDocs | Genera un sitio estático a partir del contenido del repositorio y lo sirve localmente en docs.sc. |
| Indexación para IA | Qdrant | La documentación se indexa en la base vectorial para que la IA de Ollama pueda responder preguntas contextuales sobre el sistema. |
La documentación no es un añadido posterior. Forma parte del flujo descrito en el 1. Infraestructura y configuración como código: se escribe en el mismo momento en que se desarrolla el código, y viaja con él a través del pipeline de Forgejo Actions hasta producción.
Autoservicio sin administrador¶
| Rol | Herramientas y permisos |
|---|---|
| Familia | Accede a Nextcloud, Immich, Jellyfin, Homepage y solicita contenido audiovisual desde Jellyseerr sin mediación. |
| Biólogo / equipo de campo | Accede a Grafana (lectura de dashboards de finca), farmOS (registro completo de cultivos, cosechas y observaciones), Immich (álbum de biodiversidad), Forgejo (repositorio de ciencia abierta) y Qdrant (consultas a la colección de literatura científica). Recibe recordatorios proactivos de tareas (análisis de suelo, calicatas, revisión de NDVI) con checklist y registro automático. |
| Psicólogo | Accede a Joplin Server (notas cifradas E2E (cifrado de extremo a extremo)), instrumentos clínicos locales y Qdrant (consulta de literatura científica). Cualquier dato sensible queda fuera del alcance del resto de usuarios. |
Cada rol tiene un grupo en Authentik que determina qué servicios ve en Homepage. No existen paneles de administrador separados; la misma interfaz se adapta a cada persona.
Recordatorios proactivos y asistentes de campo¶
Los flujos de n8n programan recordatorios periódicos para las tareas agrícolas que requieren intervención humana. Cada recordatorio incluye:
- Instrucciones paso a paso.
- Checklist de comprobaciones.
- Enlace al formulario de farmOS donde registrar el resultado.
Cuando el biólogo completa la tarea, el registro queda automáticamente vinculado a la parcela correspondiente, actualizando los dashboards de Grafana y el repositorio de ciencia abierta en Forgejo.
Herramienta CLI de autoservicio (sc-cli)¶
Para tareas de diagnóstico o recuperación que antes requerían acceso de administrador, existe una herramienta de línea de comandos, sc-cli, que pueden ejecutar usuarios con el rol buddy-admin:
sc-cli diagnose --service nextcloud: ejecuta una batería de comprobaciones sobre el servicio y sugiere acciones.sc-cli restore --service immich --from-snapshot yesterday: restaura un snapshot ZFS (sistema de archivos con integridad de datos) del servicio, previa confirmación explícita.sc-cli status --all: muestra un resumen del estado de todos los servicios en formato legible.
sc-cli ejecuta las acciones con privilegios controlados, sin dar acceso al shell del servidor ni a las herramientas de administración completas. Cualquier acción queda registrada en Victoria Metrics y notificada al administrador.
Stack necesario¶
- code-server – Entorno de edición de documentación y código.
- Forgejo – Repositorio
docs.sc, CI/CD (integración y despliegue continuo). - MkDocs – Generador de documentación estática.
- Homepage – Panel de inicio unificado con vistas segmentadas por rol.
- Authentik – Proveedor de identidad, grupos y segmentación de acceso.
- n8n – Recordatorios proactivos y flujos de asistencia al equipo de campo.
- Joplin Server – Notas cifradas E2E para el psicólogo y el biólogo.
- Qdrant – Indexación de la documentación y la literatura para consulta por parte de la IA.
sc-cli– Herramienta CLI de autoservicio para usuarios autorizados.- Victoria Metrics – Registro de auditoría de acciones ejecutadas desde
sc-cli.
Relaciones con otros principios¶
- 1. Infraestructura y configuración como código: la documentación se versiona en el mismo repositorio que el código y sigue el mismo flujo de PRs y CI/CD.
- 10. Asistencia inteligente con supervisión humana obligatoria: la IA indexa la documentación desde Qdrant y puede responder preguntas de los usuarios sobre cómo realizar tareas, facilitando el autoservicio.
- 7. Soberanía operativa y operación local: la documentación se sirve completamente offline desde
docs.sc. No depende de internet. - 8. Observabilidad integral desde el origen: las comprobaciones de
sc-clise basan en métricas reales de Victoria Metrics y logs de Loki.
Diagrama de conocimiento compartido y autonomía¶
graph TD
subgraph Documentacion [Documentación como código]
direction TB
CodeServer[code-server]
Forgejo[Forgejo docs.sc]
MkDocs[MkDocs]
CodeServer --> Forgejo
Forgejo --> MkDocs
end
subgraph Autoservicio [Autoservicio de usuarios]
direction TB
Authentik[Authentik - grupos y roles]
Homepage[Homepage segmentado]
sccli[sc-cli - CLI de autoservicio]
n8n[n8n - recordatorios]
Authentik --> Homepage
Authentik --> sccli
n8n --> farmOS
end
subgraph Conocimiento [Conocimiento accesible]
direction TB
Qdrant[Qdrant]
Joplin[Joplin Server - notas cifradas]
Docs[MkDocs - docs.sc]
Qdrant --> IA[Ollama - consultas]
Docs --> Qdrant
end
Documentacion --> Conocimiento
Autoservicio --> Conocimiento
MkDocs --> Docs
style Documentacion fill:#a5d6a7,stroke:#2e7d32,color:#000
style Autoservicio fill:#90caf9,stroke:#1565c0,color:#000
style Conocimiento fill:#ffe082,stroke:#f57f17,color:#000
← Principio 11: Contención de recursos | Protección de Datos (RGPD) →