Context
Part of the Testing Infrastructure & Strategy Overhaul epic (issue 1a). This is the foundational taxonomy that other issues in the epic depend on.
See Discussion #711 for full background and the marker inventory.
Objective
Define and implement granularity markers for the test suite, classifying tests along the agreed taxonomy:
unit — tests individual functions/classes in isolation
integration — tests full stack using mocked backends
e2e — tests against real backends, no mocks
qualitative — subset of e2e that asserts on LLM output quality (non-deterministic)
Work
Notes
- The two-dimensional taxonomy (granularity + backend) was agreed in the March 23rd planning call
- Backend and resource markers are audited separately in issue 1b
qualitative is a subset of e2e, not a separate tier
Context
Part of the Testing Infrastructure & Strategy Overhaul epic (issue 1a). This is the foundational taxonomy that other issues in the epic depend on.
See Discussion #711 for full background and the marker inventory.
Objective
Define and implement granularity markers for the test suite, classifying tests along the agreed taxonomy:
unit— tests individual functions/classes in isolationintegration— tests full stack using mocked backendse2e— tests against real backends, no mocksqualitative— subset ofe2ethat asserts on LLM output quality (non-deterministic)Work
conftest.pyandpyproject.tomlpytest configunittests: either "no marker = unit" (implicit, low friction) or an explicit@pytest.mark.unit(self-documenting, enablespytest -m unit). If explicit, add validation that rejects unmarked tests (e.g. conftest check or CI lint step)Notes
qualitativeis a subset ofe2e, not a separate tier