| #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 |
- |
|
| #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 |
- |
|
| #969 |
Secret history triage: gitleaks finds 45 (highway) + 8 (engine) historical findings; default rules missed the [secrets] mail password
EARS SPEC:
- The Highway CI secret scan shall fail on any credential added to tracked files or histo...
|
in-progress |
high |
2026-10-20 00:09 |
- |
|
| #967 |
Unrecovered handled failure waits for unrelated sleeping paths before the run fails
EARS: When a failed step can no longer be consumed by any dependent that accepts failures, the engin...
|
in-progress |
medium |
2026-10-17 17:34 |
- |
|
| #966 |
Branch on_failure handlers never run; handler referenced inside a parallel branch lambda is auto-chained in the parent and runs unconditionally
EARS: When a task inside a parallel branch fails and declares on_failure, the engine shall run that ...
|
in-progress |
high |
2026-10-17 17:34 |
- |
|
| #960 |
Branch runs log step_succeeded twice; step event results truncated to 200 chars as Python repr
EARS: Each step shall log exactly one step_succeeded event, and event payload results shall be JSON....
|
in-progress |
low |
2026-10-17 00:50 |
- |
|
| #958 |
Expose attempt number to tasks and resolve args per attempt
EARS: The engine shall expose the current attempt number as a workflow variable and shall resolve ta...
|
in-progress |
medium |
2026-10-17 00:50 |
- |
|
| #957 |
Trace has no span for a task that fails before its first external call
EARS: The trace endpoint shall include a span for a task that failed before its first external call....
|
in-progress |
medium |
2026-10-17 00:50 |
- |
|
| #954 |
Admin surface for per-tenant LLM token quota (hw.llm.tokens) + enable [tokengate] llm_token_quota
EARS: The platform admin shall be able to set a per-tenant hw.llm.tokens quota (TokenGate quota poli...
|
in-progress |
medium |
2026-10-17 00:13 |
- |
|
| #953 |
rate_limits: limit_scope=workflow unsupported on TokenGate path (needs per-run subject + assignment)
EARS: If a rate limit uses limit_scope=workflow, then the API shall reject it (400 INVALID_SCOPE) an...
|
in-progress |
low |
2026-10-17 00:13 |
- |
|
| #952 |
Move API workflow-submission bucket (require_rate_limit / TenantRateLimiter.check_quota) to TokenGate, decoupled from run leases
EARS: The workflow submission rate limit shall be a TokenGate rate_limit policy on resource hw.workf...
|
in-progress |
medium |
2026-10-17 00:13 |
- |
|
| #951 |
Drop local tool rate-limit counters (tool_rate_limit_usage + consume/check/cleanup SQL functions) after TokenGate path verified in production
EARS: When the TokenGate tool-limit path (#928) has run in production with no fail-closed incidents ...
|
in-progress |
medium |
2026-10-17 00:13 |
- |
|
| #931 |
Bloat review: classify all API routes core/keep/remove; app-system extension design
EARS SPEC:
- Every API route shall be classified core/keep/remove with a reason, and removals shall ...
|
in-progress |
medium |
2026-10-15 23:07 |
- |
|
| #925 |
Production Postgres on pg-nano with TLS client certs (verify-full); data migration from pg.rodmena.app
EARS SPEC:
- Every DB client (engine pool, migretti, psql in entrypoint, resilient-circuit, db tool)...
|
in-progress |
high |
2026-10-15 23:07 |
- |
|