Skip to content

test: stress supervisor-owned runtime streams - #17

Merged
skevetter merged 1 commit into
mainfrom
codex/runtime-streaming-stress
Oct 3, 2026
Merged

skevetter merged 1 commit into
mainfrom
codex/runtime-streaming-stress

Conversation

@skevetter

@skevetter skevetter commented Oct 3, 2026 •

Copy link
Copy Markdown
Contributor

The owned supervisor has process-cleanup coverage, but its real gRPC transport has not been stressed with large duplex streams. Add an internal fixture and supervisor-backed probes that transfer 100 MiB of stdin and verify 100 MiB on both stdout and stderr, distinct binary tails, and exactly one terminal exit.

The probes exercise paced host/plugin consumers, paused input and output backpressure, cancellation, synthetic command early exit, and an actual plugin process crash while stdin is active. Sender readiness is acknowledged, and sender termination is checked before cleanup can mask an early-exit/crash hang. Incremental hashes keep the test payload out of retained memory. A separate control stream measures live Go heap after GC while data is paused, enforces a 32 MiB growth budget over the connected baseline, and verifies the transport remains usable after cancellation.

This is transport evidence, not a peak-RSS bound or certification of a real runtime's process/environment behavior. Runtime executable paths include spaces and Unicode. The existing Linux/macOS/Windows race-test jobs and runtime-tests artifacts already include the new probes; no workflow or protocol changes are needed. Real-runtime compatibility and supervisor startup measurements remain separate follow-ups.

Validation:

  • Full local race suite and vet passed.
  • Strict lint, formatting, pre-commit, and diff checks passed.
  • Windows fixture cross-build passed.
  • Native CI passed on Linux, macOS, and Windows: race tests, vet, startup probes, generated bindings, Lint, and Pre-commit. Uploaded reports confirm all seven new stress cases passed on each OS.
  • Local CodeRabbit completed a review of all five files with zero findings.
  • GitHub verified the signed commit.
  • Greptile was requested after CI passed; its final confidence/review gate is pending. Hosted CodeRabbit automatic review was skipped because this PR is draft.
  • Release Please is intentionally skipped on pull-request runs.

@coderabbitai

coderabbitai Bot commented Oct 3, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

Note

Currently processing new changes in this PR. This may take a few minutes, please wait...

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: f7fe91d6-7e6d-4a4a-bf48-9778b39c1c80
📥 Commits

Reviewing files that changed from the base of the PR and between 2df05ac and 7e2d434.

📒 Files selected for processing (5)
  • README.md
  • internal/streamfixture/main.go
  • internal/streamprobe/fixture_test.go
  • internal/streamprobe/stress_test.go
  • internal/streamprobe/traffic_test.go
✨ Finishing Touches
✨ Simplify code
  • Commit to this branch
  • Create a new PR
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@skevetter

Copy link
Copy Markdown
Contributor Author

@greptileai review

@skevetter
skevetter marked this pull request as ready for review October 3, 2026 18:09
@skevetter
skevetter merged commit 6212d9a into main Oct 3, 2026
11 checks passed
@skevetter
skevetter deleted the codex/runtime-streaming-stress branch October 3, 2026 18:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant