# V2 Hotfix Testing Pipeline

This runbook covers `TODOS.phase-72.72.12.2.9`: a hotfix testing pipeline where
automated regression tests run on each hotfix before deployment.

The implementation lives in `@v2/hotfix-testing-pipeline-service` at
`apps/v2/hotfix-testing-pipeline-service/`. Its contract is
`V2/ue/Content/V2/LiveOps/HotfixTestingPipeline_V2_Contract.json` and the
validation gate is `V2/ue/Tools/check-v2-hotfix-testing-pipeline.py`.

## Regression Suites

Required regression tests cover:

- `balance-regression`
- `exploit-regression`
- `data-integrity`
- `smoke`

Each test definition includes `testId`, `regressionKind`, `required`, `command`,
`timeoutSeconds`, and `coverageTags`. Required tests must stay required because
the deployment gate blocks when a required regression is missing, blocked, or
failed.

## Deployment Gate

`buildV2HotfixTestingPipelineSurface` publishes the hotfix candidates, required
regression tests, raw regression results, and per-hotfix deployment gates.
`evaluateV2HotfixTestingGate` evaluates a single hotfix and returns
`deploymentApproved` only when every required regression test has passed before
deployment.

Primary APIs:

- `buildV2HotfixTestingPipelineSurface`
- `evaluateV2HotfixTestingGate`

Service endpoints:

- `POST /v2/live-ops/hotfixes/{hotfixId}/testing/run`
- `GET /v2/live-ops/hotfixes/{hotfixId}/testing/results`
- `POST /v2/live-ops/hotfixes/{hotfixId}/testing/approve-deployment`

## Operator Flow

1. Register a hotfix candidate after the signed data-only manifest is ready.
2. Run the required automated regression tests for balance, exploit, data
   integrity, and smoke coverage.
3. Submit result evidence URIs for every required regression test.
4. Approve deployment only through `evaluateV2HotfixTestingGate`.
5. Block deployment on any missing, blocked, or failed required regression
   result.

## Gates

- `hotfix-testing-pipeline-package`
- `hotfix-testing-pipeline-automated-regression`
- `hotfix-testing-pipeline-before-deployment`
- `hotfix-testing-pipeline-deployment-gate`
- `hotfix-testing-pipeline-blocks-failure`
- `hotfix-testing-pipeline-validation`
- `hotfix-testing-pipeline-ci-wired`

## Verification

```sh
pnpm --filter @v2/hotfix-testing-pipeline-service test
pnpm --filter @v2/hotfix-testing-pipeline-service typecheck
pnpm --filter @v2/hotfix-testing-pipeline-service lint
pnpm --filter @v2/hotfix-testing-pipeline-service build
python3 V2/ue/Tools/check-v2-hotfix-testing-pipeline.py
```
