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, abririndex.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 a99_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/(incluidoHistorico_Social/) — antes se publicaban inadvertidamente envault.thefittclub.com. Privacy + perf fix aplicado enquartz.config.ts§ ignorePatterns el 2026-05-13. - Movidas a archivo:
40_Contenido_Redes/Publicado_IG/(664 posts) →99_Archivo/Historico_Social/. La carpeta legacyPublicado_YouTube/(solo un README de redirección) se eliminó en la limpieza de contenido 2026-06. - Borrados duplicados: los 7
thefittclub-*.mden10_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 soloFases_Ritual_Core.md.
Reglas operativas
100_Desarrollo/00_Tablero_Desarrollo.mdy01_Hito_Activo.mdson auto-generados por la GitHub Actionsync-vault-dashboarden el dev repo. No editar a mano.- 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. - 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. - Cadencia de obligaciones no-dev en
~/Desktop/TFC/thefittclub/_docs/01-core/non-dev-cadence.md. El cockpit forecasta carga semanal usando esta config. - Privacy mandatory: todo dato sensible (notas personales, datos catálogo privado, founder-private) nunca debe quedar fuera de
60_Fundadora/o99_Archivo/en este vault.
Cómo añadir contenido nuevo
| Si quieres añadir… | Dónde va |
|---|---|
| Una idea suelta | 00_Home/Ideas/ con fecha en el filename |
| Borrador de IG post | 40_Contenido_Redes/<mes-actual>/ |
| Borrador de blog | 40_Contenido_Redes/<mes-actual>/ |
| Una plantilla nueva | 40_Contenido_Redes/Templates/ |
| Nota privada de fundadora | 60_Fundadora/ (privado, no se publica) |
| Métrica operativa nueva | 80_Metricas/ |
| Documento de marca nuevo | 10_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)
| Fase | Curso | Vídeos | Ubicación | Urgencia |
|---|---|---|---|---|
| Fase 1 | Conectando Cuerpo y Mente | 14 | Zenler 🔴 | MÁXIMA |
| Fase 2 | Llamando a Más Fibras | 12 | Zenler 🔴 | MÁXIMA |
| Fase 3 | Tejiendo Mi Faja Abdominal | 23 | Zenler 🔴 | MÁXIMA |
| Fase 4 | Feminidad y Fuerza | 36 | Zenler 🔴 | MÁXIMA |
| Fase 18 | Hipopresivos | 5 | Zenler 🔴 | ALTA |
| Fases 6–17 | Membresía mensual | 235 | Tu 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
| Contenido | Cómo |
|---|---|
| Vídeos MP4 | download_ritual_core_urgent.sh en casa de tu hermana |
| Transcripciones Whisper | zenler_transcribe_videos.py cuando tengas ordenador |
| Notas Obsidian | zenler_json_to_obsidian.py (ya tienes los JSONs) |
.env / secretos | Regenerar 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-vaultPaso 2: Login en Zenler desde Chrome
- Abre Chrome
- Ve a
https://www.thefittclub.com - Haz login con tu usuario y contraseña
- Vuelve a PowerShell
Paso 3: Ejecutar el script de descarga urgente
bash scripts/zenler/download_ritual_core_urgent.shEl 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
.envdesde 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.mdantes de tocar nada. Es la versión accionable de esta sección con flujos por tipo de tarea y patrones SÍ/NO. (CLAUDE.mdes un puntero hacia ahí.)
Reglas de oro
- 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. - 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. - Frontmatter como espejo automático.
BUSINESS_INTELLIGENCE.mdmantiene en su frontmatter los mismos números que el SSOT para que Dataview los exponga. Se regenera conscripts/audit/sync_ssot_to_frontmatter.py— nunca editar el frontmatter de BI a mano. - 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`
- En el mismo doc (BI):
- 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. - Wikilink obligatorio en cuerpo de docs estratégicos:
> 📋 **Datos canónicos:** [[NEGOCIO_SSOT]]. No basta conssot:en frontmatter (es invisible en Obsidian graph view).
Las 3 capas
| Capa | Responsabilidad | Archivos |
|---|---|---|
| 0 — SSOT | Datos canónicos en tablas. Inmutable. | NEGOCIO_SSOT.md, scripts/zenler/programs_catalog.json |
| 1 — Frontmatter + Dataview | Snapshots numéricos derivados del SSOT y queries que los exponen. | BUSINESS_INTELLIGENCE.md, queries en index.md, Dashboard_Conversion.md |
| 2 — Wikilinks direccionales | Docs 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.pyTe 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):
- Editar
NEGOCIO_SSOT.md(única edición manual de valores numéricos). - Ejecutar
python3 scripts/audit/sync_ssot_to_frontmatter.py→ regenera el frontmatter deBUSINESS_INTELLIGENCE.md. - 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 --strictReporte 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/hooksA 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.