RCF-005:多 Session 通用框架(方案 C)架構設計
建立日期:2026-04-24 | 觸發條件:Condition 5(影響 2+ 個技術系統) 狀態:有效(規劃完成,實作待 Phase 0 啟動) 對應設計文件:
strategy/multi-session-framework.md
背景與問題
職涯諮詢涉及跨 Session 工作(諮詢前分析 → 諮詢中記錄 → 諮詢後規劃 → 21 天回訪 → S6 月度陪跑)。現有架構將所有資料放在 tzlth-hq/crm/ 下,導致下列四類痛點:
- 跨 Session 失憶:每次 Claude Code 新視窗,前次諮詢細節需重新載入
- 寫回路徑分散:prep 檔、摘要、紀錄、洞察散落 4 個位置
- 隱私邊界脆弱:本機真實姓名與 HQ 去識別化無結構性隔離
- HQ repo 膨脹:客戶數增長後 crm/ 成為 HQ repo 主要容量來源
方案比較
| 方案 | 結構 | 優點 | 缺點 | 採用? |
|---|---|---|---|---|
| A:全放 crm/ | 現有路徑延伸 | 零架構變動 | 過載、隱私脆弱、repo 膨脹 | ❌ |
| B:HQ 子目錄 sessions/ | sessions/C-YYYYMM-001/ | 單一 repo 管理 | 規則混雜、推 GitHub 有隱私風險 | ❌ |
| C:tzlth-client 獨立目錄 | 本機獨立每客戶一 workspace | 隱私結構隔離、規則隔離、可擴展 | 需雙路徑管理 | ✅ |
採用方案 C 核心理由
- 隱私結構保證:tzlth-client/ 不納入 GitHub repo,真實姓名/客戶敏感資訊僅存本機,與 HQ 去識別化版天然分離
- 規則隔離:每客戶 workspace 有自己的三區塊 CLAUDE.md,不干擾 HQ 主規則
- 可擴展性:每新增客戶 = 新增目錄,不污染 HQ 結構
- 寫回橋接明確:本機保留完整版,HQ 只存去識別化摘要,雙路徑固定
影響範圍
規劃階段(本次完成)
- 新建
strategy/multi-session-framework.md(14 章節) - 新建本 RCF
- 更新
consultation-sop-complete.mdL141-149(引用升級) - 3 個索引同步(decisions/README.md + knowledge/CLAUDE.md + strategy/CLAUDE.md)
dev/tasks.md標記完成 + 新增 Phase 0/0.5 後續任務
實作階段(未來觸發,預計觸發額外 RCF)
| 文件 | 修改性質 |
|---|---|
.claude/skills/諮詢前分析.md |
雙路徑寫回 |
.claude/skills/會議整理.md |
輸出至本機 sessions/ |
.claude/skills/諮詢完成.md |
Step 1-3 雙路徑分配 |
crm/CLAUDE.md |
規則重構 |
主 CLAUDE.md(4 段落) |
部門架構 / 拉取協議 / 存檔規定 / Git Push |
strategy/post-consultation-sop.md |
寫回路徑更新 |
consultation-sop-complete.md |
升級為「已落地」 |
finance/CLAUDE.md |
明確財務記錄留 HQ |
實作階段可能觸發的額外 RCF
- Phase 2 修改主 CLAUDE.md「全系統拉取協議」段落 → 可能觸發 Condition 1(HARD STOP 修改)→ 預期建立 RCF-006
- Phase 2 若同步修改 3+ 部門 CLAUDE.md → 可能觸發 Condition 2 → 預期建立 RCF-007
不受影響(經確認)
官網 / 診斷 / 預約 / 外展 / 看板 / LINE / 知識庫網站 / 儀表板 / inventory.json
驗證方式
規劃階段驗收(本次):
strategy/multi-session-framework.md14 章完整- 本 RCF 6 段完整
consultation-sop-complete.mdL141-149 升級引用- 3 個索引同步
dev/tasks.md完成標記 + 2 條後續 Phase 任務
實作階段驗收(未來):
- Phase 0-8 逐一完成(驗收條件見設計文件第九章)
- Phase 6 連續觀察 3 客戶 × 3 Session 類型 = 9 筆寫回 100% 正確率
Tim 待決策(Phase 0 前置)
| 決策 | 預設建議 |
|---|---|
| tzlth-client/ Git 策略 | B 本機 git no-remote |
| 備份方案 | A 每週手動外接硬碟 |
| S6 月度歸檔 | 每月新檔 |
| cwd 策略 | A Claude Code 在 HQ |
完整決策細節見設計文件第十章。
Phase 0 實測確認(2026-04-24)
雲端同步檢測結果
| 項目 | 結果 |
|---|---|
| OneDrive | 已安裝(C:\Users\USER\OneDrive 存在)但未啟用 Desktop 同步 |
| OneDrive 進程 | 未執行 |
| Dropbox | 未安裝 |
| Google Drive | 未安裝 |
| Desktop 註冊表 | C:\Users\USER\Desktop(本機路徑,無重導向) |
R8 評估:風險目前未實現,但 OneDrive 已安裝意味著隨時可被啟用。為最嚴格安全考量,採用「C:\tzlth-client\」(非 Desktop)永久避免此風險。
三類 Hook 行為確認
| Hook | 行為 | 對 tzlth-client 影響 |
|---|---|---|
| Stop(auto git push) | 硬編碼 cd tzlth-hq,只 push tzlth-hq |
✅ 結構性防範 R5(tzlth-client 絕不被推 GitHub) |
| PreToolUse(query-gate) | 絕對路徑讀 FLAG,不受 cwd 影響 | ⚠️ F1:會攔截 tzlth-client/ Write/Edit(實作 Phase 3 SKILL 需處理) |
| UserPromptSubmit(knowledge) | 絕對路徑讀 knowledge/ | ✅ 正常查詢 HQ 知識庫 |
最嚴格四準則決策結論
| 決策 | 結論 | 理由 |
|---|---|---|
| Git 策略 | B 本機 git no-remote | 可回滾 + 結構性防推送洩漏 + 零設定成本 |
| 備份方案 | A 每週手動外接硬碟 | 立即落地 + NT$0 + 本機受控 |
| S6 歸檔 | 每月新檔 | 邊界清楚 + Git diff 清晰 |
| cwd 策略 | A Claude Code 停 HQ | 三類 hook 已驗證一致 + 零重配 |
| 路徑(F2 新增) | C:\tzlth-client\(非 Desktop) | 結構性避免雲端同步風險(OneDrive/Dropbox/Google Drive 無一能掃描 C:\ 根目錄) |
F3:knowledge-hook.py 字串匹配優化(Phase 0 併入執行)
將 L128-134 從「first_word 精確匹配」改為「prompt 含授權詞即解鎖」,解決「執行A/執行B」類授權被 PreToolUse 攔截的問題。