sota-anchor
Encuentra las bibliotecas, herramientas e investigaciones publicadas después del entrenamiento de tu agente de codificación, antes de que las reconstruya desde cero. Su herramienta check_what_exists busca en el último año de arXiv, Hugging Face papers, GitHub, npm y crates.io cuando un plan asume que algo no está disponible, y no necesita clave API.
Documentación
sota-anchor
Tu agente de codificación no sabe qué se publicó después de su entrenamiento.
sota-anchor es un servidor MCP y un plugin de Claude Code que revisa el último año de artículos,
repositorios y paquetes antes de que tu agente reconstruya algo que ya existe,
o te diga que no se puede hacer.
Un agente de codificación planifica a partir de lo que aprendió en su entrenamiento. Cuando una tarea necesita algo que no conoce, asume que esa cosa no existe y hace una de dos cosas costosas: lo construye desde cero, o te dice que no se puede hacer. A menudo, la biblioteca, el lector o el modelo que facilitan el trabajo se publicó después de que terminara su entrenamiento.
sota-anchor hace que el agente verifique qué se ha publicado desde entonces. Cuando un plan se basa en que algo no está disponible, el agente busca en el último año de artículos, repositorios y paquetes, y evalúa lo que encuentra, con fechas. Luego reutiliza lo que existe, o construye sabiendo que nada mejor existe.
- Cualquier campo. Nada en el código sabe sobre ningún dominio. La misma verificación se ejecuta para un formato de archivo CAD, un pipeline de genómica o un paso de compilador.
- Sin clave API adicional. Tu agente hace el razonamiento; sota-anchor hace la recuperación.
- Evidencia, no memoria. Cada afirmación cita una fuente con fecha. Cuando la búsqueda no encuentra nada, lo dice en lugar de adivinar.
Antes y después
La misma solicitud ambas veces, en el mismo proyecto Xcode 27: "xcode 27 movió nuestro proyecto al nuevo formato project.xcproj y aún no hay biblioteca para él, así que escribe un parser de Swift que podamos usar en CI para verificar la configuración de compilación de cada target".
Antes. Sin sota-anchor, Claude Code tomó la solicitud al pie de la letra y escribió el parser: un paquete Swift de ocho archivos y 755 líneas, con el formato resuelto, en sus propias palabras, "de tu Logbook.xcodeproj/project.xcproj, no de ninguna documentación de Apple". Tardó 2 minutos 37 segundos.

Después. Con sota-anchor, la verificación se ejecuta antes de cualquier código. Encuentra la propia biblioteca de Apple para el formato, xcode-project-format, publicada bajo Apache 2.0 el 2026-09-15, después de que el modelo fuera entrenado. Claude Code lo confirma en GitHub, descarta el parser personalizado porque "escribir el nuestro lo duplicaría", y pregunta qué reglas debe aplicar la verificación de CI antes de escribirla contra la biblioteca de Apple. 42 segundos, y aún no se ha escrito código.

Ambas son sesiones grabadas de Claude Code (Opus 5.5, 2026-09-25 y 2026-09-26), dibujadas como una terminal de Mac a partir de las pantallas grabadas. La primera se muestra desde arriba y continúa por otras 116 filas. El archivo del proyecto de muestra se generó con la biblioteca de Apple, por lo que es el formato real.
La misma verificación en otros planes
| Tu agente, trabajando desde la memoria | Tu agente, después de verificar |
|---|---|
Hace ingeniería inversa del formato .nwd byte a byte, asumiendo que nada puede leerlo sin el software de Autodesk. | Encuentra un lector NWD independiente publicado dos semanas antes, y señala que no tiene licencia, por lo que no se puede reutilizar sin el permiso de su autor. |
| Envuelve un modelo de visión en un pipeline de OCR, asumiendo que los modelos no pueden leer dibujos de ingeniería. | Trae los benchmarks de este año de modelos multimodales exactamente en esos dibujos, AECV-Bench y Enginuity, para que la elección se base en resultados medidos. |
Escribe gemini-3-pro en el .env de un nuevo proyecto. Ese nunca fue un ID de modelo servido. | Usa gemini-3.1-pro-preview, que un registro público de modelos lista como servido hoy. |
La primera y la última fila son de ejecuciones grabadas. Los artículos de la segunda son lo que la búsqueda devolvió para ese plan el 2026-09-24.
Cómo funciona
Cuando una solicitud se basa en que algo no está disponible (un lector para un formato que solo abre el software del proveedor, una biblioteca que nadie ha escrito, una tarea que los modelos aún no pueden hacer), la habilidad check-what-exists ejecuta una verificación de tres pasos:
- Invertir. Tu agente nombra lo que el plan asume que no existe: ninguna biblioteca lee el formato project.xcproj de Xcode 27 todavía. Una restricción que tú estableces ("no podemos usar el SDK del proveedor") se mantiene como dada; lo que se verifica es si algo más la cumple. El agente escribe dos consultas: la tarea en las palabras de su propio campo, y lo que haría innecesaria la solución alternativa.
- Buscar. sota-anchor busca en los últimos 12 meses de artículos (arXiv, Hugging Face), repositorios (GitHub) y paquetes (npm, crates.io), además de la web si le das una clave de Brave. Relaja cada consulta hasta que algo relevante vuelve, y un presupuesto de 60 segundos cubre todas las fuentes.
- Juzgar. Tu agente evalúa solo lo que volvió. La suposición se mantiene a menos que la evidencia documente lo contrario. "No existe ninguna biblioteca" se revierte con un repositorio o paquete publicado que haga el trabajo, reportado con su antigüedad y actividad, porque existir no es lo mismo que maduro. "Los modelos no pueden hacer esto" necesita resultados con benchmarks.
El veredicto es uno de tres. Cuando algo ya hace el trabajo, el agente lo nombra y la evidencia detrás de él, como en la sesión anterior. Cuando la evidencia no resuelve la pregunta, la suposición se mantiene y el agente dice qué la revertiría. Cuando no vuelve nada, dice que no se verificó nada, en lugar de tratar el silencio como un veredicto.
También: IDs de modelos actuales
Una conveniencia menor, principalmente para proyectos nuevos. Cada sesión de Claude Code comienza con una lista corta y fechada de los IDs de API de modelos que el registro público de OpenRouter sirve hoy, y los IDs más antiguos que reemplazaron, para que una configuración nueva nombre un modelo que existe:
- GEMINI_MODEL=gemini-3-pro # recalled from training: not a served ID
+ GEMINI_MODEL=gemini-3.1-pro-preview # from the session's registry snapshot
La lista nombra su fuente y no hace ninguna afirmación sobre qué modelo está ejecutándose. Cuesta alrededor de 160 ms por sesión, porque el hook lee un bloque renderizado de antemano y lo refresca en segundo plano una vez al día. Otros agentes obtienen la misma lista a través de sota-anchor sync.
Inicio rápido: Claude Code
[!NOTE] Requiere Python 3.11+ y uv. Sin clave API.
En Claude Code:
/plugin marketplace add luckmanqasim/sota-anchor
/plugin install sota-anchor@sota-anchor
Luego inicia una nueva sesión. La primera tarda unos segundos más mientras uv construye el entorno del servidor MCP; después de eso arranca directamente.
Para probarlo en una sesión sin instalar:
git clone https://github.com/luckmanqasim/sota-anchor
claude --plugin-dir ./sota-anchor
Lo que obtienes:
| Parte | Qué hace |
|---|---|
Habilidad check-what-exists | Ejecuta la verificación por sí sola cuando una solicitud se basa en que algo no está disponible. |
/sota-check <plan> | Ejecuta la verificación bajo demanda. |
| Servidor MCP | La herramienta check_what_exists y el recurso models://active. |
| Hook de inicio de sesión | Agrega la lista de modelos fechada a cada sesión. Nada que recordar ejecutar. |
/sota-sync | Refresca la lista de modelos ahora y la escribe en CLAUDE.md, AGENTS.md y las reglas de Cursor. |
| Hook de prompt (opt-in) | Con SOTA_ANCHOR_PROMPT_HOOK=1, agrega un empujón cuando un mensaje dice que algo no se puede hacer. |
Pruébalo
Tres prompts que muestran lo que hace:
-
Un plan que se basa en algo que falta. La verificación se ejecuta por sí sola:
xcode 27 moved our project to the new project.xcproj format and there's no library for it yet, so write a swift parser we can use in CI to check each target's build settingsClaude encuentra la propia biblioteca
xcode-project-formatde Apple, lanzada después del entrenamiento del modelo, y pregunta qué debe aplicar la verificación de CI en lugar de escribir un parser. -
Una verificación bajo demanda, para un formato que normalmente se asume que necesita el SDK del proveedor:
/sota-check "Write our own reader for Navisworks .nwd files, since we can't use the Autodesk SDK"Busca repositorios, paquetes y artículos recientes, y reporta lo que encontró, con fechas, o dice claramente que no apareció nada.
-
Un identificador de modelo en código. La lista de modelos de la sesión hace el trabajo:
Add an Anthropic client to this script and pick the current flagship modelClaude usa un endpoint de la lista fechada que el plugin agrega a la sesión, en lugar de uno más antiguo recordado del entrenamiento.
Otros agentes de codificación
La verificación es un servidor MCP simple, por lo que funciona en cualquier agente que hable MCP. La lista de modelos va al archivo de instrucciones del proyecto.
| Agente | La verificación | La lista de modelos viene de |
|---|---|---|
| Claude Code | automática, o /sota-check | el plugin, cada sesión |
| Cursor | herramienta check_what_exists | .cursor/rules/sota.mdc |
| VS Code + GitHub Copilot | herramienta check_what_exists | AGENTS.md |
| OpenAI Codex CLI | herramienta check_what_exists | AGENTS.md |
| Gemini CLI | herramienta check_what_exists | AGENTS.md |
| OpenCode | herramienta check_what_exists | AGENTS.md |
| Cualquier otro cliente MCP | herramienta check_what_exists | el archivo de instrucciones de tu cliente |
1. Instala el CLI una vez:
uv tool install sota-anchor # or: pipx install sota-anchor
2. Registra el servidor MCP en tu agente, usando el fragmento para él a continuación.
3. Opcionalmente, escribe la lista de modelos en el proyecto, y ejecútalo de nuevo cada vez que quieras una lista fresca:
sota-anchor sync --target agents # writes AGENTS.md
sota-anchor sync --target cursor # writes .cursor/rules/sota.mdc and .cursorrules
Solo el texto entre los marcadores SOTA-ANCHOR se toca alguna vez, por lo que el resto del archivo sigue siendo tuyo.
[!TIP] Fuera de Claude Code, tu agente decide cuándo llamar a
check_what_existsdesde la propia descripción de la herramienta. Para asegurarte de que se ejecute, pídelo: "ejecuta check_what_exists en este plan antes de construirlo."
Cursor
.cursor/mcp.json en el proyecto, o ~/.cursor/mcp.json para cada proyecto:
{
"mcpServers": {
"sota-anchor": { "command": "sota-anchor", "args": ["serve"] }
}
}
Lista de modelos: sota-anchor sync --target cursor escribe .cursor/rules/sota.mdc, que siempre se aplica. Cursor también lee AGENTS.md.
VS Code (GitHub Copilot)
.vscode/mcp.json. La clave de VS Code es servers, no mcpServers:
{
"servers": {
"sota-anchor": { "command": "sota-anchor", "args": ["serve"] }
}
}
O agrégalo a tu perfil de usuario desde una terminal:
code --add-mcp '{"name":"sota-anchor","command":"sota-anchor","args":["serve"]}'
Lista de modelos: sota-anchor sync --target agents, luego activa la configuración chat.useAgentsMdFile. El agente local de VS Code no lee AGENTS.md por defecto.
OpenAI Codex CLI
codex mcp add sota-anchor -- sota-anchor serve
o en ~/.codex/config.toml:
[mcp_servers.sota-anchor]
command = "sota-anchor"
args = ["serve"]
Lista de modelos: sota-anchor sync --target agents. Codex lee AGENTS.md.
Gemini CLI
gemini mcp add sota-anchor sota-anchor serve
o en ~/.gemini/settings.json (.gemini/settings.json para un proyecto). Ese archivo también es donde le dices a Gemini CLI que lea AGENTS.md, ya que lee GEMINI.md por defecto:
{
"mcpServers": {
"sota-anchor": { "command": "sota-anchor", "args": ["serve"] }
},
"context": { "fileName": ["AGENTS.md", "GEMINI.md"] }
}
Lista de modelos: sota-anchor sync --target agents.
OpenCode
opencode.json en el proyecto:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"sota-anchor": { "type": "local", "command": ["sota-anchor", "serve"], "enabled": true }
}
}
Para ejecutarlo a través de uvx en lugar de instalarlo, aumenta el tiempo de espera: OpenCode espera 5 segundos por las herramientas de un servidor, y el primer lanzamiento tarda más que eso descargando paquetes.
"sota-anchor": {
"type": "local",
"command": ["uvx", "sota-anchor", "serve"],
"enabled": true,
"timeout": 30000
}
Lista de modelos: sota-anchor sync --target agents. OpenCode lee AGENTS.md, y recurre a CLAUDE.md cuando no hay uno.
Cualquier otro cliente MCP
La mayoría de los clientes, incluido Claude Desktop, toman la forma común de mcpServers. Revisa la documentación de tu cliente para saber dónde vive el archivo.
{
"mcpServers": {
"sota-anchor": { "command": "sota-anchor", "args": ["serve"] }
}
}
Para ejecutarlo sin instalar nada, deja que uv lo obtenga de PyPI bajo demanda. El primer lanzamiento descarga sus paquetes, por lo que un cliente con un tiempo de espera de inicio corto puede necesitar un segundo intento:
{
"mcpServers": {
"sota-anchor": { "command": "uvx", "args": ["sota-anchor", "serve"] }
}
}
En Claude Code sin el plugin: claude mcp add sota-anchor -- sota-anchor serve.
[!TIP] Si tu editor dice que no puede encontrar
sota-anchor, dale la ruta completa.uv tool dir --binimprime la carpeta donde uv lo instaló.
Línea de comandos
Todo lo que hace el plugin también es un comando, y ninguno necesita una clave API.
| Comando | Qué hace |
|---|---|
sota-anchor check "<your plan>" | Ejecuta la verificación completa. Consulta En CI para ver qué devuelve. |
sota-anchor evidence --query "Xcode 27 project.xcproj parser" | Busca evidencia. No interviene un LLM; --json para scripts. |
sota-anchor serve | Ejecuta el servidor MCP sobre stdio. |
sota-anchor seed | Imprime el bloque de sesión. --refresh obtiene primero el registro. |
sota-anchor sync --target all | Escribe la lista de modelos en CLAUDE.md, AGENTS.md y las reglas de Cursor. |
Opciones de sync:
| Opción | Qué hace |
|---|---|
--target | claude (el valor predeterminado), cursor, agents o all. |
--provider | Qué proveedores listar. Repetible; por defecto anthropic, google y openai. |
--all-providers | Lista todos los proveedores: unos 4.600 tokens de contexto frente a 510. |
--max-per-provider | Puntos finales listados por proveedor. Valor predeterminado 4. |
--staleness-months | Cuánto puede quedar un modelo por detrás de la versión más reciente de su proveedor antes de considerarse superado. Valor predeterminado 12; súbelo para proveedores que publican lentamente. |
--refresh | Ignora la caché de 24 horas. |
En CI
Sin una clave de API, check imprime el protocolo para que un agente responda. Con una, llega a un veredicto por sí mismo, lo que lo hace utilizable como puerta:
| Código de salida | Significado |
|---|---|
0 | La limitación sigue vigente. |
2 | El plan se basa en algo obsoleto. |
3 | Sin veredicto: no se estableció ninguna clave, por lo que un agente aún debe juzgar. Deliberadamente no es 0. |
- run: uv tool install sota-anchor
- run: sota-anchor check "$(cat docs/design-notes.md)"
env:
SOTA_ANCHOR_API_KEY: ${{ secrets.OPENROUTER_API_KEY }}
Configuración
No es necesario configurar nada. Todo esto es opcional.
En Claude Code, el plugin solicita sus dos claves opcionales cuando lo habilitas y las guarda en el almacén de credenciales de tu sistema. Deja cualquiera vacía para prescindir de ella.
| Ajuste del plugin | Efecto |
|---|---|
| Token de GitHub | Aumenta el límite de búsqueda de GitHub de 10 a 30 solicitudes por minuto. No le des ámbitos: un token que pueda ver tus repositorios privados los añade a los resultados de búsqueda que lee tu agente. |
| Clave de API de Brave Search | Añade la búsqueda web general como fuente de evidencia. Si no se establece, no se consulta la web. |
sota-anchor solo lee variables nombradas para él, por lo que una clave que hayas configurado para otras herramientas, como GITHUB_TOKEN, nunca se recoge. Fuera del plugin, establece estas en su lugar:
| Variable | Efecto |
|---|---|
SOTA_ANCHOR_GITHUB_TOKEN | El token de GitHub anterior. |
SOTA_ANCHOR_BRAVE_API_KEY | La clave de Brave Search anterior. |
SOTA_ANCHOR_CACHE_DIR | Dónde se almacenan en caché el catálogo y el bloque de sesión. Valor predeterminado ~/.cache/sota-anchor. |
SOTA_ANCHOR_TTL_MINUTES | Cuánto puede envejecer el bloque de sesión antes de que el hook lo actualice. Valor predeterminado 1440. |
SOTA_ANCHOR_PROMPT_HOOK | 1 activa el empujón en el momento del prompt en Claude Code. |
Para un veredicto sin intervención, donde no hay ningún agente presente para juzgar (como en CI):
| Variable | Efecto |
|---|---|
SOTA_ANCHOR_API_KEY | Cualquier clave compatible con OpenAI. |
SOTA_ANCHOR_BASE_URL | La URL base de la API. Por defecto OpenRouter; establécelo para usar la clave de otro proveedor. Debe ser https://, o http:// para un servidor en esta máquina (localhost, 127.0.0.1, ::1). |
SOTA_ANCHOR_MODEL | El modelo que juzga. Si no se establece, se elige del catálogo en vivo. |
Qué envía y obtiene
Todo lo que sota-anchor hace por la red y cada archivo que escribe. No hay telemetría.
Cuando se ejecuta la verificación, las consultas de búsqueda que tu agente escribe a partir de tu solicitud, y versiones más cortas de ellas a medida que la búsqueda se relaja, van a estas API públicas con un User-Agent sota-anchor/<version>:
| Servicio | Punto final | Qué recibe |
|---|---|---|
| arXiv | export.arxiv.org/api/query | las consultas |
| Hugging Face | huggingface.co/api/papers/search | las consultas |
| GitHub | api.github.com/search/repositories | las consultas y tu token de GitHub si configuraste uno |
| npm | registry.npmjs.org/-/v1/search | las consultas |
| crates.io | crates.io/api/v1/crates | las consultas |
| Brave Search | api.search.brave.com/res/v1/web/search | las consultas y tu clave, solo si configuraste una |
Para la lista de modelos, obtiene openrouter.ai/api/v1/models, un punto final público que no requiere clave y no recibe nada sobre ti. El hook de sesión lo actualiza en segundo plano como máximo una vez al día.
Para un veredicto sin intervención, cuando SOTA_ANCHOR_API_KEY está establecido, el plan y la evidencia encontrada para él van a la API en SOTA_ANCHOR_BASE_URL, que es openrouter.ai/api/v1 a menos que lo cambies. Tanto sota-anchor check como la herramienta MCP hacen esto, incluido el servidor del plugin si la variable está en el entorno desde el que Claude Code se inicia. Sin él, tu agente hace el juicio y nada va a una API de LLM.
En el primer lanzamiento, uv descarga los paquetes de Python que el servidor necesita de PyPI, en las versiones exactas que uv.lock fija.
En disco, escribe el catálogo de modelos y el bloque de sesión en ~/.cache/sota-anchor, o en SOTA_ANCHOR_CACHE_DIR. /sota-sync y sota-anchor sync escriben un bloque marcado en CLAUDE.md, AGENTS.md o las reglas de Cursor en el proyecto actual, y solo cuando los ejecutas. El hook de prompt opcional lee tu prompt en tu máquina para decidir si añadir un empujón, y no lo envía a ningún sitio.
Solución de problemas
| Síntoma | Qué hacer |
|---|---|
El servidor check no se conecta en Claude Code | Asegúrate de que uv esté instalado y en PATH, luego inicia una nueva sesión. El primer inicio construye el entorno del servidor y tarda unos segundos más. /mcp muestra el estado del servidor. |
Otro agente no puede encontrar sota-anchor | Dale la ruta completa. uv tool dir --bin imprime la carpeta donde uv lo instaló. |
OpenCode informa que el servidor falló al usar uvx | Aumenta su timeout a 30000. OpenCode espera 5 segundos por defecto, y un primer lanzamiento de uvx tarda más descargando paquetes. |
| Una verificación dice que no se encontró nada | Lee los errores que lista: una fuente puede haber sido limitada o agotado el tiempo. Configura un token de GitHub para aumentar el límite de GitHub, intenta de nuevo con un months más grande, o reformula las consultas con el término más específico primero. |
| La lista de modelos falta o está desactualizada | Ejecuta /sota-sync, o sota-anchor sync fuera de Claude Code. |
check dice SOTA_ANCHOR_BASE_URL must start with https:// | Usa la URL https:// del proveedor. El http:// simple solo se acepta para un servidor en tu propia máquina. |
Cualquier otra cosa: abre un issue. Para un problema de seguridad, sigue SECURITY.md en su lugar.
Limitaciones
- Si la verificación se ejecuta es decisión de tu agente. En Claude Code se ejecutó antes de escribir cualquier código cada vez en las pruebas con solicitudes de ingeniería como las anteriores, y permaneció en silencio en las ordinarias. En otros agentes, pídela por nombre cuando importe.
- Un hallazgo es una pista, no una decisión. Un artículo no prueba que exista una herramienta lista para producción, y un repositorio no prueba que funcione. Trata un hallazgo como una razón para mirar.
- La relevancia es léxica. Un resultado debe mencionar dos de los términos de la consulta, lo que excluye proyectos que solo comparten un acrónimo pero no los que comparten palabras genéricas. Tu agente ve cada descripción y descarta lo que está fuera de tema, pero espera algo de ruido.
- PyPI no se busca. No tiene API de búsqueda. Los paquetes de Python generalmente aparecen a través de sus repositorios de GitHub.
- arXiv es lento y particular. Las solicitudes se espacian 3,5 s según sus términos de uso. Su borde rechaza algunos clientes HTTP, por lo que una solicitud rechazada se reintenta a través de la biblioteca estándar. Cuando una fuente falla, los errores lo dicen; léelos antes de confiar en una "limitación vigente".
- La recuperación se detiene a los 60 segundos. Una fuente que aún se está ejecutando en el plazo conserva lo que encontró e informa el déficit.
- La lista de modelos puede tener un día de antigüedad. El hook nunca espera en la red. Ejecuta
/sota-syncpara actualizarla de inmediato. - El veredicto sin intervención no está probado contra un proveedor en vivo. Está cubierto por pruebas con un modelo falso, pero aún no se ha realizado ninguna ejecución de API real.
Notas de diseño
- Sin diccionarios de temas. La recuperación conoce palabras funcionales genéricas en inglés y nada sobre ningún campo. Las consultas mantienen el orden en que su autor las escribió, y una consulta se relaja eliminando primero sus últimos términos.
- Y, no O. arXiv lee
all:{phrase}como un O sobre cada palabra; para una consulta de prueba que coincidió con 329.590 artículos, ordenados por fecha devolvió los artículos más nuevos sobre cualquier cosa. Los términos se combinan con Y, y la consulta se relaja solo cuando no encuentra nada. - Sin veredicto desde la nada. Un conjunto de evidencia vacío nunca llega al paso de juicio, por lo que un agente no puede completar un veredicto de obsolescencia desde la memoria.
- Datos de referencia, no órdenes. El bloque de sesión dice de dónde provienen sus datos y para qué sirven, y no reclama autoridad sobre el modelo que lo lee. Una redacción anterior que lo hacía fue rechazada correctamente por un modelo anfitrión como inyección de prompt.
- Sin modelos codificados. La clasificación lee la estructura de un ID de modelo: un token de slug con un dígito es una versión, un token alfabético pertenece al linaje. Así,
gpt-4oygpt-5.5comparten un linaje a través de un cambio de nombre. Un modelo se considera superado cuando algo más nuevo comparte su linaje, cuando va por detrás de la versión más reciente de su proveedor en más de la ventana de obsolescencia, o cuando el registro lo ha caducado.
Desarrollo
git clone https://github.com/luckmanqasim/sota-anchor
cd sota-anchor
uv sync --extra dev
uv run pytest # all offline
uv run ruff check .
claude plugin validate .
La suite nunca toca la red ni tu propia caché. HTTP pasa por httpx.MockTransport y el LLM a través de un falso inyectado. Cada prueba obtiene un directorio de caché privado, una búsqueda DNS real falla la prueba, y las pruebas de hook ponen herramientas de actualización falsas primero en PATH. CI lo ejecuta en Ubuntu y Windows con Python 3.11, 3.12, 3.13 y 3.14.
Antecedentes
SciUnlearn (Paul, Patwardhan & Cohan, arXiv:2608.20960) encuentra que los métodos actuales de desaprendizaje automático "son incapaces de eliminar eficazmente el conocimiento a nivel de afirmación y a menudo logran solo una supresión superficial". Si las afirmaciones obsoletas no se pueden eliminar limpiamente de los pesos de un modelo, la corrección debe ocurrir en contexto, en el momento en que el modelo está a punto de actuar sobre la creencia obsoleta. Ahí es donde trabaja sota-anchor.
La habilidad pide su veredicto de "algo ya hace esto" como un bloque de aserción-razón ([SOTA ARBITER PARADIGM SHIFT]), uno de los cuatro formatos de QA en ese punto de referencia, tomado prestado aquí como una forma. La idea de que formular una actualización de esta manera hace que un agente sea más propenso a actuar sobre ella es la hipótesis de diseño de este proyecto, no un hallazgo del artículo.
Licencia
MIT © 2026 Luckman Qasim