既定4テンプレートのシードと無料枠2件 (Nikki Plus) が矛盾し、無料ユーザーがテンプレートを作成できない
- Dominant language
- Swift
- Stars
- 0
- Forks
- 0
- Avg merge
- 10h 28m
- Merged PRs (30d)
- 30
Description
## 背景
PR #98 (issue #92) は初回起動のシードを既定の4テンプレート (日記・朝の3行・1日の振り返り・旅の記録) に変更した。一方、main には issue #94 の無料枠 (テンプレート/ノートの作成は無料 2 件まで、Plus で無制限。`freeNotebookLimit = 2`) が入っており、PR #98 のマージでこの2つが同居して矛盾する。
## 何が起きるか
- 無料ユーザーは初回起動の時点で 4 件 > 上限 2 件となり、**テンプレートを 1 件も自分で作れない** (すべての追加導線がペイウォールに倒れる)
- 「既定のテンプレートを復元」の無料枠判定が復元前の件数だけを見るため、挙動が一貫しない (1 件しか無ければ 3 件足して 4 件になれるのに、2 件あると 1 件も復元できない)。Codex の指摘: https://github.com/bannzai/nikki/pull/98#discussion_r3852474201
- PR #98 のマージ時点では、追加導線のペイウォール表示 (ホームの「+」を含む) だけを整えており、この矛盾自体は残っている
## 決めること (仕様の分岐)
次のいずれか (または組み合わせ) をユーザーが決める:
1. **無料枠を引き上げる** (例: 4 件 = 既定シードちょうど)。無料で既定 4 つを使えて、5 件目からが Plus
2. **既定シードを無料枠の対象外にする** (自作テンプレートだけを数える)。復元も枠外として常に許可でき、復元の一貫性の問題も同時に解ける
3. **シードを 2 件に減らす**。無料枠は 2 のまま、初回から自作の余地を残すなら 1 件
どの案でも `restoreSeedNotebooks` の判定 (復元後の件数で判定するか、枠外とするか) を合わせて見直す。
## 関連
- PR #98 (4 件シード): https://github.com/bannzai/nikki/pull/98
- issue #94 (無料枠 2 件): https://github.com/bannzai/nikki/issues/94
- 発端の Codex 指摘 (ホーム導線): https://github.com/bannzai/nikki/pull/98#discussion_r3852337272
## セッション再開
```sh
cd /Users/bannzai/worktrees/bannzai/nikki/issue-104
claude --resume 5aa717c3-bc69-4732-bab1-efccd4af9e42
```
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reading the code that defines `freeNotebookLimit` and `restoreSeedNotebooks`, then trace the initial four-template seed and the template creation and paywall paths mentioned in the issue. The decision in issue #109 must be settled first. Done means the chosen free-limit and seed policy are applied consistently, including restoration, without blocking free users from creating templates.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- swift
- Domain
- mobile
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100