Skip to content

2026-09-09 独自ブランチでポータルの体験デモを実装する ​

追記: 別の模擬アプリを維持する方針は模擬アプリ廃止の決定で置き換えました。以下のデモbuild・操作・検証結果は、その決定前の記録です。現在の操作は通常アプリへ統一しています。

背景 ​

依頼者がIssue #91、#52の複数バブル案、Game A Artifactを組み合わせた体験デモを依頼した。バックエンドが必要な操作は仮データにし、Vercelへの配置に必要な設定を用意する。

決定 ​

  • codex/portal-demoで公開入口・仮ウォレット・5ステージ・NFT/申請/報酬/ロールの模擬操作・チェックインを接続する。これは上流の本番仕様を確定する決定ではない。
  • 保存先はバージョン付きの専用localStorageキー。実ウォレット・SIWE・Supabase・オンチェーン操作を呼ばない。保存不能ならメモリ内で体験を継続する。
  • 呼び名と回答は任意。体験を通過することと回答することを分ける。既存の質問IDや完走記録を変更しない。
  • 実トークン残高と登録状況の代わりに、未接続・新入り・既存メンバー・取得失敗・別ネットワークを模擬できるようにする。NFTと報酬はデモ表示であることを明示する。
  • build:demoは非秘密のHENKAKU_DEMO_ONLY=1をビルドへ固定し、認証APIとすべてのPOST等をProxyで遮断する。既存ページはデモへ誘導し、元のProvidersを起動しない。
  • Vercelはvercel.jsonでbuild:demoを実行する。サービス用環境変数は不要。通常のbuild/devでは元のアプリを維持する。
  • 泡の表現は独自のCSSで実装し、画面ごとに演出を分ける。参照素材の再利用条件が確認できないものは独自生成の仮素材に置き換え、出典とプロンプトを素材ディレクトリへ記録する。

検証 ​

状態遷移・重複操作・アカウント変更・永続化の復元・デモ配信境界の失敗テストを先に作成。完成後に単体/統合テスト、デモと通常の本番ビルド、型チェック、lint、HTTPの配信境界を確認する。

未解決の判断 ​

実Allowlist情報源、NFT条件/コントラクト、配布/ロールの実運用、旧回答の移行はこのデモに含めない。デモでの仮の承認操作は運営権限の設計ではない。

秘密情報(SESSION_PASSWORD、Supabaseキー、Safeの認証情報)はドキュメント・Issue・ログへ貼らないでください。