콘텐츠로 이동

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 Store 2.4.1 (102)를 하나의 앱 버전으로 합치지 않고 platform별 실제 상태로 고정한다.
  • 이미 확정된 DB migration 전용 v2.4.0 기록·태그·GitHub Release를 수정하지 않는다.
  • 확인할 수 없는 iOS archive/source를 추정 커밋이나 사후 태그로 꾸미지 않고 한계로 종결한다.

범위

  • 대상: docs, coupler-mobile-app
  • 포함 범위: Android 2.4.0 (102)·iOS 2.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)와 iOS 2.4.1 (102) Store 결과 및 source 한계 기록
  • v2.4.1은 실제 iOS App Store 버전과 일치하는 신규 docs 기록 번호이며 기존 v2.4.0 정정본이 아니다.

버전 매핑

  • docs: 태그 v2.4.1, 커밋 N/A
  • coupler-api: 태그 N/A, 커밋 N/A
  • coupler-admin-web: 태그 N/A, 커밋 N/A
  • coupler-mobile-app: Android Store 2.4.0 (102), Android 릴리스 태그 v2.4.0, Android 커밋 d1a96b01a9050d3f2708c371728b5d8986d42a3c, Android source verified, iOS Store 2.4.1 (102), iOS 릴리스 태그 N/A, iOS 커밋 N/A, iOS source unavailable-historical, NextPush N/A, NextPush 커밋 N/A

릴리스 결과

  • Android는 제공된 Google Play Console 화면에서 최신 프로덕션 102 (2.4.0), 출시율 100%, 게시되지 않은 변경사항 없음으로 확인했다.
  • iOS App Store는 출시 책임자가 2.4.1 (102)로 확인했다. 원본 archive와 exact source가 남지 않아 iOS v2.4.1 Mobile 태그는 만들지 않는다.
  • Mobile v2.4.0 태그 target은 Android 2.4.0 (102) source와 일치한다. 태그 설명에 포함된 iOS 완료와 docs v2.4.0 기준 문구는 이 기록의 iOS source 증빙으로 사용하지 않으며 기존 태그 ref는 이동하지 않는다.
  • Apple 공개 Lookup API는 2026-08-04 KST 조회에서 아직 2.3.0 (101)을 반환했다. 이를 근거로 출시 책임자의 App Store Connect 확인을 다른 버전으로 덮어쓰거나 공개 전파 완료를 독립 확인했다고 주장하지 않는다.

메인 흐름

  1. 기존 docs v2.4.0을 DB migration 전용 불변 기록으로 유지했다.
  2. Mobile v2.4.0 target에서 Android 2.4.0 (102) metadata와 source commit을 확인했다.
  3. iOS 실제 Store 2.4.1 (102)와 Git source 2.4.0 (102)의 불일치를 분리했다.
  4. 로컬 archive, fetched/ref·reflog·unreachable commit에서 iOS 2.4.1 source를 탐색했으나 찾지 못했다.
  5. Android는 verified, iOS는 unavailable-historical로 기록하고 iOS tag·commit을 비워 두었다.
  6. platform별 매핑과 한계를 신규 docs v2.4.1 최종 기록으로 고정했다.

검증 근거

  • Android source: Mobile v2.4.0 tag target d1a96b01a9050d3f2708c371728b5d8986d42a3c
  • 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 object 47c803f44b59dead4564ae2ee0844072a0fe48fc, target d1a96b01a9050d3f2708c371728b5d8986d42a3c

롤백 기준

  • 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을 승인 전에 보존한다. 이 항목은 이번 과거 기록을 다시 열기 위한 조건이 아니다.

관련 문서