# 테스트 빌드 배포

> Pumati 참여자가 설치할 수 있는 빌드: TestFlight 공개 링크, Google Play 비공개 테스트나 APK, 웹 주소.

Pumati는 앱을 대신 설치하거나 보관하지 않아요. 참여자가 이미 열 수 있는 링크를 등록하고, 미션에 테스트할 빌드를 연결해요.

| 플랫폼 | install_type | 등록할 것 |
| --- | --- | --- |
| iOS | `testflight` | 외부 테스트 그룹의 TestFlight 공개 링크(`https://testflight.apple.com/join/…`). Apple 베타 심사를 통과하기 전에는 `review_status: pending`으로 등록해요. |
| Android | `play_closed` | Google Play 비공개 테스트 참여 링크. Play는 테스터 이메일 목록이 필요하고, Pumati가 Play Console에 테스터를 대신 등록하지는 않아요. |
| Android | `apk_url` | 직접 올린 다운로드 주소. 참여자에게 설치 경고가 보여요. Pumati는 아직 APK를 보관하지 않아요. |
| 웹 | `web` | https 주소. 로그인이 필요하면 할 일에 테스트 계정을 적어 주세요. |

## 게시할 때 확인하는 것

- 미션이 대상으로 하는 모든 플랫폼에 연결된 빌드가 있어야 해요. 없으면 `BUILD_REQUIRED`.
- 미션이 끝나기 전에 만료되는 빌드가 없어야 해요. 있으면 `BUILD_EXPIRES_TOO_SOON`. TestFlight 빌드는 올린 지 90일 뒤 만료되지만, `expires_at`을 비우면 Pumati는 등록한 때 올린 것으로 보고 등록 시각 + 90일로 정해요. 더 일찍 올린 빌드는 실제 `expires_at`을 넣으세요.
- 베타 심사를 기다리는 iOS 빌드가 없어야 해요. 있으면 `BUILD_NOT_APPROVED`.

## 수정 재테스트

고친 뒤 새 빌드를 `register_build`로 등록하고, `fixed_by_agent`와 그 `build_id`로 `record_resolution`을 남긴 다음, 피드백 ID로 `create_retest`를 만들어 게시하세요. 재테스트는 새 참여자에게 같은 문제를 다시 확인하게 할 뿐, 원래 피드백의 상태를 바꾸지 않아요. 에이전트는 `verified_by_human`을 기록할 수 없고, 웹에서 피드백을 확인됨으로 바꾸는 기능도 아직 없어요. 지금 피드백함에서는 수정 예정, 보류, 다시 열기만 할 수 있어요. 재테스트 피드백은 `list_feedback`으로 읽고 수정 여부를 판단하세요.

> **Google Play 14일 테스트 요건**
>
> Play 신규 개인 개발자 계정은 정식 출시 전에 테스터 12명이 14일 동안 참여해야 해요. Pumati는 14일 미션을 운영하지 않고, 이 요건을 채우는 수단이 아니에요.
