# SOP：週／月學習計畫產生（星期日）

版本 2026-08-30（制度改版後）。搭配 `/weekly-plan` skill（`.claude/skills/weekly-plan/SKILL.md`）。

## 現行制度速覽

```
主線：Blackjack DQN roadmap（docs/learning/blackjack-dqn-learning-roadmap.md）

每日固定（程式自動產生，計畫檔不碰）：
  正式思考單元 一題    10 分   游標式 89 個
  正式記憶單元 一題    10 分   游標式 49 個
  記憶地圖巡邏 一次     5 分   維持型，與正式記憶單元並存
  每日數學     一題    10 分   日期輪替 10 個
  ML 實作             30 分   開放時段
  英文彈性            30 分   英文軌，週三／週六不排

計畫檔只排：主軌那 60 分鐘的學習內容

規則：任何未完成項目只保留一題，不追趕、不堆疊
```

## 流程總覽

```
星期日 → 抓進度 → 算上週完成率 → 讀 roadmap 決定下一階段
      → 滾動調量 → 產 V3 計畫檔 → 驗證(schema+ref) → 給你過目
      → 你說OK → Claude 自動匯入 → 你重新整理 App 確認
```

你只需要做兩件事：**打一行指令**、**看完後說 OK 或要改哪裡**。

## 自動（首選）

排程器每週日早上自動喚起 Claude 執行 `/weekly-plan`，做完抓資料→產檔→驗證後
**停在「給你過目」**——計畫不會自己生效，一定要你點頭才會匯入。
你說 OK 之後，匯入那一步 Claude 會自己做（見下方環境變數設定）。

前提：那台電腦開著、而且 Claude Code 桌面 App 開著。沒開就等於沒跑 → 走下面的 CLI。

**總開關**：不想它跑的時候不用去動排程器，切 `settings.weeklyPlanAutoRun` 就好——
App 設定頁的「週日自動產生下週計畫」勾選框、或 `/plan-schedule off`。兩台機器（筆電、Ubuntu）
都讀同一個旗標，關著就週日醒來看一眼然後停下。要開回來 `/plan-schedule on`。

**兩台同時開著沒關係**：流程第 0 步會看這週的計畫是否已匯入，先跑的產、後跑的讓開，不會兩份。

## 遠端／CLI 操作（只能遠端時走這條）

排程器綁在 Claude Code 桌面 App 上，純 CLI 環境不會自己觸發。但**不需要排程也能跑**：

```bash
cd C:/Users/sunny/personal-growth-app
claude
```

進去之後打 `/weekly-plan`，它就會自動開始跑（讀進度 → 產計畫 → 停下來問你）。
整個流程在同一個互動 session 完成，不需要 `claude --continue`。

**自動匯入需要同步密碼**。設一次環境變數就好（就是你配對手機時用的那組）：

```bash
setx REBORN_SYNC_SECRET "你的同步密碼"
```

設了之後 Claude 就能在你核可後直接幫你匯入；沒設的話它會告訴你，改成你自己在 App 匯入。

wrangler 掛掉時：App「設定 → 匯出備份」把備份檔丟給 Claude 即可。

## 滾動式修正規則

| 上週完成率 | 本週動作 |
|---|---|
| < 60% | 排量砍 25–33%，未完主題優先重排 |
| 60–90% | 維持 |
| > 90% | 可加量 ≤ 20% |

## 不變的底線

1. **永不直接寫 D1**（`wrangler d1 execute` 改 state 會造成 revision 漂移）。
   匯入走 `scripts/import-plan-to-cloud.mjs`——它用的是 App 同樣的同步協定
   （pair → GET → PUT 帶 expectedRevision 做 CAS），server 端會擋住競態；
   或你自己在 App 設定頁匯入。兩條都可以，差別只在誰動手。
2. **每日固定內容不進計畫檔**（見上方速覽那六項）
3. **主線只有 roadmap**：不另外排 PyTorch／演算法；只有 roadmap 需要前置時才排
4. 鎖定中的能力不排（專案、資料庫 → 9/13；通識、理財無排程）
5. 每顆 template ≤ 30 分、`adaptiveEstimate: false`
6. 日期視窗開到計畫結束日（短視窗會全數過期 → 0 排程）
7. 每完成一個 roadmap 階段，同步更新 roadmap 檔的進度欄

## 檔案去向

- 正本：`plans/YYYY-MM/weekly-YYYY-MM-DD-<slug>.v3.json`（commit 進 repo）
- 副本：`C:/Users/sunny/Downloads/`（給手機匯入用）
- 主線 roadmap：`docs/learning/blackjack-dqn-learning-roadmap.md`
