[pytest] pythonpath = . testpaths = oss/tests/pytest ee/tests/pytest addopts = -ra -n auto --dist=loadgroup --self-contained-html asyncio_mode = auto filterwarnings = ignore:SelectableGroups dict interface is deprecated:DeprecationWarning:opentelemetry.util._importlib_metadata markers = coverage_smoke: breadth over depth coverage_full: breadth and depth lens_functional: it works lens_performance: it works fast lens_security: it works securely plan_hobby: organization as hobby plan_pro: organization as pro plan_business: organization as business plan_enterprise: organization as enterprise role_owner: user as owner role_admin: user as admin role_editor: user as editor role_developer: user as developer role_annotator: user as annotator role_viewer: user as viewer path_happy: desired behavior path_grumpy: undesired behavior case_typical: likely behavior case_edge: unlikely behavior speed_fast: ~ milliseconds speed_slow: ~ seconds license_oss: OSS license scope license_ee: EE license scope cost_free: no monetary cost (local/internal services) cost_paid: uses paid third-party services (LLM APIs) acceptance: requires running system (AGENTA_API_URL, AGENTA_AUTH_KEY) integration: requires real dependency (DB, Redis, external service) manual: tests that require manual invocation (excluded from automated runs) llm_required: requires live LLM access or credentials webhook_required: requires a reachable webhook endpoint slow: takes more than ten seconds; run with test.sh --full or --all real_events: exercises the real events publish/quota path (opts out of the unit event-publishing stub) real_resource_checks: exercises the real route resource checks (opts out of the unit allow-all stub) allow_insecure_env: opts out of the secure-by-default egress pin (asserts env-var resolution itself)