docs: record 1.2.0 and the state of the published 1.1.0
Some checks failed
deploy-site / deploy (push) Failing after 54s
release / release-windows (push) Failing after 2m56s

The changelog still described unreleased work under 1.1.0, which was already
published with its own notes. Those notes are restored verbatim for history,
and the new work has its own 1.2.0 section that the feed publisher will turn
into release notes.

The release guide, infrastructure map, and mobile SSOT now carry the 1.2.0
identity, state that installer binaries are distributed through the feed and
never committed, and record that the published 1.1.0 installer is unsigned and
is being superseded rather than rewritten. Backlog entries cover the remaining
external signing and token secrets.
This commit is contained in:
Yun Chan 2026-09-16 23:50:01 +09:00
parent 035d0a76f5
commit 359b244dc9
10 changed files with 77 additions and 58 deletions

View file

@ -1,6 +1,6 @@
# Google Play 출시 체크리스트
기준일: 2026-08-29. 체크 표시는 이 문서를 읽은 사람이 실제 증거를 확인한 뒤에만 바꾼다. 소스 검사, debug/E2E APK, HTTP 200 하나만으로 release GREEN을 선언하지 않는다.
기준일: 2026-09-16. 체크 표시는 이 문서를 읽은 사람이 실제 증거를 확인한 뒤에만 바꾼다. 소스 검사, debug/E2E APK, HTTP 200 하나만으로 release GREEN을 선언하지 않는다.
### 2026-08-29 Play Console live 스냅샷
@ -8,7 +8,7 @@
| ------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------- |
| 앱 | `D3RO Voice`, package `com.d3ro.voice`, app ID `4976102237698469110` | 생성 완료 |
| Console 상태 | `임시`; 첫 AAB 업로드 0건, 설정 0/11 | 제출 불가 |
| release identity | versionName `1.1.0`, Android versionCode `1010001` | 소스 SSOT에서 확정; AAB 증거는 아직 없음 |
| release identity | versionName `1.2.0`, Android versionCode `1020001` | 소스 SSOT에서 확정; AAB 증거는 아직 없음 |
| Play app-signing SHA-256 | `01:00:19:21:DB:4F:33:40:85:CE:21:E4:B8:DE:CC:BD:71:DA:87:67:C5:6E:3B:59:83:2A:A1:C8:29:EA:0D:AB` | Console 실확인 |
| upload key | 외부 PKCS12·user-only ACL·Credential Manager·private-key readback GREEN; cert SHA-256 `4F:AC:69:24:82:1C:50:DA:AB:ED:76:49:32:A5:3C:48:6F:8C:6C:5F:34:B9:F1:8D:B9:20:AA:40:99:15:2B:54` | local key 준비. Console 표시·AAB signer 대조는 첫 AAB 후 |
| release evidence | Ed25519 keypair roundtrip GREEN; public key·keyId `2797d3e63affd2348941bc2871b57e520c958f7f5da1a4bbe8aa46904a890b7f` SSOT | CI private-key secret·복구 백업 미완료 |
@ -125,7 +125,7 @@
- [x] package는 `com.d3ro.voice`: `apps/mobile-rn/android/app/build.gradle:289-302`.
- [x] release cleartext traffic은 false이고 release ABI는 arm64-v8a: `build.gradle:372-386`.
- [x] release gate는 keystore, version, Firebase config, production AdMob app/banner/rewarded ID를 요구한다: `build.gradle:45-103,157-219`.
- [x] release identity를 `D3RO_VERSION_NAME=1.1.0`, `D3RO_VERSION_CODE=1010001`로 확정했다.
- [x] release identity를 `D3RO_VERSION_NAME=1.2.0`, `D3RO_VERSION_CODE=1020001`로 확정했다.
- [x] Ed25519 release-evidence keypair을 생성하고 private key를 저장소 밖 user-only ACL 경로에, public key를 `release/mobile-release-evidence-public.pem`에 보존했다. keyId `2797d3e63affd2348941bc2871b57e520c958f7f5da1a4bbe8aa46904a890b7f`, sign/verify roundtrip GREEN이다.
- [ ] upload/evidence private key·Firebase·AdMob secrets를 승인된 CI secret store에 주입하고 별도 복구 백업을 검증했다.
@ -299,7 +299,7 @@ AdMob 콘솔 준비를 실제 광고 게재 승인·수입·Play release 완료
## 13. Production 제출·점진 배포
- [ ] internal/closed에서 검증한 **동일 AAB SHA** 또는 정당한 수정 후 새로 전부 검증한 AAB를 사용했다.
- [x] versionCode `1010001`용 release notes ko/en을 작성했다: `apps/mobile-rn/metadata/android/{ko-KR,en-US}/changelogs/1010001.txt`.
- [x] versionCode `1020001`용 release notes ko/en을 작성했다: `apps/mobile-rn/metadata/android/{ko-KR,en-US}/changelogs/1020001.txt`.
- [ ] country/region과 가격·세금·정책 적용 범위를 검토했다.
- [ ] device catalog 제외가 기능/SDK 사실에 근거하며 불필요하게 넓지 않다.
- [ ] 모든 Console warning과 policy declaration을 검토했다.
@ -331,7 +331,7 @@ AdMob 콘솔 준비를 실제 광고 게재 승인·수입·Play release 완료
| Placeholder | 실제 값 소유 위치 | 완료 조건 |
| -------------------------------------------- | ---------------------------- | ------------------------------------------------------- |
| `<PLACEHOLDER_RELEASE_COMMIT_SHA>` | Git remote/CI | 권위 있는 release source SHA |
| versionName `1.1.0` / versionCode `1010001` | release SSOT | 확정. 실제 AAB·Console metadata 대조는 대기 |
| versionName `1.2.0` / versionCode `1020001` | release SSOT | 확정. 실제 AAB·Console metadata 대조는 대기 |
| `<PLACEHOLDER_RELEASE_AAB_SHA256>` | restricted artifact/evidence | 실제 production AAB hash |
| upload SHA-256 `4F:AC:69:24:...:15:2B:54` | external key/Play Console | local 값 확정. AAB signer·Console 표시와 일치 대기 |
| evidence keyId `2797d3e6...4a890b7f` | release identity/CI secret | public·roundtrip 확인. private CI secret·복구 백업 대기 |