2026-06-23_作業ログ
作業ログ 2026-06-23
13:49〜14:03 - TERASU CRM 大串FB一気通し9件 本番LIVE v3.0.307
対象
TERASU CRM(terasu-mgmt / crm.terasu.scale-group.co.jp / 正本 ~/株式会社SCALE/hp/terasu/)。本番 v=20260623j / アプリ v3.0.305。下の「11:21〜12:57 v3.0.298」エントリの続き。
大串FBと対応(実機確認しながら7件・全て本番LIVE・1セッション)
- タスクまとめモーダルに期日・担当部署の編集追加(
_ttTaskModal拡張・反映先PM/制作プルダウン+期日入力→task_triggers更新=大串自身が編集可・業務ガイドにも反映) - 契約・請求:タブ順を 報酬/契約状況/メンバー全体報酬 に+🔒を絵文字→lock SVG(報酬自分のみ/メンバー全体管理者のみは既存)
- タスク管理:新規タスクに優先度(緊急/高/中/低)+期日カレンダー
color-scheme:dark+一覧に優先度バッジ - 修正依頼:優先度3→4段階(緊急/高/中/低)+制作タスク連携で優先度伝達(
_revToTaskPriority・新規+更新)=本文(タスク名)/担当/締切/優先度を全項目連携 - フォーム回答:一覧の文字を濃く(受信日/回答数 text3→text2・ゴール text2→text)
- タスクまとめ:上部タブ左ズレ修正(content枠内へ)+反映先/期日列を全カード縦揃え(
table-layout:fixed) - 月次レポート:「社内の月次振り返り」自動表示に再設計(大串とAskUserQuestionで「まず社内振り返り」確定・案件プルダウン全体/各案件+月送り・生成ボタン廃止・全体=契約/納品/解約/MRR/修正依頼+6ヶ月推移・各案件=進捗/修正/MRR・PROJECT_PAGES除外で案件未選択でも全体表示)
- 業務ガイドをタスク管理のタブに統合:PM業務ガイド→タスク管理(PM)、制作業務ガイド→タスク管理(制作)の業務ガイドタブへ。独立NAV廃止(_guideBodyHtml分離・renderTaskMgmtにguideタブ・seg切替は_guideRerenderでタブUI保持・route/renderGuide休眠)。
- タスクまとめ期日「+-1日」修正:前日(off=-1)が「+-1日」表示→当日/+N日/-N日に統一(_ttReadRows・モーダル/業務ガイドと統一)。
編集ファイル
lib/task_triggers.js / pages.js(契約請求) / lib/task_mgmt.js(新規タスク優先度) / lib/revisions.js(優先度4段階・連携) / lib/form_inbox.js(文字色) / lib/monthly_report.js(再設計) / core.js(PROJECT_PAGES) / lib/manual.js(changelog)
デプロイ・確認
backup複数(pre-modal-contract/pre-tt-modal-fulledit/pre-guide-tabs他)。node --check全OK。本番 v=20260623k 全script反映・各機能curl確認(_ttTaskModal/_revToTaskPriority/table-layout:fixed/_mrOverallHtml/_guideBodyHtml/PROJECT_PAGES月次除外0/NAV業務ガイド0/期日当日)・/api/data 401。ver=v3.0.307実測(9件)。直接prod(社内ツール)。
設計判断・注意点
- 月次レポート目的=「社内振り返り」を大串確認で確定。クライアント向け運用報告は後日。
- 修正依頼優先度はtask_mgmt
TK_PRIORITIESと統一(緊急1/高2/中3/低4)。 - 旧AI月次生成(
generateMonthlyReport等)・旧infra・旧PM_GUIDE_DEFAULT等は休眠保持。 task_triggersのtarget/off変更がモーダルから可能に(大串自身が編集)。
次
大串の実機確認FB待ち(7項目・特に月次レポートの中身と修正依頼→制作タスク連携)。
13:25 - SCALE CRM v11.5.97 Slack通知連携 + 基準点v83〜97をDrive競合消失から復元
対象
SCALE CRM(scale-lead / crm.scale-group.co.jp / 正本 ~/株式会社SCALE/scale-lead/)。本番アプリ v11.5.97 LIVE。
v11.5.97(電話対応/問い合わせリストのSlack架電報告通知を連携)
大串FB「TERASU案件の電話対応/問い合わせリストで架電してもSlack通知が来ない・架電リストと同様に連携してほしい」。真因=_checkSlackOnStatusChange(pagecore_slack.js)の通知対象が受付ブロック/失注/育成/資料請求/メール日程調整の5種のみで、電話対応/問い合わせの新ステータス(見送り/メール回答待ち/再架電/日程調整中/検討中・保留/連絡不可)が対象外だった。対応=通知対象をlistType別化(listType phone/inquiry はアポ獲得以外を全部「架電報告」teleapo_loss へ・大串選択「アポ獲得以外を全部通知」/対象外は架電でないため除外/アポ獲得は従来通り「アポ報告」teleapo_apo)。モーダル不要ステータス(ST_REQUIRED_FIELDS=null)はインライン即保存で通知漏れ→clInlineSaveに!needModal限定で通知呼出を追加。文面=_slackPostCallReportToThreadに汎用else+iconMap新8種。架電リスト(アウトバウンド)は無変更=退化なし。
基準点のDrive同期競合による消失と復元(今セッションの主作業)
- 事象:
_SCALE_CRM_最新基準点.mdが6/17(v11.5.82)時点までDrive同期競合で巻き戻り、phase_v11_5_83〜96(6/18〜22の14版)と作業ログ_2026-06-18〜22がまるごと消失。v97更新時のEdit失敗(frontmatterがv82のまま)で発覚。 - 真因: 6/18〜22に基準点へ書いたphase更新が git commit される前にDrive側の旧版で上書きされ、その後 auto-sync が旧版を commit(基準点の最新git commitが6/17 de09b8e のまま)。Vault git auto-sync(5分)自体は健全に稼働中(最新 b33e271 「Auto sync 2026-06-23 13:01」)だが、commit前の編集はDrive競合の窓で消える。
- 復元: 一次記録が残る
service.jsCOCREATE_VERSIONS(本番v11.5.97にデプロイ済み・v80〜97の全changelog健在)から phase_v11_5_83〜97 を再構築して基準点frontmatterに復元。frontmatter上部メタもv11.5.97に更新+recovery_note_2026-06-23を追記。 - 再消失防止: 復元直後に
git add + commit(auto-sync任せにせず明示commit)。 - 検証: v83〜97 全15版OK・各phase行クオート整合OK・欠番なし。
教訓(恒久)
基準点ノートの重要更新は 編集後に即 git commit する。Drive auto-sync(5分)に任せると、別端末/Drive側の競合で巻き戻り→auto-syncが旧版をcommitする窓がある。今回は service.js のchangelogが一次記録として本番に残っていたため完全復元できた=コード内changelogはVault消失時の最後の砦。vault-baseline-commit-immediately
11:21〜12:57 - 大串FB6件(ドメインデプロイ削除/部署タブ/HP制作フロー番号/業務ガイド連動/優先度列削除/タスク詳細モーダル)本番LIVE v3.0.298
対象
TERASU CRM(terasu-mgmt / crm.terasu.scale-group.co.jp / 正本 ~/株式会社SCALE/hp/terasu/)。本番 v=20260623e / アプリ v3.0.295。前セッションのhandoff直後、大串の実機確認FB3件を1デプロイで対応。
大串FBと対応
- ドメイン・デプロイ削除: 「使うイメージ湧かない・顧客がドメイン触る・必須じゃないなら削除しちゃおう」→ infra を NAV(core.js:1420)/route(2102)/PROJECT_PAGES(2153) から除外。
renderInfra/saveInfra(pages.js)は休眠保持。マニュアルのデプロイ手順から「/infra に登録」案内も除去。 - タスクまとめ部署タブ(全体/PM部署/制作部署): 「PM・制作など担当部署ごとに選んだらそれだけ見える・全体+他2タブで3タブ」→
renderTaskTriggers上部にタブ(window._ttDeptTab)。target=PM/制作で絞り込み・空イベントカード非表示・編集中は全体固定。 大串は「FS部署」と書いたが TT_TARGETS=['制作','PM'] でFSタスクは存在しない(FS=受注前の商談担当でタスクまとめ対象外)→ 文頭「PM・制作など」と実態に合わせPM/制作とした。報告で明示。FSが別途必要なら追加指示待ち。 - HP制作フロー番号の青・丸除去: 「1〜13が青文字・色なくして・丸で囲う必要もない」→
hp_flow_guide.jsの番号バッジ(青グラデ円形)を廃止しグレー(var(--text3))プレーンに。中黒(・)も青→グレー。番号は右上「Step N/13」で確認可。 - 業務ガイドをタスクまとめ連動に(二重管理の根治・追加FB): 「タスクまとめが制作の最新ver・制作業務ガイドは合ってる?合わせて/PM業務ガイドも最新を反映して」→ 業務ガイド(PM/制作)をtask_triggersから動的生成(
_guideFromTriggers)。制作=「後で加筆」の仮テンプレ放置→タスクまとめの制作13タスク(キックオフ基準)に。PM=v3.0.289で揃え済みだが固定換算→各基準日(契約/KO/納品)+N日の正確表示に。renderGuideは読み取り専用化+「タスクまとめを編集」ボタン。前回PMを手で揃えてまた聞かれた=二重管理が真因→動的生成で根治。 - タスクまとめ:優先度列を削除: 「タスクに優先度はいらない・列ごと削除」→ 読み取り/編集UIから優先度列削除(3列に)。生成タスクはnormal固定。TT_PRIORITIES休眠。
- タスククリック→詳細+メール文面モーダル(共通): 「タスク押したらモーダルで詳細・メール文面(FMT)・タスクまとめと業務ガイドで全く同じ内容」→ 各タスク行クリックで共通モーダル
_ttTaskModal。detail/mailをtask_triggersに保存=単一ソースで全画面同一。メール文面コピー有・画面外クリック無効。業務ガイドのテンプレ列はモーダルに集約。FB「同期されてる?」は前回v3.0.296で実装済みと確認・回答。
編集ファイル
core.js(infra 3箇所) / pages.js(デプロイ手順文言) / lib/task_triggers.js(部署タブ・優先度削除・タスクモーダル) / lib/hp_flow_guide.js(番号青除去) / lib/pm_projects.js(業務ガイド連動・行クリック) / lib/manual.js(changelog 6件)
デプロイ・確認
backup: 4本(pre-infra-tabs-flow/pre-guide-trigger-sync/pre-tt-priority-remove)。node --check 全OK。本番 v=20260623g 全script反映・部署タブ(_ttDeptTab=4)・_ttTaskModal/_ttTaskRowClick配信・優先度esc(pr)0・infra NAV 0・_guideFromTriggers配信・/api/data 401。ver=v3.0.298 実測(298 bullets)。業務ガイド生成はnodeで制作13/PM4フェーズの期日まで実検証。直接prod(社内ツール)。
注意点・退化リスク
- changelog(lib/manual.js)は template literal内=バッククォート禁止(今回も不使用で node --check OK)
- infra の
renderInfra/saveInfraは pages.js に休眠保持(NAVから消えただけ・データ温存)。復活時は core.js の3箇所(NAVコメント・R-mapコメント・PROJECT_PAGES)を戻す - タスクまとめのタスク反映先を
PM/制作以外(例:FS)に変えると部署タブのフィルタ対象が増える。タブを増やす場合は task_triggers の TT_TARGETS も拡張が必要
次
大串の実機確認FB待ち(特にタスクまとめのPM/制作タブが意図通りか・ドメインデプロイ消えたか・HP制作フローの番号の見た目)。
10:48 - /handoff TERASU CRM 大量改修(v3.0.288→292・本番LIVE)
対象システム
TERASU CRM(terasu-mgmt / crm.terasu.scale-group.co.jp / 正本 ~/株式会社SCALE/hp/terasu/)。本番 v=20260623d / アプリ v3.0.292。
セッション背景
前セッション(06-22)のフォーム自動連携・タスクまとめ4イベント化・受注案件シート改修の続き。06-23 はフォーム反映漏れ対策・レポートタブ・進行状況のタスクまとめ連動一元化まで。
完了タスク(v3.0.288→292・主要)
- フォーム反映漏れ対策=あいまいマッチ: KO_FORM_MAPの質問文とGoogleフォームの質問文が完全一致でなくても拾えるよう
_koNormQ(括弧と中身/空白/コロン除去)で正規化マッチ。_koApplyFormRowを normRow ベースに。production_policyラベル「HP制作の進め方(先方の希望)」→「HP制作の進め方」(括弧外し)。sel_text プルダウン幅 max-width:220px→none/flex:1/min-width:240px(見切れ解消)。手動入力でも項目チェック自動ON(_koOnChangeで data-kochk 更新)+チェック色をグレー(#94a3b8)に統一。 - フォーム回答セクション右上に「フォーム編集」「回答ページ」外部リンクボタン追加。
- ダッシュボード数値修正: renderDashboard を
pm_excluded(取り消し案件=YYaaa等)・deleted_at除外=常に最新の真実(誤タップ分が残らない)。 - フォーム回答に「レポート」タブ追加(v3.0.290): 回答一覧/レポートの2タブ。レポート=総回答数/反映状況サマリ+主要選択式項目を選択肢別に件数/%バーで集計(
_friReportInner/FRI_REPORT_FIELDS・あいまいマッチ)。 - 進行ガイドを最新タスクまとめに同期(v3.0.289)。
- 受注案件シート進行状況をタスクまとめ連動で一元化(v3.0.291): 「チェック」「進行(ガイド)」2列→「進行状況」1列(PM ●/N・制作 ●/M)。クリックで進行モーダル(task_triggers全タスクをPM群/制作群・チェック・期日・次タスクハイライト)。
flow_checks(key=event|name)にD1保存=リアルタイム同期。源はタスクまとめ。品質チェック26項目は制作「公開前レビュー」配下のサブチェック(qa|)に統合(A案)・納品ゲートも_pmFlowQACountで判定。 - PMダッシュボード「最終チェック待ち」も
_pmFlowQACountに統一(v3.0.292)=全画面で品質チェック参照を一本化。
編集ファイル
- kickoff.js —
_koNormQ/_koApplyFormRowあいまいマッチ・production_policyラベル・sel_text幅・_koFielddata-kochk+グレー色・_koOnChange手動チェック自動ON - lib/form_inbox.js — フォーム編集/回答ボタン・レポートタブ(
_friReportInner/FRI_REPORT_FIELDS/_friAnsOf) - core.js — renderDashboard pm_excluded/deleted_at 除外
- lib/pm_projects.js — 進行状況一元化(
_pmFlowTasks/_pmFlowProgress/_pmFlowModal/_pmFlowQACount/_pmFlowToggle/_pmFlowQAModal)・最終チェック待ちQA統一 - lib/manual.js — changelog
デプロイ・バックアップ
- 本番 v=20260623d / アプリ v3.0.292 / 全デプロイ済・本番?v実測確認
- backup: terasu-mgmt_2026-06-23_*(formreport-tab / flow-unify / dash-qa-unify 等)
- 直接prod(社内ツール)・node --check 全OK
ユーザーFB(重要・恒久)
- 集計・KPIは常に最新の真実を反映(pm_excluded/deleted_at除外)。誤タップで間違いデータが残り続ける設計はNG(memory
feedback_always_latest_truth) - フォームの質問文が多少違っても反映されるように(あいまいマッチ)
- 進行チェックはタスクまとめ連動で一元化・PM/制作それぞれ全何ステップ・今どこか・リアルタイム同期
注意ポイント・退化リスク
- changelog(lib/manual.js)は template literal内=本文にバッククォート禁止(node --checkで構文エラー・このセッションで2回やらかし)
- 旧 PM_GUIDE_DEFAULT /
_pmpCheckCount(p.checks) /_pmGuideRunModal/_pmChecklistModalは休眠保持。進行はflow_checksが正 - task_triggers のタスク名を変えると
flow_checksのキー(event|name)が変わる→既存チェックが外れる。タスク名変更は慎重に - Apps Scriptトリガーはフォームにコンテナバインド済(terasu.scale@gmail所有・
getActiveForm使用)。openByドは別アカウント権限で不可
次のセッションで取り得る選択肢(実機確認が最優先)
- 受注案件シートでキックオフ日入力→キックオフMTG準備(前日)/実施タスクが自動生成されるか/日付変更→期日スライドするか
- 進行状況モーダル(PM/制作の全ステップ・次タスク)・レポートタブの実機FB対応
- 案件切替プルダウン(.ko-projsel・220px)も会社名が長いと見切れる→必要なら広げる
引き継ぎファイル
/tmp/handoff_20260623_104810.txt
07:16 - /handoff 実行(HackCamp HubSpotマニュアル制作)
対象システム
HackCamp HubSpotマニュアル(新規)/ hackcamp-hubspot-manual
セッション背景
HackCamp案件のFS(IS)新規メンバー向けに、HubSpotの使い方マニュアルを制作。トンマナ・サイト形式はterasu-pm-manual(TERASU PMマニュアル)と同一にする指示。
完了タスク(詳細)
- terasu-pm-manualの仕組み(source.html→gen.py分割生成方式・style.css/common.js)を読み込み把握
- サイト名 hackcamp-hubspot-manual に確定(大串OK)
- 想定読者=HackCI案件のFS専用と確定
- 第1版(6ページ)を生成・ローカル動作確認(クリーンURL含め200)
- HubSpotとは(index)/ ①コンタクト / ②会社 / ③取引 / よく使う操作 / Q&A
- ネット情報反映:HubSpot公式の3オブジェクト定義、HackCamp会社情報(共創ナビivan/実績企業ダスキン・三菱電機等)
- 取引ページにパイプライン3種の使い分けを追加(大串の最新指示反映)
- 共創ナビivan_セールスパイプライン=ISがほぼここ使用
- 共創ナビivan_ユーザー管理=受注後
- イベント事業_セールスパイプライン=ハッカソン等・ほぼ菊地さん対応
- ステージ正確化:未商談/IS対応中/アポ獲得/提案中/担当者合意/決裁者合意
編集ファイル
- ~/dev/hackcamp-hubspot-manual-source.html - 全セクション本体(超詳細テキスト+スクショプレースホルダー)
- ~/dev/hackcamp-hubspot-manual-gen.py - ページ分割生成(terasu-pm-manual-gen.pyベース・PAGES差し替え)
- ~/dev/hackcamp-hubspot-manual/ - style.css・common.js流用、生成6ページ、img/(空)
デプロイ・バックアップ
- 未デプロイ:Cloudflare Pagesプロジェクト上限(100)に到達し新規作成不可(既知の制約)
- 大串判断:「まずローカルで完成させる」→ デプロイは枠を空けてから後回し
- ローカル確認:wrangler pages dev(nohup・ポート8788)でクリーンURL配信中
試したこと・学び
- python http.serverはクリーンURL(/contact)非対応で404 → wrangler pages devに切替で本番同様確認可
- preview_start(MCP)は別のlaunch.jsonを参照していて使えず → Bash nohup起動で対応
- Cloudflare Pages上限100到達でwrangler pages project create失敗(code 8000027)
ユーザーFB(重要)
- トンマナ・サイト形式はterasu-pm-manualと同じで(CSS流用OK)
- 構成指示:HubSpotとは→3オブジェクト(コンタクト/会社/取引)各解説→見方→スクショと手順→ネット情報も
- 超詳細に記載したい
- 取引のパイプラインは商材・フェーズで3種類に分かれる(重要情報を後から追加)
- メールルール(このセッション以前から蓄積):件名3案・貴社(御社NG)・宛名=会社名+苗字様
注意ポイント・退化リスク
- 編集は必ず source.html を直す → gen.py 実行(各HTMLを直接編集しない=上書きされる)
- スクショはチャット添付では保存不可 → 大串が img/ に置く必要。プレースホルダー(📷 ここにスクショ)が各所にある
- デプロイは枠問題が未解決(削除 or for SaaS or 既存相乗りの判断待ち)
次のセッションで取り得る選択肢
- スクショを img/ に配置 → 各プレースホルダーを実画像に差し替え(gen.pyの該当箇所or source.html)
- 残りページ(コンタクト/会社/操作)の中身をさらに深掘り
- Cloudflare Pages枠を空けて hackcamp-hubspot-manual をデプロイ(社内向け=直接prod OK)
ローカルプレビュー
http://localhost:8788/ (wrangler pages dev・nohup起動中)