| #1064 |
Retire the highway-dsl generator (dsl-generator.service, dsl.rodmena.app, dsl.mcp.highway.rodmena.app) and its clients
EARS SPEC:
- The dsl-generator service on vm-1 shall not run and shall not start at boot.
- When a c...
|
closed |
high |
2026-10-25 00:59 |
- |
|
| #1063 |
highway-dsl generator (vm-1 dsl-generator.service): clear provenance findings brotli, certifi, werkzeug, setuptools
EARS SPEC:
- The dsl-generator venv (highway_dsl/app/.venv-uv313) shall contain no package version w...
|
closed |
high |
2026-10-24 22:59 |
- |
|
| #1062 |
llm_routes health probe is single-turn: a provider that fails multi-turn tool calls stays green
EARS SPEC:
- The llm_routes health probe shall, for each candidate, send a two-turn tool-call exchan...
|
open |
high |
2026-10-24 00:16 |
- |
|
| #1059 |
Embedded auth tables have no row level security: auth 3.5.1 apply_tenant_rls() not present in highway_db_v2
EARS SPEC:
- While Highway embeds the auth library, the auth_rbac tables shall have RLS enabled and ...
|
open |
high |
2026-10-23 23:05 |
- |
|
| #1057 |
Sandbox shell: stderr log read 409 (container dead or marked for removal) fails the user step
EARS SPEC:
- If the sandbox container's logs cannot be read because the container is being removed a...
|
open |
high |
2026-10-23 23:05 |
- |
|
| #1055 |
SensitiveDataFilter card pattern masks UUIDs in logs (run/app ids lost from audit logs)
EARS SPEC:
- If a log message or argument contains a UUID (8-4-4-4-12 hex), then the SensitiveDataFi...
|
closed |
high |
2026-10-23 21:05 |
- |
|
| #1054 |
First CI runs with submodules: mypy ratchet regressions (132 vs 118) and engine secret-owner test under root without CAP_DAC_OVERRIDE
EARS SPEC:
- When the mypy ratchet finds a file over its baseline, the ratchet shall print every myp...
|
open |
high |
2026-10-23 20:37 |
- |
|
| #1053 |
CI red on 16720f9: size allowlist stale after #1041, gitleaks tracked-tree findings unnamed
EARS SPEC:
- The size gate shall pass on main: allowlist entries equal current line counts (api/test...
|
in-progress |
high |
2026-10-23 15:20 |
- |
|
| #1051 |
Permission checks that run on the api event loop can block it for up to POOL_TIMEOUT with a 1-connection auth pool
EARS SPEC:
- The api shall run every synchronous auth library call (Authorization reads and writes) ...
|
open |
high |
2026-10-22 23:12 |
- |
|
| #1047 |
LLM providers send config/env API keys to a caller-supplied base_url (ollama, OpenAI-compat set, anthropic)
EARS: If a tools.llm.call caller passes base_url and no api_key/api_key_secret_id, then the router s...
|
in-progress |
high |
2026-10-22 22:44 |
- |
|
| #1045 |
Pin auth 3.4.0; size and scope the embedded auth pool for pg-nano (AUTH_DATABASE_POOL_*), every Authorization session closed
EARS SPEC:
- Highway shall pin auth==3.4.0 in pyproject.toml and uv.lock.
- Every engine container t...
|
in-progress |
high |
2026-10-22 22:40 |
- |
|
| #1044 |
LLM router: Prism provider, deepseek-v4-flash as default chat model (#921 chat half)
EARS SPEC:
- The LLM router shall offer a provider 'prism' (OpenAI-compatible, base [llm.providers.p...
|
in-progress |
high |
2026-10-22 22:28 |
- |
|
| #1043 |
Stopgap for #945/#1006: only the platform tenant may publish app versions, and only platform-published versions execute
EARS SPEC:
- If a tenant other than platform calls POST /api/v1/apps (create with its own publisher)...
|
in-progress |
high |
2026-10-22 22:26 |
- |
|
| #1040 |
certifi 2026.7.22 trusts emSign ECC Root CA - G3 (GHSA-6q48-6c7w-9gw2, compromised intermediates); DSL compiler pip-installs caller imports at runtime with pip's vendored certifi
EARS SPEC:
- Every Highway image shall ship certifi >= 2026.10.19 (first patched release; removes em...
|
open |
high |
2026-10-21 22:19 |
- |
|
| #1039 |
auth library pool hardcoded (5+5 per process in 3.1.0, 2+2 in 3.3.0): blocks pg-nano highway_app limit 60
EARS: The API's auth library connections shall be bounded by configuration (target 1 per process at ...
|
open |
high |
2026-10-20 07:39 |
- |
|
| #1036 |
A deactivated tenant is not blocked anywhere: no code reads tenant_client_keys.status
EARS SPEC (draft):
- While a tenant's tenant_client_keys.status is 'deactivated', the Highway API sh...
|
closed |
high |
2026-10-20 07:10 |
- |
|
| #1033 |
Activity worker livelocks on an activity whose workflow_run row is missing
Found during #906 (both former copies, now engine/services/activity_worker/claiming.py _claim_activi...
|
open |
high |
2026-10-20 07:05 |
- |
|
| #1030 |
GET /analytics/queues reads tenant_id from the query string after require_permission checked the header tenant
Found during #1028 (live, public URL, 2026-10-20, read-only GETs). api/middleware/tenant.py takes g....
|
open |
high |
2026-10-20 06:20 |
- |
|
| #1026 |
tools.mcp.call cannot import the MCP client: mcp 2.0.0 has streamable_http_client, code imports streamablehttp_client
Found by the #1001 fork (live, tenant test, runs 68fb8c37 and fca7638c failed with ImportError). uv....
|
in-progress |
high |
2026-10-20 06:03 |
- |
|
| #1024 |
Cancel route kills activity PIDs from the api container's PID namespace
Found while doing #916. api/blueprints/v1/workflows_lifecycle.py cancel_workflow reads process_pid f...
|
in-progress |
high |
2026-10-20 06:01 |
- |
|