streamOrExplain misreports why a streamed terminal handover ended, and runStreaming keeps a silent 5-minute default #759
Labels
No labels
agent-ready
bug
contract
documentation
duplicate
enhancement
good first issue
help wanted
invalid
needs-human
needs-input
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
iterative-works/iw-cli#759
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Found during IW-687 phase 1 (PR #758). All items are in
core/adapters/Process.scala, inrunStreamingandstreamOrExplain.killedBySignal(core/adapters/Process.scala:55-56) misses it and the user sees "Failed to switch…"runStreamingkeeps aDefaultTimeoutMsdefault whilestreamOrExplainrequires the bound — a future direct caller ofrunStreaminggets the 5-minute bound silently (core/adapters/Process.scala:137)NoTimeoutreports "it ran out of time and was stopped" — with no time limit, a client killed by a signal still takes the time-out wording (core/adapters/Process.scala:177-186)runStreamingmaps a spawn failure to -1 andstreamOrExplainthen says only "Failed to …" — the cause of an attach that could not start is lost (core/adapters/Process.scala:137-153)Intake: needs-input
Workflow: diagnostic
Reason: G5 (4 phases)
Analysis: project-management/issues/IW-759/analysis.md on branch IW-759
1. How do we split IW-759, which has 4 phases, into parts of at most 3 phases? (G5)
The plan has 4 phases, but the runner takes at most 3 phases per issue. The usual answer is to split the issue, not to raise the limit. Phases 2, 3 and 4 make a chain: phase 2 adds a new result type (
StreamOutcome), and phases 3 and 4 each add one case to it. Phase 1 does not depend on the others (tasks.md, analysis.md).runStreaming, so the part that merges second must rebase.Process.mdagain.Recommended: a) The chain that shares the new type stays together, and the part that we remove is small and does not depend on the chain.
Answer in a comment on this issue, per number, for example "1: a", or in your own words; intake reads it on its next iteration.