* fix: cancel async ops on bank delete via CASCADE FK + heartbeat checkpoints - Add migration e5f6g7h8i9j0: FK ON DELETE CASCADE from async_operations and webhooks to banks, so deleting a bank auto-removes all its ops/webhooks - Add _check_op_alive() helper: returns False if op row was deleted (cascade) - Add consolidation checkpoint: after each LLM batch commit, abort early if op was deleted mid-run (returns status='cancelled') - Add retain checkpoint: between sub-batches, abort early if op was deleted - _mark_operation_completed/failed/completed_and_fire_webhook: gracefully handle missing row (UPDATE 0) with log instead of silent error - Thread operation_id into run_consolidation_job() for checkpoint access - Fix y0t1u2v3w4x5 and a1b2c3d4e5f6 migrations: add IF NOT EXISTS to prevent failure on idempotent re-runs - Add 10 tests covering cascade delete, _check_op_alive, graceful mark methods, consolidation checkpoint, and retain checkpoint * refactor: use RETURNING + fetchrow instead of execute + string comparison * fix: add bank upsert before async_operations FK inserts and update tests - memory_engine.py: upsert bank in submit_async_retain before async_operations INSERT - http.py: upsert bank in api_create_webhook before webhooks INSERT - test_worker.py, test_async_batch_retain.py, test_webhooks.py: add _ensure_bank helper calls before direct async_operations/webhooks inserts to satisfy FK constraint * fix: mock bank_utils.get_bank_profile in unit test with mocked pool |
||
|---|---|---|
| .. | ||
| versions | ||
| env.py | ||
| README | ||
| script.py.mako | ||
Generic single-database configuration.