Skip to content

feat: add transactional spawn providers - #52

Open
passcod wants to merge 22 commits into
feat/command-facadefrom
feat/spawn-providers
Open

feat: add transactional spawn providers#52
passcod wants to merge 22 commits into
feat/command-facadefrom
feat/spawn-providers

Conversation

@passcod

@passcod passcod commented Aug 24, 2026

Copy link
Copy Markdown
Member

🤖 Adds the alternate-spawn lifecycle shared by blocking and Tokio commands and migrates built-in process setup onto per-attempt policy.

  • lets one registered wrapper expose a spawn provider while preserving wrapper registration order
  • validates provider availability, immutable command state, and completed attempt state before allocation
  • keeps provider cleanup armed through post-spawn hooks and child wrapping, with best-effort rollback on errors and panics
  • runs capability-level post-spawn hooks for native, provider, and custom boxed children
  • exposes lossless portable argument kinds and environment-inheritance state to providers
  • models reusable Unix process-group, session, and signal-mask setup without making portable attempts opaque
  • models Windows creation flags, temporary suspension, JobObject assignment, exact resume capabilities, and descendant cleanup
  • preserves explicit native transport paths while rejecting attempts to bypass a registered provider
  • defines Unix explicit-replacement ordering and ownership, and documents the callback cost of recurring native escapes
  • documents provider, hook, child-capability, and transaction ownership contracts

This pull request is stacked on #51. The Unix PTY provider will consume this lifecycle in the next stack layer.

🤖 Generated with Claude Code

passcod and others added 19 commits August 25, 2026 06:16
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
passcod and others added 3 commits August 26, 2026 00:41
Forward-integrate the command-facade correction without rewriting the
published provider history.

Co-Authored-By: Claude <noreply@anthropic.com>
Forward-integrate the command-facade lockfile correction without rewriting
the published provider history.

Co-Authored-By: Claude <noreply@anthropic.com>
Forward-integrate the command-facade documentation correction without
rewriting the published provider history.

Co-Authored-By: Claude <noreply@anthropic.com>
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