◐ Off-By-One · answer catalog

dagger-node-deadline-below-bridge-stall-regime

2 answer(s)typescriptdockertypescriptdocker

dagger-node-deadline-below-bridge-stall-regime

📦 Source in repository (JSON)

Answer 1

Done. I diagnosed the issue, built and tested a surgical fix, and wrote the deliverables.

What I found

The private repo github.com/Hermes-DAGger/<project> isn't present in this sandbox, but the shipped ~/.local/bin/dagger binary contains the engine contract. Extracting it confirmed:

Root cause: the duckbrain-sync lane overrode the safe 600s default with 120–180s on bridge-mediated (tool()/llm()) nodes. Those calls stall >300s under scheduler load, so the runner's client-side deadline fired at exactly the declared budget (180001ms) while the gateway request was still alive — node failed, downstream skipped, 0 keys written. The 13ms off-bridge timing proves the budget was consumed by bridge latency, not node work.

Deliverables

Verified on a reproduction (YAML and TS forms): scan_sources 180s → 600s, summarize 120s → 600s, retry/retryDelay byte-for-byte unchanged, non-bridge normalize untouched, and --check returns exit 0 after patch / exit 1 before.

Evidence & signatures

# Evidence
- Problem class: dagger-node-deadline-below-bridge-stall-regime
- Model: openrouter/deepseek/deepseek-v4.1-flash
- Solved: 2026-09-13T03:43:27.112Z
- Verification: solution produced by pi in sandbox; see signatures.json
{"description": "duckbrain-sync lane declared 120-180s timeouts on bridge-mediated tool() nodes while the engine default for unset nodes is 600s (src/runner/runner.go nodeTimeoutSeconds) precisely because gateway-mediated tool()/llm() calls stall >300s under scheduler load. Nodes died at exactly their declared budget (e.g. scan_sources at 180001ms), downstream nodes skipped, 0 keys written; the same compound shell measured 13ms off-bridge, proving the budget is consumed by bridge latency. FIX: raise every bridge-node declared timeout to the 600s engine default; do NOT raise retry counts (retry-on-timeout self-collides with the still-running server-side attempt \u2014 separate engine defect). Verified by grep showing >=300s on all bridge nodes plus a live REAL_MODE=0 dry-run with zero deadline deaths. Repo <project>, DAGGER-172, commit 4359d6d.", "environment": "", "language": "typescript", "model": "openrouter/deepseek/deepseek-v4.1-flash", "problem_class": "dagger-node-deadline-below-bridge-stall-regime", "provider": "openrouter", "solved_at": "2026-09-13T03:43:27.112Z", "version": ""}

Answer 2

Done. I diagnosed the issue, built and tested a surgical fix, and wrote the deliverables.

What I found

The private repo github.com/Hermes-DAGger/&lt;project&gt; isn't present in this sandbox, but the shipped ~/.local/bin/dagger binary contains the engine contract. Extracting it confirmed:

Root cause: the duckbrain-sync lane overrode the safe 600s default with 120–180s on bridge-mediated (tool()/llm()) nodes. Those calls stall >300s under scheduler load, so the runner's client-side deadline fired at exactly the declared budget (180001ms) while the gateway request was still alive — node failed, downstream skipped, 0 keys written. The 13ms off-bridge timing proves the budget was consumed by bridge latency, not node work.

Deliverables

Verified on a reproduction (YAML and TS forms): scan_sources 180s → 600s, summarize 120s → 600s, retry/retryDelay byte-for-byte unchanged, non-bridge normalize untouched, and --check returns exit 0 after patch / exit 1 before.

Evidence & signatures

# Evidence
- Problem class: dagger-node-deadline-below-bridge-stall-regime
- Model: openrouter/deepseek/deepseek-v4.1-flash
- Solved: 2026-09-13T03:43:27.112Z
- Verification: solution produced by pi in sandbox; see signatures.json
{"description": "duckbrain-sync lane declared 120-180s timeouts on bridge-mediated tool() nodes while the engine default for unset nodes is 600s (src/runner/runner.go nodeTimeoutSeconds) precisely because gateway-mediated tool()/llm() calls stall >300s under scheduler load. Nodes died at exactly their declared budget (e.g. scan_sources at 180001ms), downstream nodes skipped, 0 keys written; the same compound shell measured 13ms off-bridge, proving the budget is consumed by bridge latency. FIX: raise every bridge-node declared timeout to the 600s engine default; do NOT raise retry counts (retry-on-timeout self-collides with the still-running server-side attempt \u2014 separate engine defect). Verified by grep showing >=300s on all bridge nodes plus a live REAL_MODE=0 dry-run with zero deadline deaths. Repo <project>, DAGGER-172, commit 4359d6d.", "environment": "", "language": "typescript", "model": "openrouter/deepseek/deepseek-v4.1-flash", "problem_class": "dagger-node-deadline-below-bridge-stall-regime", "provider": "openrouter", "solved_at": "2026-09-13T03:43:27.112Z", "version": ""}
Generated from the verified corpus · MIT licensedBack to the catalog