¿Qué es un topic?
Un topic es la unidad atómica de contexto en Driftless. Conecta una porción de tu sistema con el conocimiento compartido del equipo sobre ella. La porción puede ser TypeScript, Python, Rust, Go, docs, config, infraestructura, o un flujo de trabajo que abarca varios repos. Un topic tiene:
Los topics son content-first: el cuerpo markdown
content ES el topic. Los campos estructurados (gotcha / decision / invariant / check) son highlights opcionales que se ponen encima. Agrega uno solo cuando quieras que ese punto específico aparezca en el brief de un futuro agente. Usa tags para etiquetar y agrupar topics.
Crea tu primer topic
Empieza con el topic útil más pequeño: una nota durable que explique un área lo suficientemente bien para que un humano o agente futuro pueda trabajar ahí.Anclar topics al código
Los topics se conectan al código mediante patrones glob y rutas de archivo. Esto es agnóstico del lenguaje: Driftless matchea rutas, no ASTs. Cuando el código anclado cambia, el topic entra en drift.✓ pattern "src/auth/**" matches 12 files: anchor sano⚠ over-broad anchor: el patrón matchea más de 100 archivos; considera dividirlo✗ pattern "src/nonexistent/**" matches 0 files: bloqueado; arregla el glob
Clasificación de topics
Un topic es content-first: el cuerpo markdowncontent ES el topic. Usa tags para etiquetar y agrupar topics. El único eje de confianza es status.
Status: ciclo de vida de gobernanza
Una nota se vuelve Knowledge una vez que se fusiona:draft → proposed → reviewed → archived. reviewed es Knowledge; la respuesta de lectura lleva governance.authoritative. Los agentes proponen; fusionar es un acto de owner/admin (un agente lo corre solo cuando se le pide explícitamente). Ver Gobernanza.
Visibilidad
Un topic vive en el workspace y es visible para todos sus miembros. La excepción es una Nota privada (un draft conis_private puesto), visible solo para su creador hasta que se ponga en revisión o se le quite la marca. ¿Necesitas aislamiento entre grupos? Usa un workspace aparte.
Relaciones tipadas
Los topics se conectan entre sí mediante relaciones tipadas, construyendo un grafo semántico:Wiki-links
Usa la sintaxis[[slug]] dentro de cualquier campo de texto libre (what, how, decisions, gotchas, invariants, content). La API las parsea automáticamente en referencias hacia adelante y hacia atrás.
billing-webhook como stripe-webhook-ingest se mostrarán mutuamente en sus referencias cuando se consulten.
Contexto entre repos
Un topic puede abarcar varios repositorios. Cuando corresdriftless context update <slug> desde cualquier repo, ese repo se agrega a la lista where_repos del topic. Los topics acumulan repos de forma orgánica sin cableado manual.
Usa un solo topic entre repos cuando el mismo concepto realmente abarca varios repos, por ejemplo billing-contracts a través de un repo de API, un repo de worker y un repo de frontend. Usa topics separados más relaciones cuando cada repo tiene sus propios detalles de implementación, por ejemplo billing-api depends_on:billing-worker.
Para ligar explícitamente el repo actual a un topic:
