# Compatibility qualification preparation

Status: READY — PARALLEL-SAFE PREPARATION; FINAL RERUN AFTER FEATURE FREEZE

## Purpose

Advance PG-38..PG-42 without invalidating or duplicating active feature work. This lane defines the supported compatibility matrix, builds/reuses isolated fixtures, and finds compatibility defects early. The final release-candidate rerun remains owned by `2026-08-19-final-rc-certification.md` after all feature changes land.

## Ownership boundary

This lane may add compatibility-specific docs/tests/fixture automation in new isolated paths. It must not modify:

- active Worker E2E harness (`remote-stack.sh`, real translation/Connect specs);
- Page fidelity production code;
- ACF/Yoast production code owned by reconciliation lane;
- site-entry/robots/sitemap production code;
- manual-protection production code;
- settings/account remediation code.

If testing reveals a defect in an owned feature area, create a minimal reproducible failing test/receipt and hand it to that owner; do not race their implementation.

## Tasks

### CQ-01 — PG-38 matrix declaration

Define `docs/launch/COMPATIBILITY-MATRIX.md` with:

- WordPress versions actually intended for first release;
- PHP versions actually intended;
- MySQL/MariaDB variants realistically supported;
- browser minimums relevant to wp-admin/frontend acceptance;
- explicit “tested” versus merely “minimum runtime accepted” distinction.

Current code declares WordPress >=6.0 and PHP >=8.0; do not change those claims without evidence and owner decision. Update `Tested up to` only from an actual tested WordPress release.

### CQ-02 — Reusable fixture strategy

Use existing sanctioned remote WordPress/browser infrastructure where possible, but add compatibility-specific orchestration in a separate path so it does not modify the concurrent Worker E2E harness. Pin fixture identities and record WP/PHP/database/theme/plugin versions.

### CQ-03 — PG-39 ACF installed/absent smoke

On current master, establish reproducible smoke coverage for:

- plugin activation/admin with ACF absent;
- ACF installed+active;
- translation UI/REST does not fatal in either state;
- integration appears only when applicable.

Do not claim final PG-39 until the active ACF/Yoast reconciliation lane has landed and final-RC rerun passes.

### CQ-04 — PG-40 Yoast installed/absent smoke

Same pattern for Yoast:

- absent -> clean activation/admin/frontend SEO;
- installed+active -> clean activation/admin/frontend SEO;
- no phantom integration surface when absent.

Do not modify Yoast production logic in this lane.

### CQ-05 — PG-41 first-customer theme/block stack

Discover the actual waiting customer's theme/block-editor stack from available staging/site inventory if access already exists. Record exact theme and relevant plugins/blocks. If no authorized staging access is available, produce the inventory command/checklist and leave the exact stack as an explicit input rather than guessing.

Prepare acceptance cases for front page, normal Page, post, menu/navigation, relevant templates/blocks, permalink/cache refresh, and RTL only if the customer requires RTL.

### CQ-06 — PG-42 dedicated customer fixture

Create the fixture definition/recipe needed to reproduce the customer's exact WP/PHP/theme/plugin combination. Run non-destructive smoke where possible. Final PG-42 requires the post-feature-freeze RC and therefore is completed by final certification, not here.

### CQ-07 — Handoff

Publish:

- declared matrix;
- fixture recipe/scripts;
- provisional test receipts;
- discovered compatibility defects/handoffs;
- exact final reruns required after feature freeze.

## Definition of done

Compatibility is no longer an undefined future task: the matrix and customer fixture are explicit and reusable, ACF/Yoast absent/present behavior has early smoke evidence, and final-RC rerun instructions are deterministic without racing active feature owners.
