| #1023 |
get_jumper_client(queue_name=X) ignores X after the first call: spawns land on the process singleton's queue
Found while doing #916. engine/jumper_client.py get_jumper_client() is a process singleton; queue_na...
|
open |
high |
2026-10-20 06:01 |
- |
|
| #1017 |
Unit tests outside tests/unit/db write to highway_db_v2; root conftest runs UPDATEs via psql
EARS: When any pytest run collects tests/unit/api or tests/, no test or hook shall write to highway_...
|
closed |
high |
2026-10-20 03:01 |
- |
|
| #1016 |
Approval email token is not bound to the approval id in the URL
EARS: When GET /api/v1/gateway/approvals/<approval_id>/respond validates a signed token, the API sha...
|
in-progress |
high |
2026-10-20 03:01 |
- |
|
| #1015 |
Tenant-reachable tools: unverified static findings from the #1005 tools.* sweep
STATIC claims from a read-only subagent sweep during #1005. None reproduced; each needs a live repro...
|
in-progress |
high |
2026-10-20 02:52 |
- |
|
| #1013 |
Tenant users can list, pause, drain, resize and delete shared platform workers (/api/v1/workers*)
EARS: The worker list and worker control endpoints shall be available only to platform admins (requi...
|
in-progress |
high |
2026-10-20 02:52 |
- |
|
| #1010 |
gateway_approvals.py renders error text into HTML without escaping (XSS)
EARS: When the approval gateway renders an HTML page, every interpolated value shall be HTML-escaped...
|
in-progress |
high |
2026-10-20 02:38 |
- |
|
| #1009 |
schedules.py imports a module named by the caller
EARS: When a schedule is created or run, the API/engine shall never import a module whose name comes...
|
in-progress |
high |
2026-10-20 02:38 |
- |
|
| #1007 |
INCIDENT 2026-10-20 ~02:29Z: engine tests/unit/db ran against live highway_db_v2 and called jumper.cleanup_events('highway_default', 60, 1000)
WHAT: a security-batch agent ran the full engine tests/unit inside highway-api; tests/unit/db/test_c...
|
open |
high |
2026-10-20 02:34 |
- |
|
| #1006 |
App child processes inherit the worker environment; pathlib/io are allowlisted, so app code can likely read /proc/self/environ and /run/highway/secrets
EARS SPEC:
- When an app action runs in its child process, the child shall hold no worker secret in ...
|
open |
high |
2026-10-20 02:26 |
- |
|
| #1003 |
SwitchOperator runs every case: case tasks are ordinary graph tasks (auto-chained before the switch) and only the head of an unselected case is skipped
EARS: When a SwitchOperator selects a case, the Highway engine shall run only that case's task and t...
|
in-progress |
high |
2026-10-20 01:49 |
- |
|
| #994 |
Unsandboxed shell tasks inherit the full worker environment (DB_PASSWORD, keys, Vault token)
EARS SPEC:
- When a shell or code task runs outside the sandbox, the engine shall pass it only an ex...
|
in-progress |
high |
2026-10-20 01:19 |
- |
|
| #990 |
Condition evaluation error silently falls back to a truthy check: '{{x.stdout}} == ...' with a trailing newline always selects if_true
EARS: If a ConditionOperator / While condition cannot be evaluated (syntax error after interpolation...
|
in-progress |
high |
2026-10-20 01:10 |
- |
|
| #989 |
Cancelling or permanently failing a parallel-branch task flips the RUNNING parent workflow_run (trigger update_workflow_run_on_task_failure has no branch exclusion)
EARS: When a tools.workflow.execute_branch task reaches state cancelled or failed, the engine shall ...
|
in-progress |
high |
2026-10-20 00:55 |
- |
|
| #985 |
Workflow deadline expiry does not run the branch/child/activity teardown
EARS: When a run's deadline expires, the engine shall tear down pending and sleeping branch runs, ch...
|
open |
high |
2026-10-20 00:47 |
- |
|
| #984 |
Explicit cancel via API does not cancel sleeping branch runs
EARS: When a run is cancelled through the API, the engine shall cancel its pending and sleeping bran...
|
open |
high |
2026-10-20 00:47 |
- |
|
| #979 |
tests.helpers.dummy_functions is on the default python allowlist for every tenant in production
EARS SPEC:
- The default python task allowlist shall contain no test-only modules.
- If a tenant wor...
|
in-progress |
high |
2026-10-20 00:46 |
- |
|
| #978 |
Sandbox image missing from the docker host made every shell/code task fail; nothing re-pulls it or reports it
EARS: While the pinned [sandbox] image is absent from a docker host that runs workers, the Highway h...
|
in-progress |
high |
2026-10-20 00:43 |
- |
|
| #975 |
A dependency on a nonexistent task is accepted; dependent tasks are silently skipped and the run completes
EARS: If a workflow definition names a dependency that is not a task in the definition, then the Hig...
|
in-progress |
high |
2026-10-20 00:43 |
- |
|
| #974 |
Condition operator: dependents run before the selected branch finishes; a one_success join of branch tails fails the run while the tail sleeps
EARS: When a Condition branch contains chained tasks, the Highway engine shall offer a way for a dow...
|
in-progress |
high |
2026-10-20 00:43 |
- |
|
| #973 |
ForEach over an empty list runs the loop-body task once outside the loop with an empty {{item}}
EARS: If a ForEach operator resolves zero items, then the Highway engine shall execute zero loop-bod...
|
in-progress |
high |
2026-10-20 00:43 |
- |
|