ID Title Status Priority Created Due Date Actions
#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 -
Edit
#1008 POST /api/v1/dsl_to_json executed caller Python on the API container (AST blocklist only)
EARS SPEC: - When POST /api/v1/dsl_to_json converts Python DSL, the API shall run the code only in t...
open critical 2026-10-20 02:38 -
Edit
#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 -
Edit
#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 -
Edit
#1005 Tenant workflows can run internal.* tools: the submit-time internal tool block is never called
EARS SPEC: - If a workflow submitted through POST /api/v1/workflows (or any tenant-facing submit pat...
in-progress critical 2026-10-20 02:26 -
Edit
#1004 mg verify fails on highway_db_v2: jumper_initial row has NULL checksum, parallel_join_counter applied with a pre-commit checksum
EARS: When mg verify runs on the merged migration set against highway_db_v2, it shall report no mism...
open low 2026-10-20 02:04 -
Edit
#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
bug
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 -
Edit
#1002 Stale smtp_password refs (shared/mail) in 10 welcome_email/invitation_email installations; tenant app secret DELETE cannot remove a ref without a value
EARS: Installations shall not reference retired platform secrets; DELETE /api/v1/tenant/apps/<instal...
open low 2026-10-20 01:42 -
Edit
#1001 MCP server token kept when the server URL changes and not bound to the registered server
EARS: When a tenant re-registers an MCP server name with a different URL, the system shall drop the ...
in-progress medium 2026-10-20 01:42 -
Edit
#1000 Gmail and Telegram connect are not atomic (token write, installation upsert, integration row in separate transactions)
EARS: When a tenant connects Gmail or Telegram, the token write, the app installation upsert and the...
in-progress low 2026-10-20 01:42 -
Edit
#999 Tenant secret key rotation tooling: reload ring once on unknown key id; hwe secrets reseal
EARS: When the store reads an envelope whose key id is not in the cached key ring, it shall reload t...
open medium 2026-10-20 01:42 -
Edit
#998 Encryption keys: env wins over platform file with no drift guard (HIGHWAY_ENCRYPTION_KEY, RBAC_MASTER_ENCRYPTION_KEY)
EARS: When the JSONB encryption key or the RBAC master key is configured in both the environment and...
open medium 2026-10-20 01:42 -
Edit
#997 TenantRateLimiter run-lease methods have no tests
EARS: The run-lease path of engine/policies/tenant_rate_limiter.py shall have unit tests that go red...
open medium 2026-10-20 01:40 -
Edit
#996 get_system_health_summary calls __wrapped__ on undecorated health tools: every sub-check reports unhealthy
EARS: internal.health.get_summary shall report each sub-check's real result. FOUND in #924: enterpri...
in-progress low 2026-10-20 01:19 -
Edit
#995 LLM provider api key by secret_id never resolves: engine.tools.secrets does not exist
EARS: When tools.llm.call is given a secret_id, the system shall resolve the API key from the callin...
in-progress medium 2026-10-20 01:19 -
Edit
#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 -
Edit
#993 tools.update.handle blanks {{update_payload.*}} before the handler sees it
bug
EARS: When an update handler task runs, the engine shall resolve {{update_payload.*}} from the updat...
in-progress medium 2026-10-20 01:18 -
Edit
#992 DSL prompt documents {{workflow.variable_name}}, which the resolver does not support
bug
EARS: The DSL prompt shall document only template forms the resolver implements; if {{workflow.x}} i...
in-progress medium 2026-10-20 01:18 -
Edit
#991 CRITICAL: {{ENV.<name>}} in workflow templates returns any worker environment variable (DB_PASSWORD, JWT secret, encryption keys, Vault admin token)
EARS SPEC: - The variable resolver shall not resolve any reference to the worker process environment...
open critical 2026-10-20 01:11 -
Edit
#990 Condition evaluation error silently falls back to a truthy check: '{{x.stdout}} == ...' with a trailing newline always selects if_true
bug
EARS: If a ConditionOperator / While condition cannot be evaluated (syntax error after interpolation...
in-progress high 2026-10-20 01:10 -
Edit
Previous Page 4 of 52 Next