Skip to content

Run bounded PHPUnit plans in one disposable runtime#1922

Merged
chubes4 merged 2 commits into
mainfrom
fix/1920-bounded-phpunit-plans
Jul 21, 2026
Merged

Run bounded PHPUnit plans in one disposable runtime#1922
chubes4 merged 2 commits into
mainfrom
fix/1920-bounded-phpunit-plans

Conversation

@chubes4

@chubes4 chubes4 commented Jul 21, 2026

Copy link
Copy Markdown
Collaborator

Summary

Add a generic bounded execution plan that owns one runtime and service lifecycle for many isolated commands.

What changed

  • Add typed plan, entry, adapter, result, fail-fast, timeout, redaction, and selective-retry contracts.
  • Guarantee deterministic result ordering, bounded process admission, and disposal after service cleanup failures.
  • Extend the disposable MariaDB integration with two isolated PHPUnit-shaped entries sharing one allocation.

How to test

  1. Run npm ci; expect Dependencies install successfully..
  2. Run npm run test:bounded-runtime-plan; expect Deterministic scheduler and lifecycle assertions pass..
  3. Run npm run test:run-plan-executor; expect Existing run-plan executor assertions pass..
  4. Run npm run build; expect TypeScript packages build successfully..
  5. Run npm run test:disposable-mysql-mysqli-e2e; expect On a Docker-capable host, MySQL/MariaDB recipes and the shared bounded allocation pass..

Compatibility

Additive public API only; existing single PHPUnit recipes, schemas, and extension paths are unchanged.

Evidence

AI assistance

  • AI assistance: Yes
  • Tool(s): OpenCode
  • Model: openai/gpt-5.6-terra
  • Used for: Drafted implementation and tests; Chris reviews and owns the change.

Source relationships

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.

Run bounded PHPUnit plans in one disposable runtime

1 participant