Data Manager offers a one-click purge of the onboard tools registry, labelled "Tool execution data"
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 72/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- javascript
- Área
- backend
Línea de trabajo
Empieza con la entrada tools en CATEGORIES en server/services/dataManager.js:208, luego con el contrato de la tabla en las líneas 33-35 y con la purga de categorías en las líneas 731-737. Cambia la entrada a deletable: false, elimina purgeScope y reescribe la descripción para nombrar el registro de herramientas. Añade una prueba en las pruebas del servicio Data Manager o en las pruebas de rutas que verifique que purgeCategory('tools') es rechazada. Está terminado cuando esa prueba pasa y la ruta fail-closed existente es lo único que la rechaza.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Found during the 2026-11-01 code-quality audit while reviewing Data Manager classifications. Purge classification is owned by the data-safety audit, so this is filed for that lane rather than fixed in the code-quality PR.
Problem
server/services/dataManager.js:208classifiesdata/toolsas{ label: 'Tools', description: 'Tool execution data', archivable: true, deletable: true, purgeScope: 'category' }.data/tools/is not execution data. It is the onboard tools registry (server/services/tools.js:1-6): one JSON config per tool, whichgetToolsSummaryForPrompt()(server/services/tools.js:112) splices into CoS agent prompts throughserver/services/agentPromptBuilder.js.- Its only writers are
POST /api/toolsandPUT /api/tools/:id(server/routes/tools.js:69,77), driven by the Image Gen settings save (client/src/components/settings/ImageGenTab.jsx:391-450). Nothing re-registers tools at boot. - The category-wide purge (
server/services/dataManager.js:731-737) removes every file indata/tools/but never invalidates the in-memory cache inserver/services/tools.js:26-58.
Impact
A user who reads "Tool execution data" and purges it sees no change at first, because the cache keeps serving the old list. After the next server restart, every CoS agent prompt silently loses its "Available Tools" section (the image-generation endpoints and hints) until the user happens to re-save Image Gen settings. The purge reclaims only a few KB, so nothing offsets that loss. It also contradicts the table's own contract (dataManager.js:33-35): deletable is reserved for bytes that are "genuinely reproducible".
Decided fix
Reclassify tools as deletable: false (keep archivable: true, drop purgeScope), and replace the description with an accurate one, e.g. "Onboard tool registry listed in CoS agent prompts — rebuilt only when Image Gen settings are saved". Once the purge is withdrawn, no cache-invalidation plumbing is needed.
Acceptance criteria
CATEGORIES.toolsisdeletable: falsewith nopurgeScope;purgeCategory('tools')refuses through the existing fail-closed path.- The description names the registry and how it is rebuilt.
- A Data Manager service or route test asserts that a
toolspurge is refused.
Scope: small
Dispatch: model:light (one classification row plus a test); effort:low (no design question remains).
- Lenguaje dominante
- JavaScript
- Estrellas
- 38
- Forks
- 32
- Merge medio
- 45 min
- PR fusionados (30 d)
- 992
Preparar el entorno
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de atomantic/PortOS
-
dev-environment effort:low model:medium plan planner:opus-5-5 tests
Dificultad 3/5 1-2 días Aptitud para principiantes 42/100
Los mantenedores suelen responder en 1 día
-
bug effort:low model:medium planner:opus-5-5
Dificultad 3/5 1-2 días Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día
Todos los issues de atomantic/PortOS
Issues similares
-
no timer on tournament pageAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
hexlet-codebattle/codebattle#2374 ·
-
docs: Code on siteAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
saadeghi/daisyui#4846 · 1 comentario ·
Los mantenedores suelen responder en 4 días
-
spec-feedback
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
automated-link-issue broken-link
Dificultad 2/5 Medio día Aptitud para principiantes 65/100
JuanPabloDiaz/freeForGeeks#313 ·