[ { "id": "F001", "description": "launchPublishedWorkflowRun always launches on Temporal: delete isTemporalPollingEnabled() and the engine ternary; remove the db fallback branch", "implemented": true, "prdRefs": [ "Goals 1" ] }, { "id": "F002", "description": "StartRunParams loses its engine field; WorkflowRuntimeV2.startRun writes engine='temporal' unconditionally", "implemented": true, "prdRefs": [ "Goals 1" ] }, { "id": "F003", "description": "WorkflowRunRecord engine type documents 'db' as read-only historical; no writer can produce it", "implemented": true, "prdRefs": [ "Non-goals" ] }, { "id": "F004", "description": "WorkflowRuntimeV2TemporalWorker uses the contract task-queue constant; env override removed", "implemented": true, "prdRefs": [ "Goals 2" ] }, { "id": "F005", "description": "WORKFLOW_RUNTIME_V2_TEMPORAL_TASK_QUEUE removed from compose files and worker startup logging", "implemented": true, "prdRefs": [ "Goals 2" ] }, { "id": "F006", "description": "workflow-worker index.ts starts the Temporal worker unconditionally; WORKFLOW_RUNTIME_V2_ENABLE_TEMPORAL_POLLING deleted", "implemented": true, "prdRefs": [ "Goals 1" ] }, { "id": "F007", "description": "workflow-worker index.ts no longer references the DB poller; WORKFLOW_RUNTIME_V2_ENABLE_DB_POLLING deleted", "implemented": true, "prdRefs": [ "Goals 1", "Goals 3" ] }, { "id": "F008", "description": "Delete services/workflow-worker/src/v2/WorkflowRuntimeV2Worker.ts", "implemented": true, "prdRefs": [ "Goals 3" ] }, { "id": "F009", "description": "Delete shared/workflow/workers/WorkflowRuntimeV2Worker.ts and its export from shared/workflow/workers/index.ts", "implemented": true, "prdRefs": [ "Goals 3" ] }, { "id": "F010", "description": "workflow_data_store expiry sweep extracted to a standalone interval module started by workflow-worker index.ts", "implemented": true, "prdRefs": [ "Goals 3" ] }, { "id": "F011", "description": "Worker health server reports the new worker set (temporal, eventStream, dataStoreSweep); dbPolling slot removed", "implemented": true, "prdRefs": [ "Goals 3" ] }, { "id": "F012", "description": "Delete retryWorkflowRunAction and POST /api/workflow-runs/[runId]/retry", "implemented": true, "prdRefs": [ "Goals 3" ] }, { "id": "F013", "description": "Delete legacy resumeWorkflowRunAction and POST /api/workflow-runs/[runId]/resume", "implemented": true, "prdRefs": [ "Goals 3" ] }, { "id": "F014", "description": "Delete requeueWorkflowRunEventWaitAction and POST /api/workflow-runs/[runId]/requeue", "implemented": true, "prdRefs": [ "Goals 3" ] }, { "id": "F015", "description": "Delete assertLegacyRunControlSupported and throwUnsupportedTemporalRunControlAction", "implemented": true, "prdRefs": [ "Goals 3" ] }, { "id": "F016", "description": "cancelWorkflowRunAction always cancels via Temporal; db status-mutation branch removed", "implemented": true, "prdRefs": [ "Primary flows 3" ] }, { "id": "F017", "description": "resumeWorkflowRunFromQuotaPauseAction always signals Temporal quota resume; executeRun else-branch removed", "implemented": true, "prdRefs": [ "Primary flows 3" ] }, { "id": "F018", "description": "submitWorkflowEventAction routes all matched runs to Temporal signals; engine guard removed", "implemented": true, "prdRefs": [ "Goals 1" ] }, { "id": "F019", "description": "WorkflowRuntimeV2EventStreamWorker signals all matched runs; engine !== 'temporal' skip removed", "implemented": true, "prdRefs": [ "Goals 1" ] }, { "id": "F020", "description": "workflowQuotaResumeScanHandler always signals Temporal; executeRun else-branch removed", "implemented": true, "prdRefs": [ "Primary flows 3" ] }, { "id": "F021", "description": "Delete the never-invoked executeWorkflowRuntimeV2Run Temporal activity", "implemented": true, "prdRefs": [ "Goals 3" ] }, { "id": "F022", "description": "Delete WorkflowRuntimeV2.executeRun and its private step/action executor helpers (loadEnvelope, persistSnapshot, executor loop)", "implemented": true, "prdRefs": [ "Goals 3" ] }, { "id": "F023", "description": "Delete WorkflowRuntimeV2.acquireRunnableRun", "implemented": true, "prdRefs": [ "Goals 3" ] }, { "id": "F024", "description": "Delete WorkflowRuntimeV2.resumeRunFromEvent and resumeRunFromTimeout", "implemented": true, "prdRefs": [ "Goals 3" ] }, { "id": "F025", "description": "startRun remains functional for launcher and startWorkflowRuntimeV2ChildRun after interpreter deletion (compile + runtime verified)", "implemented": true, "prdRefs": [ "Goals 1" ] }, { "id": "F026", "description": "WorkflowRunSnapshotModelV2 and snapshot reads (run studio, export, cleanup) remain working for historical runs", "implemented": true, "prdRefs": [ "Non-goals" ] }, { "id": "F027", "description": "Remove Retry button and handleRetry from WorkflowRunDetailsPanel", "implemented": true, "prdRefs": [ "Goals 3" ] }, { "id": "F028", "description": "Remove Resume button and handleResume (legacy) from WorkflowRunDetailsPanel", "implemented": true, "prdRefs": [ "Goals 3" ] }, { "id": "F029", "description": "Remove Requeue Event button and handleRequeue from WorkflowRunDetailsPanel", "implemented": true, "prdRefs": [ "Goals 3" ] }, { "id": "F030", "description": "Replay sends payload only when the operator edited the pre-filled JSON; unedited replay omits payload so the server uses original unredacted input_json", "implemented": true, "prdRefs": [ "Goals 4", "Primary flows 2" ] }, { "id": "F031", "description": "Replay success navigates to the new run's page", "implemented": true, "prdRefs": [ "Goals 4", "Primary flows 2" ] }, { "id": "F032", "description": "Run details panel shows queued-waiting-for-worker banner when status=RUNNING, zero steps, started_at older than 60s", "implemented": true, "prdRefs": [ "Goals 5", "Primary flows 4" ] }, { "id": "F033", "description": "Migration finalizes stranded non-Temporal runs: CANCELED + completed_at + error_json note; open workflow_run_waits resolved; terminal rows untouched", "implemented": true, "prdRefs": [ "Goals 6", "Data / migration" ] }, { "id": "F034", "description": "Temporal services merged into docker-compose.ee.yaml; docker-compose.temporal.ee.yaml deleted", "implemented": true, "prdRefs": [ "Goals 7" ] }, { "id": "F035", "description": "docker-compose.playwright-workflow-deps.yml runs the Temporal stack instead of DB polling", "implemented": true, "prdRefs": [ "Goals 7" ] }, { "id": "F036", "description": "All WORKFLOW_RUNTIME_V2_ENABLE_* references removed from compose files and env examples", "implemented": true, "prdRefs": [ "Acceptance criteria" ] }, { "id": "F037", "description": "Delete workflowEngineReferenceWorkflows.db.test.ts", "implemented": true, "prdRefs": [ "Risks", "Testing" ] }, { "id": "F038", "description": "workflowRuntimeV2.e2e.test.ts rewritten to drive the Temporal path; DB-poller-driven cases removed", "implemented": true, "prdRefs": [ "Risks" ] }, { "id": "F039", "description": "workflowRuntimeV2.control.integration.test.ts: DB-engine setup/cases removed; Temporal control cases retained and passing", "implemented": true, "prdRefs": [ "Risks" ] }, { "id": "F040", "description": "workflowRuntimeV2.publish.integration.test.ts rewritten without executeRun/acquireRunnableRun", "implemented": true, "prdRefs": [ "Risks" ] }, { "id": "F041", "description": "workflowRunLauncher unit tests drop flag-toggling cases; assert always-temporal launch", "implemented": true, "prdRefs": [ "Acceptance criteria" ] }, { "id": "F042", "description": "workflow-worker index.startup.test.ts drops DB-polling cases; asserts unconditional Temporal worker start", "implemented": true, "prdRefs": [ "Acceptance criteria" ] }, { "id": "F043", "description": "workflowQuotaResumeScanHandler unit tests updated for signal-only path", "implemented": true, "prdRefs": [ "Acceptance criteria" ] }, { "id": "F044", "description": "HARD_CUTOVER_SUPPORT_POSTURE.md and related cutover docs updated to reflect engine removal", "implemented": true, "prdRefs": [ "Non-goals" ] } ]