シーケンス図
1. FB 受信(02-1)
sequenceDiagram
actor User as 利用者
participant App as スタブアプリ
participant CF as Cloudflare Edge
participant TUN as cloudflared(自宅 PC)
participant API as FastAPI(自宅 PC)
participant STG as Storage
participant DB as Database
User->>App: 画像選択・推論実行
App->>CF: POST /api/v1/feedback (HTTPS)
CF->>TUN: トンネル中継
TUN->>API: リクエスト転送
API->>STG: 画像保存
API->>DB: メタデータ記録
API-->>App: 201 Created
2. 再学習〜配布(02-2 / 02-3)
sequenceDiagram
actor Op as 運用者
participant WK as AI Worker
participant STG as Storage
participant DB as Database
participant GH as GitHub API
participant GHA as GitHub Actions
participant Dev as 管理下端末
Op->>WK: 再学習トリガー(手動)
WK->>DB: FB データ参照
WK->>STG: FB 画像参照
WK->>WK: 学習処理(スタブ)
WK->>STG: 新モデル保存
WK->>GH: repository_dispatch
GH->>GHA: ワークフロー起動
GHA->>GHA: アプリビルド(モデル同梱)
GHA-->>Dev: APK artifact 取得・インストール
3. 手動ビルド検証(Step 2)
sequenceDiagram
actor Op as 運用者
participant GHA as GitHub Actions
participant Art as Artifact
Op->>GHA: workflow_dispatch 実行
GHA->>GHA: Flutter ビルド
GHA->>Art: APK 出力
Op->>Art: ダウンロード
4. ② iPhone 配布(参考・未検証)
sequenceDiagram
participant GHA as GitHub Actions
participant FL as Fastlane
participant ASC as App Store Connect
participant TF as TestFlight
participant iPhone as iPhone
GHA->>FL: iOS ビルド・署名
FL->>ASC: アップロード
ASC->>TF: ビルド公開
iPhone->>TF: 更新取得・インストール
② の検証は①完了後に実施。Apple Developer Program 加入が前提。