Silo tool
silo_forget
Remove knowledge from a silo. Two-step deletion: call with `query` to discover matching candidates, show them to the user, then call again with `memory_ids` set to only the ids they agreed to delete. Never pass both in one call.
Input
// Exactly ONE of query / memory_ids per call — passing both is an error.
// Step 1 — discover candidates:
{ "silo_id": "uuid | 'default'", "query": "string" }
// Step 2 — commit the user-approved subset:
{ "silo_id": "uuid | 'default'", "memory_ids": ["uuid"] }Output
// Step 1 (query): candidates to confirm with the user
{ "status": "requires_confirmation", "query": "...",
"matches": [{ "id": "uuid", "type": "fact",
"content": "...", "score": 0.91 }],
"instructions": "..." }
// Step 2 (memory_ids): committed deletion
{ "status": "forgotten", "deleted_count": 1,
"deleted_memory_ids": ["uuid"], "not_found_ids": [] }
// Nothing matched either step:
{ "status": "no_match", "message": "..." }Policy
Requires read_write access on the silo.
Any silo_id parameter accepts either a UUID or the reserved alias "default" — see how the default alias works.