Resources and cleanup
Settings → Resources inventories widgets, custom tools, managed cron jobs, services and data files. It works without a configured model. Use it to understand dependencies and review cleanup, especially for old dashboards.
Delete a widget or workspace
Use the normal Delete action and inspect the preview. Dedicated tools, cron jobs and services are removed automatically only when Prism tracked their creation and no retained consumer uses them. Shared resources stay. Data files and uncertain legacy resources need explicit selection. Deleting a service does not delete all its persistent volumes.
Deleting a workspace stops its active agent and cancels its helpers before cleanup. If Prism cannot confirm execution has stopped, deletion fails without removing the dashboard. Other dashboards, tool references and published gallery snapshots can protect dependencies from removal.
Link dedicated backend resources
In Resources, select the backends, choose a widget and click Link. Link replaces that widget’s dedicated-resource declarations. Declare only resources created for that widget. The agent can supply the same IDs on widget creation/update; it does not need to maintain a separate manifest.
{"action":"link","widget":"weather","ids":["tool:weather_fetch","cron:weather_refresh","file:data/weather.json"]}Resource IDs use tool:name, cron:name, service:name and file:workspace-relative-path. A backend recreated under the same name is a different resource and needs checking/relinking. Ordinary widget removal already checks usage; no environment-wide inventory is required first.
Clean up old workspaces
Filter Old / unassigned workspaces, select the unused chain and choose Review cleanup. Missing indicates a broken reference, not an extra file to erase. Examine retained consumers and data selections, then confirm. The agent can preview with resources action=cleanup; dry_run defaults to true and applying requires your explicit cleanup request.
Handle shared resources and partial failures
Shared consumers protect resources even when one widget calls them dedicated. Cleanup checks permissions and current usage again when applied. A failure stops subsequent dependent deletions; refresh, fix the error and retry the remaining work. Removing a cron stops future runs, not arbitrary detached processes already launched.
What dependency tracking can infer
Dynamic shell paths and clients outside Prism cannot be exhaustively analyzed. Declare their dependencies on the widgets that need them. Unknown provenance is not proof that a resource is unused. Cleanup is separate from undo and backup: review explicit data deletion carefully.