# Launch Governance Audit — PG-21 / PG-23

**Audit date:** 2026-08-19
**Product:** International Press Zone
**Company/service:** Press.Zone
**Scope authority:** `FIRST-CUSTOMER-SCOPE.md`
**Baseline inspected:** fresh worktree from `origin/master` (HEAD at audit: `feffca5bd8c00949b264a60adffaa0ab5afe8218` before this governance commit)

This audit records the repository-controlled customer claims reconciled by the launch-governance lane and the exact handoffs that could not be edited because another active runtime lane owns the relevant seam.

## PG-21 — optional-promise reconciliation

The first-customer claim state is exactly the matrix in `FIRST-CUSTOMER-SCOPE.md`. Source-code existence is not evidence that a deferred feature is customer-supported.

### Supported claims retained

Repository copy may continue to describe these supported capabilities, subject to release-candidate evidence required by the scope matrix:

- ZIP installation/activation and authenticated plugin updates;
- language add/edit/enable/disable/default;
- post translation;
- string scan/edit/translation;
- real synchronous AI translation;
- async/bulk translation and cancellation;
- translation settings/exceptions.

### Conditional claims made explicitly conditional

- Page translation — only when the page-fidelity lane is green for the release candidate.
- Frontend localized URLs / language switcher — only when the site-entry/routing lane is green for the release candidate/customer stack.
- Connect/social account connection — only when current Connect E2E proves the backend-issued site credential flow without browser credential exposure.
- Manual-translation overwrite protection — only after the manual-protection lane lands and passes.
- ACF/Yoast behavior — only under the integration-specific conditions in `FIRST-CUSTOMER-SCOPE.md`.

`README.md` and `readme.txt` were adjusted where page/routing/Connect copy previously read as unconditional.

### Deferred claims removed from tracked static marketing/user-guide promises

Tracked marketing and user-guide material no longer presents these as first-customer production capability: WPML migration/interoperability; Site Content block templates/navigation/synced patterns; team workflow/assignment/reviewer roles or team analytics; translation memory/glossary; WooCommerce-specific/multi-currency behavior; Elementor; Rank Math; automatic/continuous translation on publish; multisite; broad theme/plugin compatibility; or formal performance/scalability targets.

The tracked marketing case studies were replaced with publication holds because their prior customer stories, migration results, performance figures, pricing, SLA and testimonial material were not backed by launch evidence. The landing page, pitch notes and release announcement were reduced to scope-safe first-customer copy.

### Commercial claims

No repository-controlled launch copy is permitted to invent package names, prices, trials, package limits, support levels, response times or SLAs. The plugin may render a real backend-supplied catalog only when that catalog is actually available and accepted; repository examples/tests are not production catalog evidence.

## PG-21 runtime handoffs — do not race active lanes

These customer-facing runtime discrepancies keep PG-21 from being marked fully complete until the owning lane resolves or deliberately gates them.

### H-PG21-01 — deferred WPML migration is exposed in navigation

**Owner handoff:** site-entry/routing/admin runtime owner. **Do not edit from governance lane.**

Current `origin/master` evidence:

- `admin/src/main.js:109` exposes `Migration` in the primary SPA navigation.
- `includes/Admin/MenuController.php:112` exposes the Migration submenu.
- `admin/src/pages/migration.js:44-45` labels a `WPML Migration Wizard` and promises to migrate content from WPML “seamlessly”.
- `admin/src/pages/migration.js:242` says the process copies WPML languages/translations/string translations.

`FIRST-CUSTOMER-SCOPE.md` classifies WPML migration as **DEFERRED**. For first-customer release, the runtime surface must be hidden/gated/not represented as supported unless a dedicated customer requirement and acceptance run deliberately promotes it.

### H-PG21-02 — deferred team/workflow/assignment surfaces are exposed

**Owner handoff:** site-entry/routing/admin runtime owner. **Do not edit from governance lane.**

Current `admin/src/main.js:110-112` exposes `Team`, `Workflow`, and `My Assignments` in primary navigation. Team workflow/assignment/reviewer roles are **DEFERRED** in `FIRST-CUSTOMER-SCOPE.md`. These entries must be hidden/gated/deferred for first-customer runtime unless scope is deliberately promoted with evidence.

### H-PG21-03 — automatic translation is presented as a settings option

**Owner handoff:** settings/account E2E/runtime owner. **Do not edit from governance lane.**

Current `admin/src/pages/settings.js:294-295` renders `Auto-translate on Publish` with helper text `Automatically translate content when publishing`.

Automatic/continuous translation on publish is not part of the first-customer promise. The owning lane must hide/gate/defer this option or supply the release evidence and scope promotion needed to support it.

## PG-23 — identity/package/admin/web/support audit

### Verified consistent repository identity

- Plugin header name: **International Press Zone**.
- Author/company brand: **Press.Zone**.
- Plugin slug/text domain: `international-press-zone`.
- Plugin header version: `0.9.67`.
- `IPZ_VERSION`: `0.9.67`.
- Distribution manifest slug: `international-press-zone`.
- Distribution archive convention: `international-press-zone-<version>.zip`.
- Composer package: `presszone/international-press-zone`.
- README/readme current product identity: International Press Zone.
- Legal drafts use International Press Zone / Press.Zone rather than reviving the historical product name.

The plugin header, README/readme and Composer requirements are aligned at WordPress 6.0+ / PHP 8.0+ as currently declared; final tested-matrix certification remains a separate go-live gate.

### H-PG23-01 — admin company brand omits the canonical dot

**Owner handoff:** active admin runtime owner. **Do not edit from governance lane.**

`admin/src/components/AppFrame.js:56` renders `Press Zone`. The canonical company/service brand is `Press.Zone`. Change this visible eyebrow to `Press.Zone` when the owning runtime lane lands.

### H-PG23-02 — WordPress top-level menu does not use the canonical product name

**Owner handoff:** site-entry/routing/admin runtime owner. **Do not edit from governance lane.**

`includes/Admin/MenuController.php:95-97` uses `International` for both page/menu title. The canonical product identity is `International Press Zone`. The owning lane must confirm whether a deliberately abbreviated menu label is acceptable; if product identity is expected there, use the canonical product name. Do not silently reinterpret `International` as a second product identity.


### H-PG23-05 — deferred Team role still uses the retired MPZ label

**Owner handoff:** Team/workflow runtime owner. **Do not edit from governance lane.**

`includes/Team/RoleDefinitions.php:87` exposes the role display name `MPZ Administrator`. Team workflow is already DEFERRED for the first customer, so the first-release fix is to keep the Team surface gated; before any later promotion, rename visible role labels to the canonical International Press Zone identity and verify migration/backward-compatibility implications rather than changing stored role keys blindly.

### H-PG23-03 — canonical public product URL is not live

The plugin header and repository contract consistently expose `https://press.zone/international`. Live check on 2026-08-19 redirected to `https://www.press.zone/international` and returned HTTP 404.

**Owner handoff:** Press.Zone website/product owner. Publish the canonical product page or deliberately revise the canonical URL contract across plugin header/readme/docs. Do not invent an alternate URL in this repository.

### H-PG23-04 — license URL is also not live

The plugin header and `readme.txt` expose `https://press.zone/license`. Live check on 2026-08-19 redirected to `https://www.press.zone/license` and returned HTTP 404.

**Owner handoff:** Press.Zone legal/website owner. Publish the approved license destination or deliberately replace the canonical license URL after legal/business approval. Do not substitute an unapproved legal URL.

### Support contact verification

The repository does not contain an authoritative generic support address that can safely be promoted into the first-customer contract. `README.md`/`readme.txt` correctly defer to the support channel supplied with the actual Press.Zone account/commercial agreement.

`FIRST-CUSTOMER-SUPPORT.md` therefore requires the real customer-specific contact route and named intake owner to be recorded before activation. It explicitly forbids inventing a support email, phone number, response time or SLA.

### Commercial catalog verification

The canonical `press-zone-core` repository models package/tier catalog rows dynamically. Its current Connect packages implementation is database-driven; repository test fixtures such as `pro`, `enterprise`, `Starter` or `Pro` are not production catalog evidence.

A live unauthenticated check of `https://api.press.zone/api/packages` on 2026-08-19 returned HTTP 404 from an Express surface, so the governance lane cannot verify a production International Press Zone catalog from the current public API. The plugin onboarding code fetches package data rather than hard-coding first-customer package names. No catalog label, price, trial, seat limit or entitlement is promoted by this audit.

Commercial catalog/Stripe acceptance remains external and is explicitly `WAITING_EXTERNAL` in `FIRST-CUSTOMER-ACCEPTANCE.md` until real backend/catalog/Stripe evidence exists.

## Completion interpretation

- **PG-21 governance/static-doc work:** complete; tracked customer-facing static claims are reconciled. PG-21 itself remains not-ready until H-PG21-01..03 are resolved/gated by runtime owners.
- **PG-23 governance/static identity audit:** complete; package identity is coherent, but PG-23 itself remains not-ready until visible admin-brand/external URL handoffs are resolved/accepted and the real commercial catalog/support route are available where required.
- **PG-43:** definition complete in `FIRST-CUSTOMER-ACCEPTANCE.md`; execution belongs to PG-44/final release evidence.
- **PG-45:** definition complete in `FIRST-CUSTOMER-SUPPORT.md`; named people/contact route/known-good artifact are bound in the actual customer acceptance record before activation.
