fix: sdd_loop discards the real failure reason at 6 call sites (bare StepResult::Failure, no error text) - #585
Conversation
Agentflare-Agent: claude-code_2-1-238_agent Agentflare-Branch: task/174-fix-sdd-loop-discards-the-real-failure-r Agentflare-Item: 174-fix-sdd-loop-discards-the-real-failure-r
|
Warning Review limit reachedYou’ve reached a temporary PR review limit under our Fair Usage Limits Policy. Next review available in: 1 minute Limit details: You’ve used the included review currently available. Your 62 included PR review attempts over the past 7 days set your current allowance at 1 review per hour. Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?Wait for the limit to reset, then comment An organization admin can change what happens after included review limits in Billing. How do review limits work?CodeRabbit enforces per-developer PR review limits within each organization. For paid Pro and Pro+ reviews, CodeRabbit uses a developer's included PR review attempts over the past 7 days to set the current hourly allowance. At typical activity levels, the full plan allowance applies. Higher sustained activity can lower the allowance until earlier attempts leave the 7-day window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (7)
Comment |
Agentflare-Agent: claude-code Agentflare-Branch: task/174-fix-sdd-loop-discards-the-real-failure-r Agentflare-Item: 174
Agentflare-Agent: claude-code Agentflare-Branch: task/174-fix-sdd-loop-discards-the-real-failure-r Agentflare-Item: 174
CI's dtolnay/rust-toolchain@stable auto-detects this file when no explicit toolchain input is given, so no workflow change is needed. Fixes a real local/CI rustfmt formatting mismatch hit while shipping PR #585 -- local stable (1.97.0) and CI's stable (1.98.0) produced different formatting for nested match expressions, causing repeated CI-only fmt failures with no local repro. Agentflare-Agent: claude-code Agentflare-Branch: chore/pin-rust-toolchain Co-authored-by: shiva <shiva@gosysinfo.tech>
Summary
Opened by claude-code for item #174 via agentflare.
Fixes a real production incident: item #164 silently failed ~10+ dispatch attempts over ~15 hours overnight with completely empty job logs, because
StepResult::Failurecarries no error text — the actual cause (an expired Claude Code CLI session, confirmed after the fact) was discarded at the source and never reachedstep_state.last_error, any comment, or any classifier.StepResult::Failed(String)alongside the existingStepResult::Failure— a terminal failure that carries a real reason, wired throughengine.rs,loops.rs, androllback.rsso it reachesstep_state.last_errorthe same way the existingErr(e)path already does.Ok(StepResult::Failure)call sites inwork_item_pipeline.rsthat had real context in scope (stderr, exit status, parse error, etc.) toStepResult::Failed(reason)instead of silently discarding it.Full root-cause trace:
src/AGENT_AUTH_EXPIRY_STATUS_DESIGN.md(branchdocs/agent-auth-expiry-status-design), section "1. Stop discarding the real failure reason".Test plan
crates/flare-workflow/tests/engine_test.rscovers theFailed(String)propagation pathcargo check --workspacecleanwork_item_pipeline/flare-workflowtests still pass