Ajustes → Gobernanza
Aquí viven tres cosas sobre las que una memoria necesita que un humano decida: qué archivos pueden marcarse como duplicados entre sí, qué carpetas indexan dos cofres a la vez, y qué aplicaciones tienen permiso para leer un dispositivo de tu red doméstica. La entrada del carril se llama Gobernanza; la página se titula Detección de duplicados y su subtítulo dice La señal estructural (mismo nombre de archivo) solo apunta a tipos documentales, así los proyectos de desarrollo que comparten index.html, App.tsx o configs no se marcan. La señal semántica sigue detectando un mismo documento en varios idiomas.
Nada en esta página borra un archivo. El recuadro al pie de la primera sección lo dice: Nada se elimina nunca — la detección solo revela parecidos para que elijas la fuente de verdad.
Mientras la configuración carga la página dice Cargando…; un fallo de lectura o escritura se imprime arriba, en inglés ("Failed to load governance config", "Failed to save governance config").
Valores por defecto
Arriba a la derecha de la cabecera, Valores por defecto rellena las dos listas de abajo con los valores de fábrica. No guarda: pulsa Guardar y reescanear después o el restablecimiento se pierde.
Tipos de archivo documentales
Solo estas extensiones participan en la detección de duplicados por nombre (una por línea, sin el punto). Déjalo vacío para considerar todos los tipos.
Un área de texto, una extensión por línea. La lista por defecto es la de los
formatos de documento: adoc, asciidoc, markdown, md, mdx, org,
rst, tex, text, txt. Dos archivos con el mismo nombre solo se
comparan por nombre cuando su extensión está en esta lista; así es como
index.html en diez proyectos deja de ser diez duplicados.
Nombres de archivo ignorados
Nombres de archivo que nunca se tratan como duplicados, incluso entre tipos documentales (uno por línea). Boilerplate ubicuo como readme.md o package.json.
Un área de texto, un nombre de archivo por línea. La lista por defecto cubre
los archivos que todo proyecto lleva: archivos de paquete y de bloqueo
(package.json, pnpm-lock.yaml, yarn.lock…), módulos de entrada
(index.ts, main.ts, app.tsx…), andamiaje web (index.html,
favicon.ico, robots.txt, style.css…), configuración de herramientas
(tsconfig.json, .gitignore, vite.config.ts, dockerfile, .env…) y
documentos de repositorio (readme.md, license, changelog.md,
contributing.md…). Todo tsconfig.*.json se ignora diga lo que diga la
lista.
Guardar y reescanear
Guardar y reescanear (dice Guardando… mientras tanto) escribe las dos listas y lanza un nuevo escaneo de duplicados; si tiene éxito, la línea del botón muestra ✓ Guardado — reescaneando.
Antes de guardar, las listas se normalizan: las entradas se separan por saltos de línea, comas y espacios, se pasan a minúsculas y se deduplican; el punto inicial de una extensión se elimina y las listas se ordenan. Las áreas de texto se reescriben con el resultado, así que lo que ves tras guardar es exactamente lo que queda almacenado.
Solapamiento de carpetas entre vaults
Cuando dos vaults indexan la misma carpeta (normalmente un vault amplio que engulle una subcarpeta que ya gestiona otro), cada archivo se almacena por duplicado. Resolver conserva el vault más específico y reduce el más amplio — los duplicados se purgan pero se registran de forma reversible.
Este análisis nunca corre solo al abrir la página: es lo bastante pesado como para congelar el panel, así que espera al botón. Hasta entonces, la sección dice Sin análisis todavía — ejecuta un análisis para revelar los solapamientos de carpetas entre vaults.
- Analizar vaults lanza el primer análisis; después el botón pasa a ser Reanalizar. Dice Analizando vaults… mientras corre.
- Sin solapamiento: ✦ No hay carpetas solapadas — cada vault vigila un ámbito distinto.
- Una tarjeta por solapamiento: la ruta en cuestión, luego conservado por {winner}, excluido de {loser}, y en color de advertencia {n} crónicas duplicadas. Cada tarjeta tiene su propio botón Resolver.
- Resolver todo solo aparece cuando se encontraron solapamientos y resuelve cada tarjeta del mismo modo, ganando en todas partes el vault más específico. Ambos dicen Resolviendo… mientras tanto.
- Si tiene éxito: ✓ Resuelto — {n} crónicas duplicadas purgadas, y la lista se reanaliza sola. Los fallos dicen Fallo al analizar solapamientos o Fallo en la resolución.
Resolver excluye la subcarpeta compartida del vault más amplio (como una regla de exclusión en ese vault) y purga las crónicas duplicadas que ese vault tenía para ella. Los archivos en disco no se tocan, y cada purga se escribe en el registro de procedencia como una decisión reversible, nunca en silencio. El vault que conserva la carpeta es el más específico; comprueba la línea conservado por antes de pulsar si no es el vault que querías.
Mira Cofres para cómo se declaran las carpetas vigiladas de un cofre, y DocWatch para lo que le pasa a un archivo una vez vigilado.
Dispositivos de tu red local
Aplicaciones autorizadas a leer un dispositivo de tu casa. Cada una se aprobó por separado y solo pueden LEER: ninguna puede controlar un dispositivo por esta vía. Revocar lo detiene de inmediato, incluidas las consultas en segundo plano.
Aquí no hay nada que añadir. Un cartucho que quiere alcanzar un dispositivo de tu red te lo pregunta la primera vez, en un aviso nativo; esta sección es donde esos permisos se listan y se cierran.
- Mientras la lista carga: Leyendo la lista…. Si no se puede leer: No se pudo leer la lista: seguido del error. Una lista ilegible nunca se muestra como vacía, porque eso te diría que tu red está cerrada cuando puede estar abierta.
- Vacía: Ninguna aplicación tiene permiso para alcanzar un dispositivo de tu red. Se te preguntará la primera vez que alguna lo intente.
- Si no, una tarjeta por aplicación, listando cada host que puede leer, con un botón Revocar por host (Revocando… mientras trabaja). Todos los botones Revocar quedan en gris mientras uno está en vuelo.
La revocación surte efecto de inmediato para la aplicación, y una vigilancia en segundo plano que la aplicación ejecute la recoge en su siguiente pasada.