| #1066 |
highway_dsl on ci.rodmena.co.uk: uv.lock, .rodmena/ci.yml; GitHub publish workflow removed
EARS SPEC:
- When a commit is pushed to rodmena-limited/highway_dsl main or a pull request is opened...
|
open |
medium |
2026-10-25 01:05 |
- |
|
| #1065 |
LLM usage records $0 for prism/deepseek-v4-flash: no PRICING entry for provider prism
EARS SPEC:
- When an LLM call is served by provider prism, the engine shall record a non-zero estima...
|
open |
medium |
2026-10-25 01:01 |
- |
|
| #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 |
- |
|
| #1061 |
Live checkers out of date after #1041/#1013/#977: retarget or delete stale probes
EARS SPEC:
- Every live checker named in SPECS/deploy-first-ci-build.md step 5 shall probe only rout...
|
open |
medium |
2026-10-23 23:14 |
- |
|
| #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 |
- |
|
| #1058 |
Public workflow error reports max_attempts from the run budget, not the failing step's retry budget
EARS SPEC:
- When a step fails, the public workflow error shall report attempts and max_attempts of ...
|
open |
medium |
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 |
- |
|
| #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 |
- |
|
| #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 |
- |
|
| #1050 |
Adopt auth row level security in auth_rbac (creator_fp + tenant_isolation policies) or record why not
EARS (draft):
- Highway shall decide whether to apply auth's creator_fp and RLS migrations (auth rep...
|
open |
medium |
2026-10-22 23:11 |
- |
|
| #1049 |
#1041 follow-ups: live checkers probe removed routes; orphaned permissions; per-key breaker reset /tmp flag; drop api_tokens table
EARS SPEC:
- scripts/verify_* live checkers (#911, #1014, #1020, #1025, #1028, #1032, api_input) sha...
|
open |
low |
2026-10-22 22:50 |
- |
|
| #1048 |
DSL retry_policy retries non-retryable errors and ignores Retry-After; orchestrator never passes retry_at to jumper
EARS: When a tool step raises an error the orchestrator classifies as non-retryable (NON_RETRYABLE_E...
|
open |
medium |
2026-10-22 22:45 |
- |
|
| #1046 |
Upload links follow-ups (#1042): cancel wakes the waiting workflow, /info stops returning internal ids, local download URL served
EARS SPEC:
- When a person cancels an upload request, the waiting workflow shall resume within 5 s w...
|
open |
medium |
2026-10-22 22:41 |
- |
|
| #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 |
- |
|
| #1038 |
Drop unused tenant_client_keys.suspended_at
Since #908 the tenant state is status/deactivated_at/deactivated_by with the reason in suspended_rea...
|
open |
low |
2026-10-20 07:10 |
- |
|
| #1037 |
Submission accepts definitions naming tools that are not registered (fails later at the worker)
EARS SPEC (from #908, item 1, not done there):
- If a workflow task names a tool that is neither reg...
|
open |
medium |
2026-10-20 07:10 |
- |
|
| #1035 |
Activity worker LISTEN channel is never notified for highway.activity_queue inserts; claiming relies on fallback polling only
Found during #906. The activity worker LISTENs on jumper_highway_activity (#246). The only pg_notify...
|
open |
medium |
2026-10-20 07:10 |
- |
|
| #1034 |
Activity worker process exits when _fail_activity raises on the bulkhead-submit failure path
Found during #906. engine/services/activity_worker/worker.py _submit_activities: if bulkhead.execute...
|
open |
medium |
2026-10-20 07:05 |
- |
|
| #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 |
- |
|