AGENTS.md@backend/tests · git:20260912.5e85f8a · 2026-09-12 · sha256 f4cdfb4b268d1896

AGENTS.md@backend/tests git:20260912.5e85f8aA

Immutable. This exact content is served forever at /api/v1/blob/f4cdfb4b268d1896.

# Backend Tests

Backend tests must preserve the runtime invariants they exercise without changing production execution topology.

## Executor starvation tests

`test_executor_starvation.py` covers the deterministic starvation semantics from RFC #4560:

- default-executor saturation and queueing;
- cancellation of an awaiter while an already-started synchronous worker continues;
- isolation between the asyncio default executor and DeerFlow's dedicated file-I/O executor.

Use explicit synchronization such as `threading.Event` rather than sleep-based timing thresholds for worker lifecycle assertions. Every test must release blocked workers and restore any process-global monkeypatches so teardown cannot leak threads or state into later tests.

Stress/soak testing, AnyIO worker instrumentation, Uvicorn multi-process behavior, and broad production executor redesign are separate concerns and should not be folded into these deterministic regressions.