Cómo funciona el drift
Cuando llega un push a una rama rastreada, la API cruza los archivos modificados contra todos los topics del workspace mediante intersección de patrones glob. Todo topic cuyos patrones anclados se solapan con los archivos modificados queda marcado como drifted con un motivo legible. Por ejemplo, si un push amain cambia src/auth/guard.ts y src/auth/service.ts, el topic auth-flow anclado a src/auth/** pasa a:
Drifted: 3 archivos cambiados en el commitabc1234:src/auth/guard.ts,src/auth/service.ts,src/auth/dto/login.dto.ts
Ramas rastreadas
La rama por defecto siempre está rastreada. Se pueden agregar ramas adicionales:Segunda fuente de drift: git local (sin GitHub App)
El drift normalmente viene de los webhooks de push, así que un equipo sin la GitHub App instalada no recibe señal. Para cerrar esa brecha, la CLI puede reportar drift desde tu checkout local:--mark es opt-in y explícito. El --diff a secas solo despliega, así que el trabajo en progreso nunca cambia el estado del equipo salvo que lo pidas. Es idempotente (los topics ya en drift se dejan tal cual).
Un empujón, no una alarma
El drift es un empujón, no un error: “el código bajo este topic se movió, vale la pena mirarlo”. Tolera falsos positivos por diseño: confía en el código y actualiza el topic solo si el cambio realmente alteró cómo funciona el área. Un archivo ancla borrado produce un empujón distinto: “archivo anclado borrado: re-ancla o archiva este topic”.Ciclo de vida
driftless synclo expone a cada miembro del equipo- Un agente o humano revisa el cambio
- Si el contexto sigue en pie, súmalo al knowledge (
--status reviewed) para volverlo fresco otra vez - Si ningún repo reclama ya el topic, pasa a orphaned
Cómo revisar el drift
¿Qué dispara el drift?
¿Qué dispara el drift?
Solo los push a ramas rastreadas. Los PR no disparan drift; disparan observación de PR (se registra la coincidencia, y el Auditor, si está configurado, revisa y comenta solo cuando tiene un hallazgo). Esta distinción mantiene el drift con sentido: un push a
main o staging significa que el código de verdad cambió, mientras que un PR sigue en revisión y puede no integrarse.¿Puedo marcar un topic como drifted a mano?
¿Puedo marcar un topic como drifted a mano?
Sí. Corre
driftless context update <slug> --status draft para marcarlo para revisión, o actualiza el contenido y pon --status reviewed para limpiar el drift. También puedes dejar que el próximo push dispare de forma natural una revisión de drift.¿Qué pasa si se borran los archivos anclados de un topic?
¿Qué pasa si se borran los archivos anclados de un topic?
El topic entra en drift en el próximo push. Si los patrones glob ya no coinciden con ningún archivo del repo,
context doctor lo marca como zombie, un ancla que apunta a nada. Arregla los patrones o archiva el topic.