Skip to content

feat: forge launch with composable middleware chains#82

Merged
N4M3Z merged 1 commit into
mainfrom
p5-launch
Jul 9, 2026
Merged

feat: forge launch with composable middleware chains#82
N4M3Z merged 1 commit into
mainfrom
p5-launch

Conversation

@N4M3Z

@N4M3Z N4M3Z commented Jul 9, 2026

Copy link
Copy Markdown
Owner

Native forge launch <tool> --with a,b,c composing the child environment via middleware (pxpipe/otel/presidio/squid/docker/tmux + external forge-launch-mw-* scripts). Adversarially reviewed (agy/Gemini 3.1 Pro): 5 findings fixed + tested — empty-arg shift, wrappers dropping composed env, external-middleware OOM/LD_PRELOAD hijack, silent base_url override, unsplit pxpipe command. CLI-0018.

  • fmt / clippy -D warnings / test (15 launch tests)

🤖 Generated with Claude Code

Port the shell forge launch wrapper to a native subcommand and generalize it
to a middleware chain: forge launch a tool with --with a,b,c composes the child
environment. Built-in middleware pxpipe/otel/presidio/squid/docker/tmux each
contribute env, a base-url, a command wrap, or a pre-step; conflicts warn and
last-wins. Unknown middleware resolve to external forge-launch-mw-name scripts
(same dispatch as external verbs), so new middleware need no Rust change.
--dry-run prints the resolved plan; env is scoped to the child only. CLI-0018.
@N4M3Z N4M3Z merged commit d05734b into main Jul 9, 2026
2 of 4 checks passed
@N4M3Z N4M3Z deleted the p5-launch branch July 9, 2026 21:05
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