Data Manager offers a one-click purge of the onboard tools registry, labelled "Tool execution data"

Abierto Apto para principiantes
#14,508 0 comentarios 0 reacciones 0 asignados Ver en GitHub

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

data-safety effort:low model:light plan planner:opus-5-5

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:208 classifies data/tools as { 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, which getToolsSummaryForPrompt() (server/services/tools.js:112) splices into CoS agent prompts through server/services/agentPromptBuilder.js.
  • Its only writers are POST /api/tools and PUT /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 in data/tools/ but never invalidates the in-memory cache in server/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.tools is deletable: false with no purgeScope; 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 tools purge 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

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de atomantic/PortOS

Todos los issues de atomantic/PortOS

Issues similares

Más issues de JavaScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.