The story's per-repo vitest gate. It runs AFTER the story's code subtasks merge, because it measures their real merged coverage and tests the seams BETWEEN them — neither is knowable before they land.
It does three things, and none of them is a pre-enumerated list of cases.
Run coverage over the story's changed surface (lib/jobs/** and whatever the engine added) and, wherever it is below the project's per-file gate (>=90% branch / function / line), write the missing unit and branch tests to reach it. Each subtask ships its own units as the floor; this tops up what falls between them.
The writer-to-consumer paths the unit tests mock. Concretely, for this story: an event emitted through sendEvent traversing the real dispatcher into a real job_queue row and out through a real worker claim into the handler — not a fake at either end. A key that drifts between the dispatcher's write and the worker's read is exactly what unit tests on both sides individually pass while the pair is broken.
job_queue row. Genuine concurrency against a real Postgres, accepting every legitimate interleaving.lib/jobs/** imports the queue library directly, mirroring the existing ESLint boundary for Inngest. An import-boundary assertion, not a convention.Real Postgres throughout, never mocks.
vitest.config.ts — the coverage include set and the per-file thresholdstests/jobs/ — the existing job suites and their real-Postgres helperstests/helpers/db.ts — truncation between testseslint.config.mjs — the import boundary this mirrors