Skip to content

2026-09-12 デモ版の質問を通常Initiationに採用する ​

依頼者の「質問内容もデモ版へ切り替えて再編集する」という選択に従い、初回の4項目接続方針の質問部分を更新する。PR #102に収録されたGameの導入・5場面・探索演出と質問内容を通常アプリへ接続する。

保存先・ID内容保存形式
members.display_name呼び名任意、最大40文字。完走条件外
v2-interestsHENKAKUで気になること定義済み選択肢の複数選択
v2-curiosityいま気になっていること2000文字以内の自由入力
v2-experience誰かと何かを動かした経験2000文字以内の自由入力
v2-readiness活動する準備定義済み選択肢の単一選択
v2-contributionこの場所へ持っていきたいもの定義済み選択肢の単一選択

現在の本文と選択肢は lib/initiation/journey.ts が定義し、通常保存・完走判定・表示とデモの選択肢で共有する。デモ状態やlocalStorageへの依存は持ち込まない。

5問はすべて任意。空欄のNEXTと「まだ言葉にしない」は { "status": "skipped" }、回答は { "status": "answered", "value": ... } として既存のanswerテキスト列へJSONで保存する。入力の型、選択肢、文字数、余分なフィールドをサーバーで検証する。member IDはセッションから解決する。

サーバー上の5件がすべて妥当な回答またはスキップなら現行質問の完走とする。単にIDが揃う、ブラウザ側のstageが最後になる、NFTを持つなどの条件は使わない。全問を明示的にスキップして進むことも、この質問版の正当な完走である。

旧4項目は別IDのまま保持し、自動変換・削除しない。旧版で完走済みの人は申請資格を維持する。現行の質問画面では旧回答を別の問いへの回答として表示せず、現在の質問を編集する。新しいsaveStepは旧IDを受け付けないため、新規ユーザーが旧条件への書き込みで完走することはできない。

完走後の「回答を見直す」と /initiation?edit=1 は呼び名から再編集する。現行IDへの上書きなので履歴バージョンを増やす機能ではない。スキップで既存回答を消せる。保存失敗では次へ進まず、入力を保持する。

既存のprogressテーブル、memberとstep IDの一意制約を使うため追加migrationは不要。旧コードへ戻すと現行5問の完走を認識できないため、ロールバック時は回答を消さず、復帰後に同じ記録を使う。デモ専用ビルドへの切り戻しは実処理を停止する。

Discord名、Field閲覧記録、Check-inの一言などはこの決定に含めない。Issue #52・#91等を完了扱いにしない。

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