Add WordPress adversarial Playground adapter#2028
Merged
Merged
Conversation
This was referenced Jul 24, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
runtime-playgroundwithout changingruntime-coreRefs #2017
Issue: #2017
Architecture and layering
packages/runtime-playground/src/wordpress-adversarial-adapter.ts.packages/runtime-corehas no diff. The adapter consumes the merged generic campaign, oracle, transport-fault, clock, episode, artifact, and recipe contracts.WP_REST_Request/rest_do_request(), block APIs,do_shortcode(), serialization helpers, options/meta APIs, cron APIs, role/user APIs, multisite membership APIs,pre_http_request, existing WP-CLI execution, checkpoints, and existing artifact sealing/redaction.Fidelity matrix
pre_http_requestsubstitutionFixtures and findings
3730994076f0fd524accf26ca34dd479e0d2ff1d439449fd4dc3cce8156f3462in separate campaign bundles.720badbd511eb07733153384f2b101ffe45549b88aa1c04586587c2a026531b0; 9 redactions were applied.918ef9ac05b2a607b22c7664d4185153b5cd390dabde9797d55935305234aece.runtime-mrzekjrm-fc0i5oendeddestroyed; replay runtimeruntime-mrzep43q-sc8t34also endeddestroyed.status: findingsandadversarial-replay-completed, reproducing the minimized authorization case in a fresh runtime.Verification
npm run buildpassed.npm run test:release-package-coveragepassed.npm run test:adversarial-runtimepassed: 14/14.npm run test:fuzz-run-recipepassed.npm run test:nested-fuzz-suite-recipe-commandpassed.npm run test:production-boundary-enforcementpassed.npm run test:runtime-contract-package-exportspassed.npm run test:public-api-contractpassed.npm run wp-codebox:source -- recipe validate --recipe examples/recipes/wordpress-adversarial-vulnerable.json --jsonpassed.npm run wp-codebox:source -- adversarial run --recipe examples/recipes/wordpress-adversarial-vulnerable.json --timeout 10m --json.npm run wp-codebox:source -- adversarial replay --recipe examples/recipes/wordpress-adversarial-vulnerable.json --replay <absolute-sealed-replay-path> --timeout 10m --json.npm run checkreaches the unchanged known command-registry-smoke fails on main: wordpress.collect-workload-result outputShape missing outputSchema id mention #1745 failure:wordpress.collect-workload-result outputShape should mention outputSchema id.scripts/command-registry-smoke.tshas identical SHA-256 on this branch andorigin/main:7ecfe041efbcadaa05040959860696639c7208b3cfc1c68c35780703f37d6b59.Compatibility
runtime-corechanges were needed.fuzzRunbehavior is unchanged.Residual scope
isolated-workers, so deterministic same-state concurrent campaign replay cannot be declared without failing validation. The fixture includes a true widened race, but this PR does not claim it is automatically discovered/replayed.Because these acceptance criteria remain open, this PR intentionally uses
Refs #2017rather than closing the issue.AI assistance