Skip to content

Execute bounded plans through one recipe runtime#1928

Merged
chubes4 merged 6 commits into
mainfrom
fix/1923-bounded-recipe-plan
Jul 21, 2026
Merged

Execute bounded plans through one recipe runtime#1928
chubes4 merged 6 commits into
mainfrom
fix/1923-bounded-recipe-plan

Conversation

@chubes4

@chubes4 chubes4 commented Jul 21, 2026

Copy link
Copy Markdown
Collaborator

Summary

Execute a generic bounded command plan through one prepared WP Codebox recipe workspace, runtime, and service lifecycle.

What changed

  • Add the public executeBoundedRecipePlan() Node API and wp-codebox.bounded-runtime-plan recipe command.
  • Give each entry isolated environment, process identity, artifact namespace, timeout signal, outputs, duration, and stable result ordering.
  • Make concurrent Playground commands use execution-local abort signals and namespaced PHPUnit diagnostics.
  • Derive runtime policy from nested plan commands and redact persisted bounded-plan arguments.
  • Upgrade the disposable MariaDB integration to run two real PHPUnit processes against one shared service with distinct database indexes.

How to test

  1. Run npm ci; expect dependencies to install successfully.
  2. Run npm run build; expect all TypeScript packages to build.
  3. Run npm run test:bounded-runtime-plan; expect scheduler, timeout, fail-fast, and lifecycle assertions to pass.
  4. Run npm run test:bounded-recipe-plan; expect public recipe-plan adapter assertions to pass.
  5. Run npm run test:bounded-recipe-plan-integration; expect two commands to execute through one real Playground lifecycle.
  6. Run npm run test:public-api-contract; expect the documented package exports and command contract to pass.
  7. On a Docker-capable host, run npm run test:disposable-mysql-mysqli-e2e; expect two real PHPUnit processes to share one MariaDB service while using distinct TC_DB_INDEX values.

Compatibility

Additive API and recipe-command surface. Existing single-recipe behavior and extension paths are unchanged.

Evidence

AI assistance

  • AI assistance: Yes
  • Tool(s): OpenCode
  • Model: openai/gpt-5.6-sol
  • Used for: Implemented and tested the change; Chris reviews and owns it.

Closes #1923

@chubes4
chubes4 merged commit 795028f into main Jul 21, 2026
4 checks passed
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.

Execute bounded plans through one workspace recipe lifecycle

1 participant