Estructura del Vault — Mayo 2026 (post reorganización)

Vault raíz: Obsidian-TheFittClub. Última reorganización completa: 2026-05-13. Para la guía operativa de uso diario, abrir index.md — esta página solo describe la estructura física.

Anatomía actual

00_Home/                    ← braindump
  Ideas/                    ← ideas sueltas con fecha
                              (Scrum/ y Templates/ archivados en 99_Archivo el 2026-05-13:
                              superseded por el cockpit auto-generado)

10_Marca/                   ← work-in-progress de marca (8 docs)
                              Los canónicos viven en dev repo `_docs/01-core/thefittclub-*.md`

20_Metodologia/             ← metodología consolidada
  Rituales/Ritual_Core/
    Fases_Ritual_Core.md    ← consolidado de las 5 fases (Fase 1 con contenido, 2-5 stub)
    Logica_Progresion_Matriz.md

40_Contenido_Redes/         ← producción cross-channel ACTIVA (canal primario: IG)
  _Timeline_Reactivacion.md
  Templates/                ← plantillas IG / YT / Blog / Testimonial
  Funnel_Conversion/        ← copy ya escrito (Cápsula Cero, urgencia, landing, emails)
  Junio_2026/, Julio_2026/, Agosto_2026_Beta/, Septiembre_2026_Lanzamiento/
                              ← carpetas mensuales para drafts de contenido

70_Embajadoras/             ← códigos + shareables + templates para fisios

80_Metricas/                ← Dashboard de conversión + trackers operativos
                              Counters automáticos: en dev repo outreach-metrics.md

99_Archivo/                 ← NO se publica (Quartz lo excluye)
  Historico_Social/
    Publicado_IG/           ← 664 posts publicados — archivo histórico para análisis
    Analisis/               ← análisis top guardados + patrones virales (ex 50_Historico_Instagram)
  2026-05/                  ← stubs retirados durante limpieza 13-05-2026

100_Desarrollo/             ← cockpit auto-generado por GitHub Action
  00_Tablero_Desarrollo.md  ← overview general (NO editar — auto-regenerado)
  01_Hito_Activo.md         ← deep dive del hito en marcha (NO editar — auto-regenerado)
  02_Flow_Map.md            ← flujos de usuario por milestone (auto-sync desde dev repo)

60_Fundadora/               ← notas personales — NO se publica (Quartz excluye)

index.md                    ← entry point — mapa de hubs + navegación
quartz/                     ← config del static site generator (NO editar a mano)
scripts/, cloudflare-worker/ ← infra del deploy

Cambios respecto a la versión abril 2026

  • Eliminadas: 30_Ejercicios_DB/ (los 160 ejercicios viven en D1 del dev repo, no en markdown), 50_Historico_Instagram/ (movido a 99_Archivo/Historico_Social/Analisis/), 90_Productos/ (stubs archivados; el SSOT del producto vive en _docs/01-core/thefittclub-product.md).
  • Despublicadas: 60_Fundadora/, 99_Archivo/ (incluido Historico_Social/) — antes se publicaban inadvertidamente en vault.thefittclub.com. Privacy + perf fix aplicado en quartz.config.ts § ignorePatterns el 2026-05-13.
  • Movidas a archivo: 40_Contenido_Redes/Publicado_IG/ (664 posts) → 99_Archivo/Historico_Social/. La carpeta legacy Publicado_YouTube/ (solo un README de redirección) se eliminó en la limpieza de contenido 2026-06.
  • Borrados duplicados: los 7 thefittclub-*.md en 10_Marca/ (eran copias del SSOT en dev repo — drift garantizado, ahora se referencian desde el dev repo solamente).
  • Borrados stubs: 100_Desarrollo/Decisiones_Tecnicas.md + Tickets_Activos.md (superseded por el auto-tablero).
  • Consolidado: 5 stubs Fase_X.md → un solo Fases_Ritual_Core.md.

Reglas operativas

  1. 100_Desarrollo/00_Tablero_Desarrollo.md y 01_Hito_Activo.md son auto-generados por la GitHub Action sync-vault-dashboard en el dev repo. No editar a mano.
  2. Source of truth canónicos (marca, voz, estrategia, producto, founder-private) viven en el dev repo ~/Desktop/TFC/thefittclub/_docs/01-core/. No duplicar en el vault.
  3. Métricas operativas (counters de outreach + dev) viven en el dev repo ~/Desktop/TFC/thefittclub/_docs/01-core/outreach-metrics.md. El vault las consume vía tablero.
  4. Cadencia de obligaciones no-dev en ~/Desktop/TFC/thefittclub/_docs/01-core/non-dev-cadence.md. El cockpit forecasta carga semanal usando esta config.
  5. Privacy mandatory: todo dato sensible (notas personales, datos catálogo privado, founder-private) nunca debe quedar fuera de 60_Fundadora/ o 99_Archivo/ en este vault.

Cómo añadir contenido nuevo

Si quieres añadir…Dónde va
Una idea suelta00_Home/Ideas/ con fecha en el filename
Borrador de IG post40_Contenido_Redes/<mes-actual>/
Borrador de blog40_Contenido_Redes/<mes-actual>/
Una plantilla nueva40_Contenido_Redes/Templates/
Nota privada de fundadora60_Fundadora/ (privado, no se publica)
Métrica operativa nueva80_Metricas/
Documento de marca nuevo10_Marca/ (si es WIP) o _docs/01-core/ en dev repo (si es canónico)
Ticket de desarrollo~/Desktop/TFC/thefittclub/_docs/03-tickets/01-pending/ (dev repo, vía harness 00-new-ticket)

Última actualización

2026-05-17 — SSOT capa 0 (NEGOCIO_SSOT.md), corrección courseIDs membresía, timeline_eventos.csv, sección de recuperación post-incidente. Ver index.md para la guia operativa.


Recuperación post-incidente: 17 de mayo de 2026

Qué pasó

17 de mayo: agua sobre el ordenador. Pérdida total del equipo. Acceso a Zenler caduca: 2026-06-01 (actualizado — no el 24/mayo). Los JSONs raw y scripts están en GitHub. Los vídeos hay que re-descargarlos.

Inventario de pérdidas

Vídeos (90 en riesgo, 235 a salvo)

FaseCursoVídeosUbicaciónUrgencia
Fase 1Conectando Cuerpo y Mente14Zenler 🔴MÁXIMA
Fase 2Llamando a Más Fibras12Zenler 🔴MÁXIMA
Fase 3Tejiendo Mi Faja Abdominal23Zenler 🔴MÁXIMA
Fase 4Feminidad y Fuerza36Zenler 🔴MÁXIMA
Fase 18Hipopresivos5Zenler 🔴ALTA
Fases 6–17Membresía mensual235Tu cuenta Vimeo ✅OK

Lo que está a salvo en GitHub

  • JSONs raw de las 18 fases (*_Raw_Data.json + *_lessons.json)
  • Todos los scripts de descarga, transcripción y generación de notas
  • Datos de ventas, contactos y progreso de alumnas
  • Este vault completo

Lo que hay que regenerar

ContenidoCómo
Vídeos MP4download_ritual_core_urgent.sh en casa de tu hermana
Transcripciones Whisperzenler_transcribe_videos.py cuando tengas ordenador
Notas Obsidianzenler_json_to_obsidian.py (ya tienes los JSONs)
.env / secretosRegenerar desde dashboards de cada proveedor

Cómo recuperar los vídeos (en casa de tu hermana — Windows)

Paso 1: Clonar el repo

Abre PowerShell y ejecuta:

git clone https://github.com/gala1234/thefittclub-obsidian-vault.git
cd thefittclub-obsidian-vault

Paso 2: Login en Zenler desde Chrome

  1. Abre Chrome
  2. Ve a https://www.thefittclub.com
  3. Haz login con tu usuario y contraseña
  4. Vuelve a PowerShell

Paso 3: Ejecutar el script de descarga urgente

bash scripts/zenler/download_ritual_core_urgent.sh

El script comprueba automáticamente que tienes python3, yt-dlp y ffmpeg instalados, y si falta algo te dice exactamente cómo instalarlo con winget. Luego descarga las 5 fases con reintentos automáticos.

Tiempo estimado: 4–12 horas según la velocidad de internet.

Paso 4: Backup inmediato

Una vez descargados, cópialos a un USB o sube a Google Drive antes de apagar el ordenador.

Checklist

  • Verificar acceso a Zenler desde móvil (credenciales OK)
  • Ir a casa de tu hermana (antes del 01/06)
  • Ejecutar download_ritual_core_urgent.sh
  • Copiar vídeos a USB o Google Drive
  • Cuando tengas ordenador: transcribir con zenler_transcribe_videos.py
  • Regenerar secretos .env desde dashboards

Arquitectura de datos del vault (3 capas)

Contrato semántico. Cualquier nuevo doc o edición que toque datos de negocio debe cumplir estas reglas.

Si eres una IA: lee AGENTS.md antes de tocar nada. Es la versión accionable de esta sección con flujos por tipo de tarea y patrones SÍ/NO. (CLAUDE.md es un puntero hacia ahí.)

Reglas de oro

  1. Un dato vive en un solo sitio. El valor canónico de cada métrica de negocio está en NEGOCIO_SSOT.md (Capa 0). Todo lo demás lo deriva.
  2. SSOT es inmutable. No contiene wikilinks ni referencias a otros docs .md. Los docs apuntan hacia él, nunca al revés. Referencias a archivos de datos crudos (.json, .csv) sí están permitidas — describen de dónde vienen los datos canónicos.
  3. Frontmatter como espejo automático. BUSINESS_INTELLIGENCE.md mantiene en su frontmatter los mismos números que el SSOT para que Dataview los exponga. Se regenera con scripts/audit/sync_ssot_to_frontmatter.pynunca editar el frontmatter de BI a mano.
  4. Prosa sin números mutables. Si un dato puede cambiar con datos nuevos (revenue, alumnas, contactos, lanzamientos), se renderiza con Dataview inline desde el frontmatter:
    • En el mismo doc (BI): `= this.alumnas_legacy_pago`
    • Desde otro doc: `$= dv.page("BUSINESS_INTELLIGENCE").alumnas_legacy_pago`
  5. Excepción: hechos históricos puntuales atados a una fecha del pasado (ej. “las 51 bajas del 20-Nov-2025”, “los $9.232 del lanzamiento de Feb 2024”) pueden quedar en prosa porque no pueden driftear: el evento ya sucedió. El auditor los marca como 📜 no (histórico) y no los flagea.
  6. Wikilink obligatorio en cuerpo de docs estratégicos: > 📋 **Datos canónicos:** [[NEGOCIO_SSOT]]. No basta con ssot: en frontmatter (es invisible en Obsidian graph view).

Las 3 capas

CapaResponsabilidadArchivos
0 — SSOTDatos canónicos en tablas. Inmutable.NEGOCIO_SSOT.md, scripts/zenler/programs_catalog.json
1 — Frontmatter + DataviewSnapshots numéricos derivados del SSOT y queries que los exponen.BUSINESS_INTELLIGENCE.md, queries en index.md, Dashboard_Conversion.md
2 — Wikilinks direccionalesDocs operativos que referencian al SSOT sin redefinir datos.PROGRAMAS.md, NEGOCIO_LEGACY_OPUS.md, ESTADO_PIPELINE.md

Mapa completo de roles por doc en _INDEX_NEGOCIO.

Flujo de actualización cuando entran datos nuevos

Modo guiado (recomendado, no hay que recordar nada):

python3 scripts/audit/vault_update.py

Te abre SSOT en el editor, valida cuando lo cierras, te muestra el diff y te ofrece commitear. Si algo falla te ofrece reabrir el editor para arreglarlo.

Cheat sheet de casos comunes (añadir lanzamiento, actualizar contactos, etc.): _GUIA_ACTUALIZACION_DATOS.

Modo manual (3 pasos):

  1. Editar NEGOCIO_SSOT.md (única edición manual de valores numéricos).
  2. Ejecutar python3 scripts/audit/sync_ssot_to_frontmatter.py → regenera el frontmatter de BUSINESS_INTELLIGENCE.md.
  3. Ejecutar python3 scripts/audit/audit_ssot.py → verifica que no hay drift, hardcodes ni violaciones.

Todos los demás docs (que usan Dataview inline) se actualizan solos al abrir Obsidian.

Validación automática

Manual

# Antes de commit (sale 0 si todo OK, 1 si hay drift):
python3 scripts/audit/sync_ssot_to_frontmatter.py --check
 
# Auditoría completa (genera reporte en _docs/audits/):
python3 scripts/audit/audit_ssot.py
 
# Modo estricto (sale 1 si hay drifts, hardcodes o violaciones):
python3 scripts/audit/audit_ssot.py --strict

Reporte esperado en estado limpio: 0 drifts · 0 hardcodes mutables · 0 violaciones direccionales · 6/6 docs estratégicos con wikilink.

Pre-commit hook (recomendado, una sola vez tras clonar)

git config core.hooksPath scripts/hooks

A partir de ese momento, cualquier git commit que toque SSOT, BI, docs estratégicos o scripts de audit ejecuta automáticamente la validación y bloquea el commit si hay drift. Bypass excepcional: git commit --no-verify.

CI (GitHub Actions)

.github/workflows/audit-ssot.yml corre el auditor en push a main y en PRs que toquen archivos relevantes. El reporte se sube como artifact.

Plantilla para crear docs nuevos de negocio

Copia _TEMPLATE_DOC_NEGOCIO.md como punto de partida — incluye frontmatter mínimo, banner wikilink y el bloque de instrucciones de uso de Dataview inline.