Pipeline scheduler: fail fast when fund command is unavailable

t-659·WorkTask·
·
·
·Omni/Pipeline.hs
Created2 months ago·Updated2 months ago·pipeline runs →

Dependencies

Description

Edit

Problem

The scheduler currently goes into a silent no-op loop when budget checks cannot execute.

Observed on production service:

  • pipeline.service runs with default --fund-cmd fund
  • host PATH does not provide a fund executable
  • each cycle logs only Skipping ... (no budget for domain ...)
  • no runs are ever spawned (active=0 spawned=0 repeatedly)

This effectively stalls autonomous operation while looking "healthy".

Why this is bad

  • No tasks progress, but service remains up (false healthy)
  • Root cause is hidden (looks like real budget exhaustion)
  • Operators get poor signal; requires manual digging to discover missing command

Proposed fix

1. Add startup validation for required external commands (task, agentd, fund) 2. Distinguish "budget denied" from "budget check infrastructure failure" 3. Emit explicit error logs/comments when fund command is missing/misconfigured 4. Add an explicit mode/flag for "no budget gating" if fund is intentionally unavailable

Acceptance criteria

  • Missing fund command is immediately obvious in logs/status
  • Scheduler does not silently present command failures as budget denials
  • Operator can choose strict-fail or permissive mode explicitly

Timeline (1)

🔄[human]Open → Draft2 months ago