Fix clear-data to actually delete run_cache entries

- discard_run now deletes from run_cache and pending_runs tables
- Add delete_run_cache() and delete_pending_run() database functions
- Previously clear-data only cleared Redis, leaving DB cache intact

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
gilesb
2026-01-12 17:42:12 +00:00
parent a0b113923e
commit 5b05dbd31e
2 changed files with 32 additions and 2 deletions

View File

@@ -1207,6 +1207,26 @@ async def list_runs_by_actor(actor_id: str, offset: int = 0, limit: int = 20) ->
]
async def delete_run_cache(run_id: str) -> bool:
"""Delete a run from the cache."""
async with pool.acquire() as conn:
result = await conn.execute(
"DELETE FROM run_cache WHERE run_id = $1",
run_id
)
return result == "DELETE 1"
async def delete_pending_run(run_id: str) -> bool:
"""Delete a pending run."""
async with pool.acquire() as conn:
result = await conn.execute(
"DELETE FROM pending_runs WHERE run_id = $1",
run_id
)
return result == "DELETE 1"
# ============ Storage Backends ============
async def get_user_storage(actor_id: str) -> List[dict]: