Repository navigation
feat(interpreter): stream yes and seq into pipelines with SIGPIPE - #2566
Merged
Merged
Conversation
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
bashkit | f61f2f4 | Commit Preview URL Branch Preview URL |
Oct 07 2026, 05:26 PM |
chaliy
force-pushed
the
claude/streaming-generators
branch
5 times, most recently
from
October 7, 2026 16:41
8e8fede to
e7c274c
Compare
chaliy
force-pushed
the
claude/streaming-generators
branch
from
October 7, 2026 17:26
e7c274c to
f61f2f4
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Requested by Михайло · project thread
What changed
yesandseqstream into pipelines. As a producer stage they now run concurrently, like shell-code stages already did. They write 4 KiB chunks straight into the stage pipe through a new internalContext::stdout_stream(). When the reader is gone they stop with 141 (SIGPIPE).The pipe goes only to the stage's own unredirected simple command, matched by address. Commands run from its arguments, a
yes() {...}function andyes > filekeep the buffered path.Why
This is step 2 of the roadmap (streaming builtin I/O). The roadmap names
seq 1e6 | head -1andyes | headas the motivating cases. Both used to run to the output cap and print a truncation notice.Before
After
yes | head -2gives141 0andset -o pipefail; yes | head -1exits 141, both as in bash. The new specpipe-generators.test.shmatches real bash. The L-PIPE-001 evidence now usescat big | head -1, which still runs to completion.Risk
Low to medium.
yes | wc -l).Checklist
https://claude.ai/code/session_019aFikmptPc91Fj4N2iDXQA
Generated by Claude Code