| #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 |
- |
|
| #988 |
highway_dsl WorkflowBuilder.build() should reject branch handlers defined outside the branch lambda
EARS: When WorkflowBuilder.build() runs, it shall raise ValueError if any task inside a ParallelOper...
|
open |
medium |
2026-10-20 00:47 |
- |
|
| #987 |
Branch failures accepted by wait_for_parallel_branches(all_of) never reach the #956 unrecovered-failure rule
EARS: If a branch task fails with a handler and nothing downstream accepts the failure, then the run...
|
open |
medium |
2026-10-20 00:47 |
- |
|
| #986 |
Pause is not honoured inside parallel branches
EARS: While a run is paused, the engine shall not start the next task of any of its branch runs. Fou...
|
open |
medium |
2026-10-20 00:47 |
- |
|
| #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 |
- |
|
| #983 |
ruff 0.16.4: engine 28 and jumper 31 findings fail their CI lint; superproject 45 held by a ratchet; format drift in all three
EARS: ruff check and ruff format --check at the version in uv.lock shall report zero findings in hig...
|
in-progress |
low |
2026-10-20 00:47 |
- |
|
| #982 |
Unit tests that depend on production database state fail on an empty database
EARS: The superproject and engine unit suites shall pass against an empty database built from the mi...
|
open |
medium |
2026-10-20 00:46 |
- |
|
| #981 |
jumper standalone: 7 of 40 client tests fail against jumper's own migrations (task status columns shifted)
EARS: When the jumper repository's migrations are applied to an empty PostgreSQL 16 or 18 database, ...
|
in-progress |
medium |
2026-10-20 00:46 |
- |
|
| #980 |
Workflow gate tenant is hardcoded to demo (scripts/testing/gate_helper.py)
EARS SPEC:
- Where the workflow gate is run, the operator shall be able to choose the tenant (defaul...
|
open |
low |
2026-10-20 00:46 |
- |
|
| #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 |
- |
|
| #977 |
Undefined template path renders as an empty string without any warning
EARS: If a {{path}} placeholder in a task argument resolves to no value, then the Highway engine sha...
|
open |
medium |
2026-10-20 00:43 |
- |
|
| #976 |
Failed run exposes only workflow_failed in /events and /steps; earlier successful steps vanish
EARS: When a workflow run fails, GET /workflows/{id}/events and /steps shall still return the events...
|
in-progress |
medium |
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 |
- |
|
| #972 |
Template interpolation into tools.shell.run is raw text: upstream output executes as shell (bypasses #374 quoting)
EARS: When a {{var}} placeholder is resolved into a tools.shell.run command, the Highway engine shal...
|
in-progress |
high |
2026-10-20 00:43 |
- |
|
| #971 |
Fresh install fails: jumper and product migrations are out of order after engine 01M514J6GN9S42SQK3YW8GKEVP
EARS: When migrations-entrypoint.sh runs against an empty database, the migrations service shall app...
|
in-progress |
high |
2026-10-20 00:41 |
- |
|
| #970 |
Split 8 code files over the 550-line cap that #855-#904 do not cover
EARS: Each tracked code file shall be at most 550 lines. Found by the #918 size gate (git ls-files -...
|
open |
low |
2026-10-20 00:29 |
- |
|