Volver a la wiki

Sync Cascade · Propagación automática de drift entre docs vinculadas

Contexto y problema

Sesión 79 · 22-05-2026 · Edu verbalizó queja recurrente al cerrar los cherry-picks de Understand-Anything.

El equipo Esferic Labs cambia procesos con frecuencia (rotación herramientas, asignación responsabilidades, decisiones técnicas). Cada cambio debería propagarse a múltiples páginas wiki:

El patrón observado: el cambio se aplica en 1-2 docs (el que tocó la decisión) y los espejos quedan desincronizados hasta que alguien los lee semanas después por casualidad. Esto se ha repetido al menos 5 veces en las últimas 4 sesiones (s75-s78 auditorías masivas onboardings).

Lo que ya tenemos (no cubre el caso)

Sistema actualDetectaPor qué NO cubre Sync Cascade
Lint bulk (cron diario STAGE)Páginas stale (sin verificar >Nd), huérfanas, fuentes rotasMarca antigüedad pasiva, no detecta cambio en doc-fuente
Drift Check Haiku (cron diario STAGE, ADR s61)Drift entre doc y códigoSolo evalúa contra código, no entre docs
Curator (cron L+J STAGE)Drafts pendientesNo detecta espejos desincronizados
bib_impact_queryDocs vinculados a un archivoFunciona solo si hay edge documents explícito
bib_explain_node (s79)Síntesis plain Spanish de un nodoNo detecta drift, solo describe

Brecha: drift transversal entre docs.

Propuesta: Sync Cascade

Sistema declarativo + reactivo que detecta cuando un doc-fuente cambia y notifica/actualiza los doc-espejo declarados.

Arquitectura

PR mergea cambio en wiki page → workflow detecta paths modificados
                                          ↓
                            Para cada path modificado:
                                          ↓
                Query D1: ¿qué páginas declaran mirrors: [<path>]?
                                          ↓
                Para cada espejo encontrado:
                          ┌───────────────┴───────────────┐
                          ↓                               ↓
              Fase 2 (MVP): marcar             Fase 3 (avanzado): Haiku
              verification_pending=true        lee diff fuente + escribe
              + entrada en Pulse               PR draft con cambios espejo

Schema extensions

Nuevo campo frontmatter mirrors (array de slugs):

---
title: Onboarding · Edu (CEO/Dev)
slug: workspace--onboarding--onboarding-edu
mirrors:
  - workspace--onboarding--onboarding-dani
  - workspace--onboarding--onboarding-txell
  - workspace--processes--team-processes
  - workspace--onboarding--onboarding-template
mirror_reason: "Cambios en herramientas/accesos del staff deben sincronizarse en los 3 onboardings + processes + template"
---

Semántica direccional: si A.mirrors = [B, C], un cambio en A propaga a B y C. NO bidireccional (los espejos pueden tener sus propios mirrors: independientes).

Detección de cascada circular: limit depth 2 (A→B→C OK, A→B→C→D ya no). Evita loops y limita ruido.

Plan de implementación (multi-fase)

Fase 0 · Diseño + schema (estimado 30 min)

Fase 1 · Detector post-merge (estimado 1h)

Fase 2 · Marcado verification_pending (estimado 45 min)

Fase 3 (opcional) · Haiku diff-aware PR drafts (estimado 1.5h)

Fase 4 (opcional) · Sugerencia inverse al editar (estimado 2h, futuro lejano)

Coste estimado

ConceptoCoste
Fase 0+1+2 (MVP funcional)~2h sesión + $0 runtime (workflow es trigger-based, sin LLM)
Fase 3 (Haiku PR drafts)~1.5h sesión + ~$0.05 por cascada · estimado 5-10 cascadas/mes = ~$0.50/mes
Fase 4 (UX banner)~2h sesión + $0 runtime

Coste total mínimo viable: 2h de implementación + $0/mes runtime. Coste alto valor: 3.5h + $0.5/mes.

Riesgos y mitigaciones

RiesgoMitigación
Falsos positivos del Haiku Fase 3 (propone cambios incorrectos)PR draft, no merge automático. Edu revisa con 1 click.
Cascadas circularesLimit depth 2. Detección en lint bulk + warning.
Ruido en Pulse si muchos espejos pendientesBotón “marcar verificado batch” en widget. Filtros por mirror_source.
mirrors[] desactualizado (slug renamed)Lint bulk valida existence + reporta broken mirrors igual que broken sources.
Privacy/ACL entre wikis (ej. crearack-help privada vs supercontext interno)mirrors[] solo cruza wikis del mismo product: o explícitas con permiso. Validación en handler.

Criterios de éxito

A 1 mes de operativa Fase 0+1+2 (MVP):

A 3 meses (con Fase 3 opcional activa):

Docs candidatas iniciales (sugeridas para Fase 0)

Estos son los pares prioritarios identificados en s75-s78 auditorías:

Doc fuenteEspejos sugeridos
workspace--onboarding--onboarding-eduonboarding-dani, onboarding-txell, team-processes (sección equipo)
workspace--onboarding--onboarding-danionboarding-edu, onboarding-txell, team-processes
workspace--onboarding--onboarding-txellonboarding-edu, onboarding-dani, team-processes
workspace--processes--team-processesonboarding-edu, onboarding-dani, onboarding-txell, CLAUDE.md (vía workflow no-wiki, fase extendida)
crearack-tech--admin--email-routing-architecturereference_zoho_email_groups_scheme (memoria local)
entity--ops--catalogo-servicios-externosrunbook—platform-credentials-map

Dependencias

Próxima sesión · cómo arrancar

Mensaje sugerido para abrir la sesión:

“Sigamos con Sync Cascade. Lee feature--supercontext--sync-cascade y ejecuta Fase 0 (diseño schema).”

Y el plan se desarrolla naturalmente desde ahí.

Referencias

Estado

Planned — diseño completo, pre-implementación. No bloquea otras iniciativas. Estimación primer MVP funcional (Fases 0+1+2): ~2h sesión dedicada.

Véase también

Subir