| #912 |
Tool registry swallows ImportError: a broken tool module silently drops tools (126 -> 124) with only a log warning
EARS SPEC:
- When a tool module fails to import, the tool registry shall fail loudly (or expose the ...
|
open |
high |
2026-08-22 13:39 |
- |
|
| #906 |
activity_worker is forked: enterprise (1577 lines) and highway-core (1160) are parallel implementations of safety-critical worker code
EARS SPEC:
- Safety-critical activity-worker logic shall have exactly ONE implementation in the stac...
|
open |
high |
2026-08-22 11:58 |
- |
|
| #853 |
8 deterministic test failures: broken assertions + workflow result attributed to switch branch instead of final task
EARS SPEC:
- Every test in tests/ shall be capable of passing against correct behaviour; an assertio...
|
open |
high |
2026-08-22 02:44 |
- |
|
| #852 |
Circuit-breaker storage split-brain: engine writes to highway_db_v2, API reads resilient_circuit_db, migration covers only one
EARS SPEC:
- The Highway engine and the /api/v1/circuit-breakers endpoint shall read and write circu...
|
open |
high |
2026-08-22 01:54 |
- |
|
| #850 |
Upgrade bulkman 2.0.1->2.0.3 and resilient-circuit 0.4.7->0.7.0 (multi-process breaker race, thread-safety, CLI rename)
EARS SPEC:
- The Highway stack shall depend on bulkman >=2.0.3,<3 and resilient-circuit >=0.7.0,<0.8...
|
in-progress |
high |
2026-08-22 01:44 |
- |
|
| #849 |
Golden demos: compensation lands AFTER the 5s event, inverting BRANCH_B/PHASE2B vs BRANCH_C/PHASE3 in both expected files
EARS SPEC:
- When a task with TimeoutPolicy(3s) fails by timeout and has an on_failure compensation ...
|
open |
high |
2026-08-03 22:11 |
- |
|
| #833 |
CATASTROPHIC: /simulate re-executed REAL tool side effects + crashed on incomplete mock client
User report: opening the Simulate/Replay tab on a real workflow produced a 500 with 'ReplayJumperCli...
|
closed |
critical |
2026-07-19 17:26 |
- |
|
| #832 |
Hardening batch: defensive guards + observability from the jumper/core audit (low severity)
Bundle of verified-low findings from the 2026-07-19 audit: (1) jumper schedule_run's TASK-table UPDA...
|
closed |
low |
2026-07-19 05:26 |
- |
|
| #831 |
Lifecycle boundary checks do not reach foreach/while loop bodies — pause/cancel latency inside long loops
The #825/#826 boundary check (_lifecycle_signal) runs only in execute_workflow_graph's main ready-ta...
|
closed |
medium |
2026-07-19 05:26 |
- |
|
| #830 |
Sweeper fail-path can block up to DB-wide statement_timeout (2min) on a live wrapper's jumper-row lock
docker-compose.yml:159 sets statement_timeout=120000 DB-wide (SHOW confirms 2min). The wrapper holds...
|
closed |
medium |
2026-07-19 05:26 |
- |
|
| #829 |
completed_at metadata anomalies: claim-time timestamps on multi-minute runs; repair paths COALESCE stale values
Observed: run 6d2f34ac showed completed_at ~1s after creation despite ~2min execution; reconciled zo...
|
closed |
medium |
2026-07-19 05:26 |
- |
|
| #827 |
CLI hwe terminate/reset fully broken: UPDATE on phantom 'jumper_runs' table rolls back the whole command
engine/cli/workflow_cmd/lifecycle.py:96 (cmd_terminate) and :310 (cmd_reset) run UPDATE jumper_runs ...
|
closed |
high |
2026-07-19 05:26 |
- |
|
| #826 |
Lifecycle UPDATEs unguarded + wrapper holds workflow_run row lock for entire execution: pause can overwrite terminal status -> permanent 'running' zombies
Smoking-gun timeline (run b4e5e56c, 2026-07-19, prod logs worker-7 + api):
- 01:05:12 wrapper (tools...
|
closed |
critical |
2026-07-19 01:14 |
- |
|
| #825 |
Cancel endpoint cannot cancel claimed in-flight workflow runs (409); no cooperative boundary cancellation
POST /workflows/<id>/cancel only calls jumper cancel_task on the wrapper (tools.workflow.execute) ru...
|
closed |
high |
2026-07-19 01:04 |
- |
|
| #797 |
send_signal was broken outright: jsonb = json operator error in dedup query
SignalService.send_signal dedup SELECT compares jsonb column signal_payload with a psycopg Json-type...
|
closed |
high |
2026-07-01 22:45 |
- |
|
| #792 |
Signals never wake a sleeping run (poll-only, asymmetric with events/approvals)
send_signal (engine/services/signal_service.py) inserts into workflow_signals; consumption is poll-b...
|
closed |
high |
2026-07-01 22:22 |
- |
|
| #791 |
Pause is advisory: engine keeps executing tasks of a paused workflow run
POST /workflows/<id>/pause (api/blueprints/v1/workflows.py:~3613) only sets workflow_run.status='pau...
|
closed |
critical |
2026-07-01 22:21 |
- |
|