# Release Matrix この文書は、リポジトリに設定された値と、EAS CLI / EAS Dashboardで確認した観測値を分離して記録する。設定値の正本は `package.json` / `yarn.lock` / `app.json` / `eas.json`、配布済みbinary・runtime・channel・audienceの正本は確認日付きのEAS観測とする。 ## A. Repository configured state 現在のGit repositoryに設定されている値。ここに記載するbuild numberは、EASで配布済みのbuild numberとは別の値である。 最終確認日: 2026-08-31 | 項目 | configured value | source of truth / 注記 | | --- | --- | --- | | app version | `7.2` | `app.json` → `expo.version` | | Configured iOS build number | `74` | `app.json` → `expo.ios.buildNumber` | | Configured Android versionCode | `37` | `app.json` → `expo.android.versionCode` | | Expo SDK | declared `^57.0.17`; lockfile `57.0.18` | `package.json` / `yarn.lock` | | runtimeVersion policy | `sdkVersion` | `app.json`。ADR-001の`appVersion`採用は次回Native Release時まで未適用 | | configured SDK-derived runtime | `exposdk:57.0.0` | 現行SDKと`sdkVersion` policyから解決される値。実際のEAS観測は下表 | | current Git branch / revision | `develop` / current HEAD | `git branch --show-current` / `git rev-parse --short HEAD`。revisionは文書commit後に変わるためhashを固定しない | | configured 7.2 profiles | `beta7.2` → `homebrew`; `production7.2` → `hardoff` | `eas.json`。live audienceとは分離 | | native module/config sources | `modules/`, `targets/widget/`, `plugins/` | 現在のGit tree。最新の関連変更は `954fd05` | | Apple targets | `targets/widget`(WidgetKit / ActivityKit)、`@bacons/apple-targets` | `targets/widget/`, `app.json` plugins | | Android native features | FeliCa/NfcF、Android Widget、Foreground Service、local/config plugins | `modules/`, `app.json`, `plugins/`, `react-native-android-widget`設定 | ## B. Historical / observed EAS state 以下はEAS CLIで読み取った確認日付きsnapshotであり、repository configured stateではない。未記載のProduction binary、channel、audienceの現況はこの文書から推測しない。 ### Latest read-only observation 2026-08-31にEAS CLIで確認した、最新の観測対象beta7.2 store build(source revision: `f23da69`、現在のHEADより前)。 | platform | build ID | profile / channel | app / configured build | SDK / runtime | status | source revision | | --- | --- | --- | --- | --- | --- | --- | | iOS | `0e97c11a-2e44-4976-8bd4-b2f8de0061da` | `beta7.2` / `homebrew` | 7.2 / buildNumber 74 | SDK 57 / `exposdk:57.0.0` | `FINISHED` | `f23da69` | | Android | `adcf419b-9389-4223-8249-03a608c2a3ab` | `beta7.2` / `homebrew` | 7.2 / versionCode 37 | SDK 57 / `exposdk:57.0.0` | `FINISHED` | `f23da69` | この観測はbuildの存在・状態を示すもので、installed binaryの全利用者やProduction audienceを表さない。Productionの現行binary/channel/audienceは要再確認。 ### Earlier historical snapshots 2026-08-25にapp 7.2 / iOS 69 / Android 35のiOS/Android Buildが`beta7.1` / `gmarket`でFINISHED、2026-08-13にも同profile/channelの7.2 build、2026-07-10にはapp 7.1.0の`production7.1` / `geekbuying` buildが確認された。これらはSDK55時点のhistorical EAS snapshotであり、現在値ではない。 `gmarket`には`exposdk:55.0.0` runtimeのUpdateが継続して存在した。この過去観測は、現在のlive状態や全利用者の状態を意味しない。 ## Current configured profiles `eas.json`に設定されたprofile/channel。設定値とlive channelは別に確認する。 | profile | configured channel | intended role | status | | --- | --- | --- | --- | | `development` | `development` | Development Build | 継続 | | `preview` | `preview` | internal/preview | 継続候補。live存在は要確認 | | `beta7.2` | `homebrew` | 7.2 beta/store build | 設定済み。latest observation above | | `production7.2` | `hardoff` | 7.2 production profile | 設定済み。live audienceは未再確認 | | `production` | `aliexpress` | historical production profile | live audience確認まで変更しない | | `beta7.0` / `production7.0` | `fdroid` / `familymart` | historical channels | live binary確認まで変更しない | | `beta7.1` / `production7.1` | `gmarket` / `geekbuying` | historical names used by prior builds | 過去snapshotとして保持。変更しない | | `mapsbuild` | `mapsbuild` | special build | current usage要確認 | ## Release checklist - [ ] app version、iOS build number、Android versionCode、runtimeを確認した - [ ] profile/channelと対象binary/audienceを確認した - [ ] Native変更の有無を判定し、必要ならDevelopment/Preview/Production Buildを作った - [ ] JS-only変更でも、対象runtimeとnative APIの互換性を確認した - [ ] current train、delay、深夜時刻、FeliCa、Widget、Live Activity/Foreground Serviceを対象範囲に応じてsmokeした - [ ] Sentry tokenのrotate状態、Sentry release/source map、EAS Update IDを確認した - [ ] rollback対象runtimeと既知の正常なUpdateを確認した ## Credential handling check - `SENTRY_AUTH_TOKEN`はignoredされたlocal env keyとしてのみ確認し、値は表示・記録しない。 - `.env`、`.env.local`、`.env.production`は`.gitignore`で除外されている。`android/sentry.properties`と`ios/sentry.properties`も生成native directoryとして除外され、tracked credential fileではない。 - repositoryのpackage script、CI、EAS設定にはSentry CLI tokenを埋め込む設定はない。CI/EASのsecret bindingはdashboard・organization側のsource of truthであり、repositoryだけでは存在確認できない。 - Sentry CLIのtokenはenvironment/configから供給できるため、ローカルでは値をログへ出さず、CI/EASではsecret managerへ設定する。[Sentry authentication](https://docs.sentry.io/api/auth/) - 監査時に露出した可能性のあるtokenのrevoke/rotateは、この作業では外部操作せず、担当者のmanual actionとする。