honcho/tests
Vineeth Voruganti 6d517bbd3b fix: make DB cleanup abandon-deadline monotonic across cancel re-delivery
_run_to_completion passed _CLEANUP_TIMEOUT_SECONDS to each asyncio.wait()
call, so every re-delivered CancelledError re-armed a fresh 10s window and
the deadline never elapsed. anyio re-delivers cancellation on every event
loop iteration (CancelScope._deliver_cancellation reschedules itself via
call_soon until the task leaves the scope), and Starlette's
BaseHTTPMiddleware -- registered for every request in main.py -- wraps the
request in an anyio task group. So on the API path the abandon valve was
dead exactly where it was needed: a wedged connection pinned the request
task, hot-spinning the loop, for as long as the storm lasted.

Compute one monotonic deadline before the loop and derive each wait timeout
from the remaining time.

Tests: storm helper now re-cancels at anyio's call_soon cadence instead of
5 sparse cancels (sparse cancels leave quiet ticks where a per-wait timeout
re-arms and cleanup finishes, which is why the existing storm test passed
either way). New test_run_to_completion_deadline_holds_under_cancel_storm
fails on the old loop ("not abandoned after 5.0s") and passes with the fix.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-24 15:26:50 -04:00
..
alembic feat: make session_name nullable for documents and update related SDKs (#347) 2026-01-26 13:33:11 -05:00
bench feat: add new cloudevents for api routes (#637) 2026-05-20 18:25:30 -04:00
crud fix(dedup): reinforce times_derived on duplicate detection (#768) 2026-06-11 12:37:19 -04:00
deriver feat: defer embedding messages (#704) 2026-06-11 10:31:04 -04:00
dialectic Refactor clients.py to add modern features and more flexible configuration (#459) 2026-04-20 02:46:37 -04:00
dreamer Fix surprisal tree kwarg mismatch (#749) 2026-06-19 13:49:04 -04:00
integration feat: defer embedding messages (#704) 2026-06-11 10:31:04 -04:00
live_llm Refactor clients.py to add modern features and more flexible configuration (#459) 2026-04-20 02:46:37 -04:00
llm feat: defer embedding messages (#704) 2026-06-11 10:31:04 -04:00
reconciler fix: Various Codex Audits (#386) 2026-02-13 12:00:15 -05:00
routes feat: defer embedding messages (#704) 2026-06-11 10:31:04 -04:00
scripts feat: add new cloudevents for api routes (#637) 2026-05-20 18:25:30 -04:00
sdk fix(sdk): add peer field to session creation methods (#705) 2026-05-21 12:31:53 -04:00
sdk_typescript add read db (#773) 2026-06-10 13:28:36 -04:00
startup add read db (#773) 2026-06-10 13:28:36 -04:00
telemetry feat: add new cloudevents for api routes (#637) 2026-05-20 18:25:30 -04:00
unified fix(tests/unified): use argparse mutex group for --test-dir/--test-file 2026-05-05 12:31:23 -04:00
utils fix: reframe peer card prompts as stable identity markers (#686) 2026-05-21 13:25:34 -04:00
vector_store Make embeddings configurable (#678) 2026-05-14 15:03:35 -04:00
webhooks Tighten Transaction Scopes (#525) 2026-04-08 11:14:50 -04:00
__init__.py Refactor clients.py to add modern features and more flexible configuration (#459) 2026-04-20 02:46:37 -04:00
conftest.py feat: defer embedding messages (#704) 2026-06-11 10:31:04 -04:00
test_advanced_filters.py feat: honcho 3.0, sdks 2.0, excise stainless, update v3 docs, changelogs (#331) 2026-01-22 15:16:28 -05:00
test_config.py feat: deriver custom instructions (#609) 2026-05-11 18:05:42 -04:00
test_datetime_parsing.py Make embeddings configurable (#678) 2026-05-14 15:03:35 -04:00
test_db_resilience.py add read db (#773) 2026-06-10 13:28:36 -04:00
test_dependencies.py fix: make DB cleanup abandon-deadline monotonic across cancel re-delivery 2026-07-24 15:26:50 -04:00
test_generate_jwt_script.py feat: add generate_jwt.py script for creating scoped JWTs (#757) 2026-06-09 13:49:55 -04:00
test_models_vector_dim.py feat: add new cloudevents for api routes (#637) 2026-05-20 18:25:30 -04:00
test_schema_validations.py Align API contract with DB contract for IDs (#684) 2026-05-14 16:37:39 -04:00
test_search.py Tighten Transaction Scopes (#525) 2026-04-08 11:14:50 -04:00