#1025 GET /workflows/<id>/metrics returns 500 for every existing run (queries jumper.e_/c_ by a run_id column they do not have)

in-progress medium Created 2026-10-20 06:03 · Updated 2026-10-20 06:12

Description

Edit
Found during #1020 (live, tenant test, public URL, 2026-10-20): GET /api/v1/workflows/0cf24500-6508-47e0-9dfc-f9c3a063101a/metrics as admin@test -> HTTP 500; API log: psycopg.errors.UndefinedColumn: column "run_id" does not exist (api/blueprints/v1/statistics.py get_workflow_metrics, event/checkpoint/retry COUNT queries on jumper.e_<queue> and jumper.c_<queue>). jumper e_ is keyed by event_name (no run_id, no event_type); c_ is keyed by task_id/checkpoint_name with owner_run_id. Missing runs answer 404 correctly. EARS: When an existing run of the caller's tenant is requested, the metrics route shall return 200 with counts derived from tables that carry the run (e.g. public.jumper_event_log by workflow_run_id+tenant_id, as queries.py does). Checker: scripts/verify_security_tail/check_1019_1020.py ('admin still reads /workflows/<run>/metrics').

Comments

Loading comments...

Context

Loading context...

Audit History

View All
Loading audit history...