琴平デジタル町民

未決事項と判断材料

今すぐ動作には支障ないが、運用入り前に三好氏 / 運営事務局で確定すべき項目。

最終更新: 2018/10/20 10:46:40 JST

琴平デジタル町民 — 未決事項と判断材料

最終更新: 2026-05-05 目的: 「今決めなくてもサービスは動くが、運用入り前に三好氏 / 運営事務局で確定すべき項目」を1枚に。
コードに既に書かれている挙動と、検討すべき選択肢を併記する。
公開URLは /c/kotohira/demo/decisions-pending で誰でも閲覧可。


1. 送金で受け取ったポイントの有効期限

現状の実装(既に動いているが「これでよいか」を確定したい)

src/lib/ledger.ts に以下のロジックが入っている。

TRANSFER_IN の lot.expiresAt = now + community.pointExpiryMonths

つまり、送金で受け取った瞬間に新しい lot として再発行され、有効期限が「いま」から N か月後にリセットされる。これは既に「B-ii リフレッシュ仕様」と呼ばれて稼働中。

コードコメント該当箇所: src/lib/ledger.ts:88-90

pool exempt type (CASHBACK / INVITE_REWARD / TRANSFER_IN) も期限対象に含める。
pool 免除 (= 上限カウント外) と「lot として有効期限を持つか」は独立した判断。
kotohira では「流通でリフレッシュ」を実現するため TRANSFER_IN にも expiresAt を付ける。

判断材料となる選択肢

選択肢期限の決まり方メリットデメリット
A. 現状維持(B-ii 流通リフレッシュ)受け取った瞬間に now+N か月町内で循環すれば実質無期限化 → 利用促進に効く。「貯め込まずに使え」というメッセージとも整合失効間際のポイントを互いに送り合うだけで延命できる「リング送金」のリスク(同じ人が同じ人へ何度も送る運用上の検知が必要)
B. 送り元の lot 期限を引き継ぐ受け取った lot の expiresAt = 送り元の expiresAt「期限のあるポイントが期限のないポイントになる」リング送金が原理的に不可能「もうすぐ失効するから誰かに渡そう」という動機が消える。コードと DB 両方の実装変更が必要
C. 期限なし(流通中は永続)TRANSFER_IN の expiresAt = null「町民の手で持っている限り消えない」感覚。説明が一番シンプル発行体の負債が積み上がる。会計・税務上の整理が必要

推奨判断

  • Phase 1(〜年度末): A(現状維持)。リング送金の有無は監視ダッシュボードで観測する。
  • Phase 2 以降: 観測結果を見て B か C を検討。リングが頻発するなら B、発生しなければ A 継続。

決定が必要な質問

Q1. 「現状の B-ii リフレッシュ仕様(A)でリリースしてよいか?」

Q2. 「リング送金が観測された場合、何回/何日以内に同一相手往復したらアラートを出すか?」(例: 7日以内3往復で社内通知)


2. 添付ファイルの保存期間(Phase 2 で実装済)

現状の実装

  • 送金時に画像5枚(合計5MB)/動画1本(10MB)/PDF1個(5MB)まで添付可
  • PointTransaction.attachmentsExpireAt = now + 30日
  • 30日経過で日次 cron が Cloudinary から実体を削除し、metadata.attachments を空配列に
  • 受信側 UI には期限切れ後「📎 添付の保存期間が終了しました」と表示

判断が必要な質問

Q3. 30日で十分か?(短い: 14日 / 標準: 30日 / 長い: 90日)
Q4. 「重要な添付は本人がローカルに保存しておく」運用で問題ないか?(saveできる UI を将来追加するかどうか)


3. 会員区分ごとの権限(最重要・現在ふわふわ)

別ページの 「会員制度マトリクス」 (/c/kotohira/demo/membership-matrix) に詳細を整理した。
このセクションでは「特に判断が必要な項目」だけ列挙する。

判断が必要な質問

Q5. citizen(無料会員)はイベント作成できるか?
現状: 不可(OWNER/ADMIN/ORGANIZER のみ)。citizen を作成可にするか、premium に開放するか、現状維持か。

Q6. premium に独自の機能を持たせるか?
現状コード上は「投票権」「限定サロン」「先行予約」「専用クーポン」が UI に書かれている(mypage の "プレミアム限定" セクション)が、実際の機能フックは未接続。

Q7. 送金は citizen 同士に限るか? premium 限定にするか?
現状: citizen 同士で可(LINE 連携必須)。「premium しか送れない」「guest にも送れる」など仕様変更の余地あり。

Q8. OWNER(運営事務局)が自分でポイントを発行できる量に上限を設けるか?
現状: Community.pointPoolMax(プール上限)はあるが、運営による無制限発行は技術的に可能。ガバナンス上の縛りが必要か。


4. デジタル町民 NFT(会員証)の正式運用方針

現状の実装

  • NftMintRecord に MockNftProvider で記録だけ作成(実 chain 未連携)
  • mypage に NFT カード表示はあるが、譲渡・取引機能なし

判断が必要な質問

Q9. NFT を「ただの会員証画像」として運用するか、Cardano/Kyoso 等で本格運用するか。
Q10. 期限切れ NFT(年度更新失敗等)は履歴として残すか、削除するか。


参考リンク