Some checks are pending
Bidi Control Character Guard / bidi-control-guard (push) Waiting to run
Circular Dependency Check / Check for new circular dependencies (push) Waiting to run
Citus Migration Smoke / Combined migrations on single-node Citus (push) Waiting to run
E2E Fresh Install Tests / fresh-install-e2e (push) Waiting to run
ext-v2 guardrails / Run ext-v2 guard and ESLint (push) Waiting to run
Integration Tests / Check for relevant changes (push) Waiting to run
Integration Tests / ${{ (github.event_name == 'schedule' || github.event.inputs.suite == 'full') && 'Full integration suite' || 'Tier-1 integration subset' }} (push) Blocked by required conditions
Mobile checks / Mobile lint + typecheck (push) Waiting to run
Mobile checks / Mobile unit tests (push) Waiting to run
Mobile checks / Mobile dependency audit (report) (push) Waiting to run
Mobile checks / Mobile reproducibility checks (push) Waiting to run
Secrets guard (env backups) / Ensure no tracked env backup files (push) Waiting to run
Temporal Readiness / fast-readiness (push) Waiting to run
Temporal Readiness / docker-parity (push) Waiting to run
TypeScript Type Check / Nx affected typecheck (push) Waiting to run
Unit Tests / Skipped-test budget (push) Waiting to run
Unit Tests / Nx affected unit tests (push) Waiting to run
Unit Tests / Server unit coverage (informational) (push) Waiting to run
Validate Tenant Management Schema / Check for relevant changes (push) Waiting to run
Validate Tenant Management Schema / Validate Tenant Management Schema (push) Blocked by required conditions
EE Workflows Build Guard / ee-workflows-build-guard (push) Waiting to run
Excluded: .git, node_modules, secrets/, compose.env, assemblyscript tgz Source: /opt/alga-psa on psa.joliet.tech
361 lines
9.1 KiB
JSON
361 lines
9.1 KiB
JSON
[
|
|
{
|
|
"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"
|
|
]
|
|
}
|
|
]
|