💻 システム開発
2026-05-16_SCALE_CRM_v10.19-30_handoff
最終更新 2026年05月16日 / 31_システム開発部/SCALE_CRM/2026-05-16_SCALE_CRM_v10.19-30_handoff.md
2026-05-16 SCALE CRM v10.19→v10.30 (本日12デプロイ) /handoff
対象システム
SCALE CRM (scale-lead) / 本番 https://crm.scale-group.co.jp/ / ローカル /Users/oogushiyuuki/株式会社SCALE/scale-lead/ / 本番=v10.30 稼働中・E2E 69/69 PASS
このセッションで完了 (全て本番稼働・E2E 69/69 維持)
| ver | 内容 |
|---|---|
| v10.19 | C-1 真似防止: ai.js の10 system prompt を server (/api/v2/ai/generate) 集約・byte-exact |
| v10.20 | C-1b: pages.js/kickoff.js の prompt も server 集約 |
| v10.21 | 変更履歴(左下ver)を PM限定化 (isPM ゲート) |
| v10.22 | 複数人同時編集: Realtime UPDATE を B5 部分更新化 (scroll戻り根絶) + 同期インジケータ「✓ 同期中」一本化 |
| v10.23 | 設定同期根治: 単価=p.apoUnitPrice修正 / セクション設定ラベル明確化 / 通知ch(汎用)・日次報告宛先 削除 |
| v10.24 | ダッシュボード A+B 再設計 (全案件健全性+今日やること) + Slackボタン cursor ページネーション堅牢化 |
| v10.25 | 容量 第4段 (reactive): 非アクティブ案件 call_list を quota時退避 |
| v10.26 | 容量 proactive 根治: switchProject で圧迫時(>6MB)に非アクティブ退避 → 二段で恒久ヘッドルーム |
| v10.27/28 | C-1c Stage1: co-create methodology IP 約670行の byte-exact サーバー基盤 完成 |
| v10.29 | ナビ再編: dashboard/kickoff/onboarding を PM括り先頭・PM限定 / アップデート情報削除 / 非PM安全着地 |
| v10.30 | B: 入力ページ scroll維持 (案件概要customInsights/目標値/オンボ/アポ獲得 を _rerenderKeepScroll化) |
未完了の大規模3件 (推奨順・次セッションで集中実施)
A. C-1c Stage2 (client cutover) — 最優先・de-risk済
- Stage1完了済:
functions/api/v2/ai/_cocreate_prompts.ts(自動生成・byte-exact) + generate.ts に cocreate 4shape(main/draft/summary/kabe)+SSE pass●●●●●●。harnessscripts/extract-cocreate-prompts.jsが全48マトリクス+summary/kabe で byte-exact 検証 PASS。本番稼働(server追加のみ=client無変更) - Stage2 残: service.js の
_coCreateBuildSystemPrompt/_coCreateBuildScriptSystemPromptを {vars,extraData}算出のみに改修 / ai.js にcallClaudeStreamGW追加 / 6呼出箇所(壁打ち7223/7242・draft7667・summary8272・main stream8656/非stream8651/continuation8658)を gateway化 / head/rest/systemPromptRest/sysPrompt/壁打ち の IP約670行を service.js から物理削除 → 真似防止完成 - 必須: client側も byte-exact 検証 harness を作り「server再構成===旧フル出力」を全マトリクス確認してからデプロイ。streaming中核=AI共創の心臓のため end-to-end ストリーミング実機検証ゲート必須
B. 入力ページ scroll維持 — v10.30で主要分完了、残あり
- 完了: 案件概要customInsights / 目標値インライン / オンボ / アポ獲得
- 残: contracts/NGリスト/list_request 等 他インラインページも同様問題あれば同パターン(
_rerenderKeepScroll)で追加。モーダル系(closeModal→render)は意図的に対象外
C. スクリプト刷新 — 特大・設計から
要望: ①タブ分割しパターン別作成 ②案件概要の商談情報をタブ表示 ③上部ボタンPM限定+新規ボタンでパートナー独自スクリプト作成(リッチテキストブロック・太字色・作成者記録・既存テンプレ部分コピペ) ④架電リストからスクリプトをパッと参照 ⑤UI/UX刷新。実質ミニCMS+権限+統合。設計提案→合意→段階実装が必須(1発不可)
注意点・退化リスク (絶対守る)
- 保護資産: v10.16 enforce+grace cookie / v10.17 build-bundles+BLOCKED / v10.18 SW / v10.19-20 _prompts.ts+callClaudeGW / v10.22 _clPartialRowRefresh+psv2-realtime部分更新 / v10.25-26 容量二段退避(_safeSetItem第4段+_evictInactiveCallListCaches) / v10.27-28 _cocreate_prompts.ts(自動生成・手編集禁止) / v10.29 _defaultLandingPage+renderPage非PMガード / v10.30 _rerenderKeepScroll化サイト
- C-1c:
_cocreate_prompts.tsはscripts/extract-cocreate-prompts.jsの自動生成物。手編集禁止。prompt変更時は harness 再実行で再生成+byte-exact再検証 - バージョン体系: v10.X 単純連番 / 次は v10.31
- デプロイは
bash deploy.sh(build-bundles+cache-buster+SW CACHE_NAME+pre/post backup+wrangler+health 自動) - 編集前
~/Obsidian/scripts/ai_session_lock.sh acquire scale-lead/ 後 release - E2E
npm run test:e2eで 69シナリオ・デプロイ後必ず通す - post-deploy backup は Drive側
.../AI/scale-lead-backups/(ローカル ~/scale-lead-backups/ は pre 系のみ・Drive同期遅延)
ユーザーFB (重要・全部)
- 「根本解決・その場しのぎ禁止・品質劣化させるな」を最重視。byte-exact 抽出で prompt ドリフト=品質劣化を防ぐ方針を貫く
- 「やらないデメリットあるなら実装。ないなら見送りでOK」→ members/projects部分更新=デメリット無で見送り(正)、C-1c=IP露出デメリット有で実施
- 容量: 過去に容量超過で機能停止トラウマ→「余裕めっちゃ持ちたい」。毎月2案件+10万リスト補充想定
- ダッシュボードA+B選択 / Slackボタン堅牢化選択 / 推奨順(B→A→C)で進行 を承認済
次の一歩
推奨順では A (C-1c Stage2) が次。サーバー基盤 byte-exact 完成済で de-risk 済。client側 byte-exact 検証 harness 構築 → builder改修({vars,extraData}化) → callClaudeStreamGW追加 → 6呼出箇所 gateway化 → IP物理削除 → 検証ゲート → デプロイ → E2E。集中セッション推奨。
関連
- 最新基準点: ~/Obsidian/SCALE-Brain/31_システム開発部/_SCALE_CRM_最新基準点.md (stamp 2026-05-16_v10.30)
- 旧ログ: ~/Obsidian/SCALE-Brain/00_Inbox/作業ログ_2026-05-16_0747_v10.19_C1完了.md
- harness: scale-lead/scripts/extract-cocreate-prompts.js