Skip to content

Add the hidden same-binary role process boundary - #200

Merged
arasovic merged 2 commits into
mainfrom
run/issue-199
Sep 6, 2026
Merged

Add the hidden same-binary role process boundary#200
arasovic merged 2 commits into
mainfrom
run/issue-199

Conversation

@arasovic

@arasovic arasovic commented Sep 6, 2026

Copy link
Copy Markdown
Owner

Summary

  • add fixed private supervisor/worker-host role tokens
  • launch the same executable with fd3 request and fd4 response pipes while keeping payloads out of argv/env/stdout/stderr
  • add bounded framed Send/Receive and exact request EOF handling
  • add concurrent-safe Wait, Kill, and Close that reap the exact child without process-group claims
  • mark child role fds close-on-exec so future Pi descendants cannot mask EOF
  • keep production role dispatch, JSON payloads, ownership-loss handling, Pi, Manager, and CLI out of scope

Verification

  • real same-binary subprocess echo with binary and 1 MiB payloads
  • blocked Send and blocked Receive cleanup; early child exit; oversized frame; repeated start failure fd audit
  • go test -race ./internal/background -run TestRoleProcess -count=20
  • go test -race ./internal/background -count=2
  • mutation proofs for ExtraFiles order, parent duplicate response-end closure, close-on-exec, and Kill-before-request-close ordering
  • npm run verify
  • go build ./...
  • Windows compile-only background package test
  • independent Pi Worker Standards and Spec reviews; findings resolved or disproved with subprocess regressions

Closes #199

Parent: #177

@arasovic
arasovic merged commit df0e624 into main Sep 6, 2026
23 checks passed
@arasovic
arasovic deleted the run/issue-199 branch September 6, 2026 22:01
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.

Add the hidden same-binary role process pipe boundary

1 participant