recipes / converge-existing-app

既存アプリを @event/* へ収束させる(Phase A)

xdeal-lp / spikes-lp / ivs-cms のような既存アプリを、挙動を変えずに @event/* パッケージへ寄せる第一歩

一気に移さない。バイト単位でほぼ同一のコードから置換する(リスクゼロの Phase A)。

Phase A — 抽出 & 並走(挙動変更なし)

対象は「3アプリで既にほぼ同一」のもの。ここだけは差し替えても挙動が変わらない。

1. 4S セッションハンドオフ

src/lib/4s-session/*(xdeal↔ivs でバイト同一)を @event/fours-sdk に置換:

2. 死コード削除

分析で確認済み: xdeal の 1,457行 ScheduleMap.tsx(未使用)、four-s.ts の OAuth stub(FOUR_S_OAUTH_* 未設定)。

3. contentStore / auth

@event/corecreateContentStore(ivs canonical + sha リトライ統合版)と createSharedPasswordAuth(constant-time 統一 — spikes の平文 === を修正)へ。

4. 検証

各置換ごとに型チェック + 該当フローを1つ手で叩いて挙動一致を確認してから次へ。

Phase B 以降(別 PR)

原則

一度に1論理単位 = 1コミット。バイト同一 → 挙動同等が確認できるものから。 「エンジンコードをアプリに残さない」— ロジックはパッケージへ、アプリには config だけ。