2.4.1 릴리스 실행 기록¶
{
"schema": "release-metadata/v3",
"version": "v2.4.1",
"status": "released",
"releaseScopes": [
"mobile-store",
"docs"
],
"extraRepoRefs": [],
"versionMapping": {
"docs": {
"tag": "v2.4.1",
"commit": null
},
"coupler-api": {
"tag": null,
"commit": null
},
"coupler-admin-web": {
"tag": null,
"commit": null
},
"coupler-mobile-app": {
"store": {
"android": {
"versionBuild": "2.4.0 (102)",
"releaseTag": "v2.4.0",
"commit": "d1a96b01a9050d3f2708c371728b5d8986d42a3c",
"sourceStatus": "verified",
"limitation": null
},
"ios": {
"versionBuild": "2.4.1 (102)",
"releaseTag": null,
"commit": null,
"sourceStatus": "unavailable-historical",
"limitation": "출시 책임자가 App Store 2.4.1 (102)를 확인했지만 원본 xcarchive·ipa와 MARKETING_VERSION 2.4.1을 포함한 exact source를 로컬·Git 이력에서 복구하지 못해 source tag를 주장하지 않는다."
}
},
"nextPush": null,
"commit": null
}
},
"scopeResults": {
"mobile-store": {
"status": "released",
"summary": "Android Google Play 2.4.0 (102)와 iOS App Store 2.4.1 (102)의 서로 다른 실제 버전을 분리해 기록하고, iOS archive/source 부재를 태그 없이 닫았다.",
"evidence": {
"submission": "출시 책임자 확인 기준 Android 2.4.0 (102)와 iOS 2.4.1 (102)의 Store upload·심사 제출이 완료됐다. 원래 제출 시각과 binary hash는 보존되지 않았다.",
"approval": "Android는 제공된 Google Play Console 최신 프로덕션 102 (2.4.0) 화면으로 확인했고, iOS App Store 2.4.1 (102)는 출시 책임자 확인으로 고정했다.",
"release": "2026-08-04 21:15 KST Android Google Play 프로덕션 출시율 100%를 확인했다. iOS는 출시 책임자가 App Store 2.4.1 (102)를 확인했으며 같은 시점 Apple 공개 Lookup API는 2.3.0 (101)을 반환해 공개 전파 상태는 독립 확인 근거로 사용하지 않는다.",
"smoke": "Android는 Google Play Console의 게시되지 않은 변경사항 없음과 프로덕션 출시율 100%를 확인했고, iOS 2.4.1 (102)의 App Store 기본 확인은 출시 책임자 확인 기준으로 기록했다.",
"artifact": "Android source는 d1a96b01a9050d3f2708c371728b5d8986d42a3c이며 화면 증빙 SHA-256은 db3c362540332cb0dcb8a7a628a58b085b9692abf7f4a25e0fa0c6da429e9d97이다. iOS 원본 xcarchive·ipa·binary hash와 exact source는 보존되지 않아 iOS tag·commit을 만들지 않았다.",
"submittedMarkers": {
"android": {
"status": "unavailable-historical",
"tag": null,
"commit": null,
"artifactSha256": null,
"evidence": null,
"deletedEvidence": null,
"limitation": "원래 submission-time marker와 binary hash가 보존되지 않았다. tag object 3b34b67436665e8c902490450a666e089668f1c3는 출시 뒤 생성·삭제한 사후 marker이므로 정상 제출 증빙으로 계산하지 않는다."
},
"ios": {
"status": "unavailable-historical",
"tag": null,
"commit": null,
"artifactSha256": null,
"evidence": null,
"deletedEvidence": null,
"limitation": "iOS 2.4.1 (102)의 원래 submission-time marker, archive와 binary hash가 보존되지 않아 제출 source provenance를 주장하지 않는다."
}
}
}
},
"docs": {
"status": "released",
"summary": "플랫폼별 실제 Store 버전과 source provenance 경계를 신규 최종 기록으로 고정하고 병합 뒤 docs v2.4.1 태그를 생성한다.",
"evidence": {}
}
},
"apiContractCutover": null
}
문서 역할¶
- 역할:
시나리오 - 문서 종류:
flow - 충돌 시 우선 문서:
policy/release-process.md, 태그 기준은policy/release-tag-policy.md - 기준 성격:
as-is
목적¶
- Android Google Play
2.4.0 (102)와 iOS App Store2.4.1 (102)를 하나의 앱 버전으로 합치지 않고 platform별 실제 상태로 고정한다. - 이미 확정된 DB migration 전용
v2.4.0기록·태그·GitHub Release를 수정하지 않는다. - 확인할 수 없는 iOS archive/source를 추정 커밋이나 사후 태그로 꾸미지 않고 한계로 종결한다.
범위¶
- 대상:
docs,coupler-mobile-app - 포함 범위: Android
2.4.0 (102)·iOS2.4.1 (102)Store 결과, platform별 source 경계, docs 완료 기록 - 제외 범위: DB migration, contracts package, API·Admin 배포, Mobile NextPush, 기존 Mobile/docs 태그 이동
상위 규범 문서¶
릴리스 상태¶
- 목표 버전:
v2.4.1 - 전체 상태:
released - 완료 범위: Android
2.4.0 (102)와 iOS2.4.1 (102)Store 결과 및 source 한계 기록 v2.4.1은 실제 iOS App Store 버전과 일치하는 신규 docs 기록 번호이며 기존v2.4.0정정본이 아니다.
버전 매핑¶
docs: 태그v2.4.1, 커밋N/Acoupler-api: 태그N/A, 커밋N/Acoupler-admin-web: 태그N/A, 커밋N/Acoupler-mobile-app: Android Store2.4.0 (102), Android 릴리스 태그v2.4.0, Android 커밋d1a96b01a9050d3f2708c371728b5d8986d42a3c, Android sourceverified, iOS Store2.4.1 (102), iOS 릴리스 태그N/A, iOS 커밋N/A, iOS sourceunavailable-historical, NextPushN/A, NextPush 커밋N/A
릴리스 결과¶
- Android는 제공된 Google Play Console 화면에서 최신 프로덕션
102 (2.4.0), 출시율100%, 게시되지 않은 변경사항 없음으로 확인했다. - iOS App Store는 출시 책임자가
2.4.1 (102)로 확인했다. 원본 archive와 exact source가 남지 않아 iOSv2.4.1Mobile 태그는 만들지 않는다. - Mobile
v2.4.0태그 target은 Android2.4.0 (102)source와 일치한다. 태그 설명에 포함된 iOS 완료와 docsv2.4.0기준 문구는 이 기록의 iOS source 증빙으로 사용하지 않으며 기존 태그 ref는 이동하지 않는다. - Apple 공개 Lookup API는 2026-08-04 KST 조회에서 아직
2.3.0 (101)을 반환했다. 이를 근거로 출시 책임자의 App Store Connect 확인을 다른 버전으로 덮어쓰거나 공개 전파 완료를 독립 확인했다고 주장하지 않는다.
메인 흐름¶
- 기존 docs
v2.4.0을 DB migration 전용 불변 기록으로 유지했다. - Mobile
v2.4.0target에서 Android2.4.0 (102)metadata와 source commit을 확인했다. - iOS 실제 Store
2.4.1 (102)와 Git source2.4.0 (102)의 불일치를 분리했다. - 로컬 archive, fetched/ref·reflog·unreachable commit에서 iOS
2.4.1source를 탐색했으나 찾지 못했다. - Android는
verified, iOS는unavailable-historical로 기록하고 iOS tag·commit을 비워 두었다. - platform별 매핑과 한계를 신규 docs
v2.4.1최종 기록으로 고정했다.
검증 근거¶
- Android source: Mobile
v2.4.0tag targetd1a96b01a9050d3f2708c371728b5d8986d42a3c - Android metadata:
versionName 2.4.0,versionCode 102 - Android Store 화면: 2026-08-04 21:15 KST, SHA-256
db3c362540332cb0dcb8a7a628a58b085b9692abf7f4a25e0fa0c6da429e9d97 - iOS Store 상태: 출시 책임자 확인 기준 App Store
2.4.1 (102) - iOS source 탐색: Git ref·reflog·unreachable commit에
MARKETING_VERSION = 2.4.1없음, 로컬 Xcode Archives에2.4.1 (102)없음 - iOS 공개 조회 한계: Apple Lookup API는 2026-08-04 KST에
2.3.0 (101)반환 - 기존 Mobile tag:
v2.4.0, tag object47c803f44b59dead4564ae2ee0844072a0fe48fc, targetd1a96b01a9050d3f2708c371728b5d8986d42a3c
롤백 기준¶
- Android 문제는 Google Play rollout 중단 또는 더 높은 build의 hotfix 제출로 처리한다.
- iOS 문제는 App Store release 제어 또는 더 높은 build의 hotfix 제출로 처리한다.
- iOS
2.4.1 (102)의 source rollback 기준점은 복구되지 않았으므로 기존 Mobile 태그를 임의로 대용하지 않는다. - DB, API, Admin, NextPush와 기존
v2.4.0기록·태그는 이번 롤백 범위가 아니다.
후속 작업¶
- 다음 Store 제출부터 Android/iOS별 제출 시점 marker, archive·binary SHA-256, exact source commit을 승인 전에 보존한다. 이 항목은 이번 과거 기록을 다시 열기 위한 조건이 아니다.