The story's Playwright E2E: the verification_recipe, automated, against a real worker process and a real browser.
routeJobsToEngine(...) from tests/e2e/_helpers/job-routing.ts — the file-backed override lib/jobs/engine/cutover.ts documents, which exists precisely because an env var is fixed at server boot and one lane has to move a job between engines without a restart.tests/e2e/_helpers/job-worker-process.ts, as tests/e2e/jobs-postgres-engine.spec.ts already does./settings/workspace/jobs, filter to that job, and confirm the run appears with the expected status and its scheduled.<id> provenance. That page is the story's verification recipe, and this is the step that proves an operator can actually see a scheduled run on the new engine.Every one of the 14 shipped cadences is too slow for a spec: the fastest is one minute. Do not re-time a production job to make the test convenient — the story's own criterion is that the schedule constants are unchanged. Choose one of the two honest routes and say in the spec's header which, and why:
now is for.The first proves more of the real path; the second proves the real job. Pick deliberately.
Does NOT assert production behaviour, a live cadence, or a deployed ledger — the production cutover task under the epic owns those.
Records no acceptance video. This story ships no user-observable surface of its own: /settings/workspace/jobs already exists and is unchanged, so the non-UI-story exemption applies exactly as it does on MOTIR-3415.
Does NOT change the jobs dashboard, its DTOs or its service. If the page cannot show what this spec needs to assert, that is a finding to surface, not a change to make here.
succeeded scheduled run — waiting on the row, not on a timer./settings/workspace/jobs filtered to that job shows the run, and the assertion is against the rendered row rather than the database — the recipe says open the page.clearJobRouting() so a sibling spec against the same server is unaffected — the same discipline jobs-flow.spec.ts relies on.tests/e2e/jobs-postgres-engine.spec.ts — the closest existing spec; extend or mirror ittests/e2e/_helpers/job-routing.ts — routeJobsToEngine / clearJobRoutingtests/e2e/_helpers/job-worker-process.ts — starting and stopping a real worker from a spectests/e2e/jobs-dashboard.spec.ts — how the dashboard is already driven and filteredtests/e2e/global-setup.ts · global-teardown.ts — the lane's worker lifecyclelib/jobs/engine/cutover.ts — why the file override exists and why it is refused in productionCLAUDE.md § E2E — waiting on authoritative signals rather than timeouts