# Release Readiness

Date: 2026-07-15

Status: PARTIAL - runtime environment now executes, but backend behavioral coverage is incomplete.

No new product features were added in Phase 7. The game outcome rules are unchanged. Win rates, protected Made in Heaven behavior, replacement semantics, history semantics, moderation semantics, final snapshot format, export contents, and AirBridge payload purpose are unchanged. AirBridge remains discovery only.

## Runtime Evidence

| Item | Status | Evidence |
|---|---|---|
| Docker installed | PASS | `docker --version` returned Docker 29.6.1. |
| Docker Compose installed | PASS | `docker compose version` returned v5.3.0. |
| Local PHP available | PARTIAL | `php -v` returned PHP 8.5.8. Required runtime target remains PHP 8.3 inside Docker. |
| Composer local install | BLOCKED | `composer --version` was not found locally; Docker image includes Composer 2. |
| PHP 8.3 Docker image | PASS | `docker compose` built and ran PHP 8.3.32 with Apache, Composer, GD/WebP, PDO MySQL, and Redis extension. |
| MySQL 8 runtime | PASS | MySQL 8.0 container healthy; migrations `001` through `006` applied successfully to a clean database. |
| Redis runtime | PASS | Redis container healthy; PHP `/api/v1/health/redis` returns ok. |
| Node ws realtime runtime | PASS | Realtime gateway container healthy; PHP can reach `http://realtime:8787/health`. |
| Composer validation/install | PASS | `composer validate --strict` and `composer install --no-interaction --prefer-dist` pass in Docker PHP. |
| PHP lint | PASS | `composer lint` passes in Docker PHP 8.3. |
| PHP static analysis | PASS | `composer analyse` passes with PHPStan level 5. |
| PHPUnit execution | PARTIAL | PHPUnit runs under PHP 8.3.32, but 23 of 27 tests are skipped placeholder runtime specs. |
| Real HTTP health endpoints | PASS | `/health`, database, Redis, and realtime health checks pass through Docker runtime. |
| Real image pipeline fixture | PASS | Admin upload of a generated PNG fixture decodes, re-encodes to WebP, hashes, and returns an asset record. |
| Playwright availability/smoke | PASS | `npx playwright --version` reports 1.61.1; screenshot smoke against `/health` succeeded. |
| Dependency audits | PASS | `npm audit --audit-level=high` and `composer audit` report no vulnerabilities/advisories. |

## Acceptance Criteria Summary

| Area | Status | Notes |
|---|---|---|
| PWA and MV3 shared frontend | PASS | Existing Phase 0-6 tests pass locally. |
| Server-authoritative spins | PARTIAL | JS/statistical tests pass; PHP runtime specs still mostly skipped. |
| Replacement workflow | PARTIAL | Behavioral JS/static checks pass; real concurrent MySQL/Redis commit tests remain missing. |
| History append-only behavior | PASS | Phase 5 Node tests verify append-only modeling. |
| AirBridge discovery only | PASS | Phase 6 tests verify discovery-only payload and no mutation/admin grants. |
| Security hardening | PARTIAL | Headers/config/scripts added; runtime scan and HTTP verification pending. |
| Accessibility | PARTIAL | Review checklist created; browser/device audit pending. |
| Load and realtime resilience | PARTIAL | In-memory/realtime JS tests pass; Docker/network chaos tests pending. |
| Deployment/rollback docs | PARTIAL | Guides created; production dry run pending. |

## Critical Release Blockers

- Replace skipped PHPUnit placeholder specs with executable runtime tests for spin, replacement, Phase 5, and AirBridge join workflows.
- Run actual Redis/outbox/realtime integration checks.
- Run concurrent replacement commits with MySQL transactions and Redis locking.
- Run a full image pipeline fixture matrix, not only the successful PNG/WebP path.
- Run Playwright smoke checks against PWA, admin, history, and extension-compatible shell, not only `/health`.
- Run production HTTPS/HSTS validation.

## Commands To Complete Runtime Verification

```sh
docker compose up --build -d
docker compose exec php composer validate --strict
docker compose exec php composer install --no-interaction --prefer-dist
docker compose exec php composer lint
docker compose exec php composer analyse
docker compose exec php vendor/bin/phpunit
docker compose exec php sh scripts/migrate.sh
docker compose exec php sh scripts/runtime-verify.sh
npm run ci:local
npx playwright --version
```
