⚙️ Vault運用

2026-06-12_作業ログ

最終更新 2026年06月13日 / 90_Meta/Claude作業ログ/2026-06-12_作業ログ.md

作業ログ 2026-06-12

20:45 - SCALE Base v1.300 ce-2026-06-12-04【UX根治】夜日報の本日分/昨日分の導線混乱

大串FB

「本日のよる日報を提出しようとしたら昨日の出るんだが」(スクショ: ?date=2026-06-11 遅延提出モード)

真因

  • 「本日の稼働終了(夜日報)」自体は正しく今日に飛ぶ。?date=昨日を渡す導線は ①未提出赤アラート ②常設「昨日の夜日報を提出」 ③通知ベル の3つ
  • ②が青primary風で画面上一番目立ち「夜日報を出すならコレ」に見える視覚階層が原因(本日用は地味な紫アウトライン)

修正(2点・1リリース)

  1. 夜日報ページ: ?date=過去日 で開いたら「これは遅延提出です。今日の分はこちら→」切り替えバナー常時表示(全導線を救済)。切替は window.location.href フルナビ(state持ち越し事故を構造防止)
  2. ダッシュボード: 過去日入口ボタンを青solid→ghostに格下げ(導線・機能は v1.290 のまま維持・勝手に消さない)

検証・デプロイ

  • ✅ 本番バンドルJS grep実測: 切り替えバナー/ghost化とも配信中・両ページ200・version.json v1.300/ce-2026-06-12-04
  • pre 203419 / post 204245・git push済(8885f8d)・ロックrelease済

学び

  • 「機能は正しいのに導線の視覚階層で誤クリックを誘発する」class のバグがある。primary風スタイルは「その画面の本命アクション」だけに限定する
  • ?date= 付きで開くページには「意図と違う日付だった時の脱出口」を常設すると、どの導線から来ても自己回復できる

15:20 - 【恒久ルール化】TERASU HP デモ更新ワークフロー(大串FB高評価→ルール昇格)

大串FB原文

「デモ更新の流れ、めっちゃ良かった!今後はデモ更新依頼したら、毎回直接デプロイでTERASU HP特化のリンクに変更したうえで公開してね〜。制作実績に乗せているのは、全部TERASU HP直下のデモリンクにしたい。統一感出るし」

ルール化した内容

  1. デモ追加/更新依頼 = preview 不要・直接 prod デプロイ(preview必須ルールの例外5として追記)
  2. 必ず /demos/<名>/ に内部ホスト化してから works カードへ。外部 pages.dev リンク新設禁止
  3. 手順 = ver20.7 で確立したフロー(ミラー→クエリ名正規化→パス書換→偽アセット削除→実機検証→/tmp方式デプロイ)

反映先


15:15 - TERASU HP ver20.9 worksカード順変更(本番反映済)

大串指示

「TERASU HP・INK&PIXEL・petomo の3つが上になるように。あとは順番なんでも良い」

変更

  • 新順: TERASU / INK&PIXEL / petomo / 匠工房 / ライフリンク / LINX / TIME+ / MIO(4位以下は従来相対順維持)
  • python並べ替えでカード集合・総バイト・a均衡24/24不変を assert
  • backup: ver20.9-changed-files-1449 / 本番検証=新順配信・ver20.9

15:05 - TERASU HP ver20.8 worksリード文「一部抜粋」表現に変更(本番反映済)

大串指示

「まだ件数が少ないから、一部抜粋して載せてますみたいな表現入れて、少ないのカバーしたい。全部でこれ?って思われるリスクを解消」

変更

  • works dg__lead 1行目: 「TERASUが手がけた制作実例です。」→「TERASUが手がけた制作実例の中から、一部を抜粋してご紹介しています。
  • backup: ver20.8-changed-files-1445 / 本番検証=新リード文配信・ver20.8・カード8/a均衡24維持

14:55 - TERASU HP ver20.7 全デモをTERASU配下リンク化(petomo+INK&PIXEL内部ホスト・本番反映済)

大串指示

「リンクはTERASUのデモのリンク形式に変更して。全部のデモ、ちゃんとTERASU HP配下のデモのリンクとして載せたい」

完了タスク

  • petomo 内部ホスト化: wgetミラー(78ファイル・全相対パス)→/demos/petomo/
  • INK&PIXEL 最新版の内部ホスト再挑戦→成功: /demos/ink-pixel-studio/を ver16.0旧版→最新版に置換
  • works カード2枚の href/em を terasu.scale-group.co.jp/demos/ 形式に → 8カード全部TERASU配下・外部pages.devリンク0
  • 本番検証: works 8カード/petomo 200/ink-pixel最新版(49110b)/kv-line.svg 200/ver20.7 — 全合格

学び(重要)

  • ver20.0「INK&PIXEL特殊スクロールJSで内部ホスト不可」の真因は kv-line.svg 手順漏れ。「不可」と記録された過去判断も、構造を再調査すると解けることがある
  • wget はクエリ付きURL(?ver=)をファイル名に含めて保存する → Pages デプロイ前に ${f%%\?*} リネーム必須

14:30 - TERASU HP ver20.6 制作実績に petomo 追加(直prod・本番反映済)

大串指示

「https://hp-demo-petomo.pages.dev/ を制作実績に追加よろしく!いきなり本番デプロイでこれは良いよ!」

完了タスク

  • works/index.html に petomo 外部リンクカード追加(末尾8枚目)
  • サムネ img/demo-petomo.jpg 新規(headless Chrome 1100x1451 縦長FVキャプチャ)
  • バージョン管理表 ver20.6 行追記・★現行prod 移動済

学び

  • 本番ドメインはデプロイ直後エッジキャッシュで旧版が数分残る。ハッシュ付きデプロイURLで実体確認→本番は polling で伝播確認の2段が確実

14:04 - SCALE CRM v11.5.81 根本解決: 退職者即時遮断+ログイン期限180日(本番LIVE・E2E実弾検証全合格)

経緯

大串「ログイン有効期限っているの?」→ 大串「根本解決で」

実装(1リリース)

  1. sessionMemberExists 新設(_lib/auth.ts): セッション検証後に members 名簿照合。削除=即401 MEMBER_REVOKED
  2. 厳格ゲートを per-row データAPI 17パスへ拡張(_middleware.ts)
  3. /api/v2/auth/me にも照合
  4. SESSION_TTL_DAYS 30→180日

E2E実弾検証(本番・全合格)

ステップ 結果
テストメンバー作成→ログイン Max-Age=15552000(180日実効)
member_rows から DELETE→70秒後 同cookie 401 MEMBER_REVOKED
正規メンバー(大串)calls/me 200 継続

運用変更

  • 退職/契約終了 = メンバー管理から削除するだけ(最大60秒で全API遮断)

注意(退化リスク)

  • members 縮小防御が生命線(S()/d1Poll/サーバ側 縮小ブロックを絶対に外さない)

13:49 - SCALE CRM v11.5.80 遅さ解消#1: ゴミ箱行の転送除外(本番LIVE)

大串指示

「遅くなっている原因全部まとめて、全部1つずつ解消していきたい」

v11.5.80 実装

  • /api/calls GET: excludeDeleted=1 / onlyDeleted=1
  • showCallTrash: オンデマンド取得→_cacheマージ→30日超物理削除

本番実測検証

  • excludeDeleted: 3,940行(4,931-991ぴったり)・実転送879KB/0.73秒

注意(退化防止)

  • since差分にexcludeDeletedを付けてはいけない(削除/復元の他端末伝播が壊れる)

18:45 - Inbox自動整理(投入0/削除4/保留0)


15:40 - SCALE Base v1.299 ce-2026-06-12-03【機能】作業中追加タスクを当日朝日報に自動反映

大串FB

「作業中で追加したタスクは、その日の作業開始報告の朝日報で選んだタスクに入れたいね」

実装

  • appendTaskToMorningReport 新設(lib/work-log.ts)
  • ActiveBoard の3追加経路全部にフック

13:36 - SCALE CRM v11.5.79 「架電リストが開けない」FB根治(本番LIVE)

真因(2段構造の2段目)

セッション一斉失効の401サイレント失敗: 5月末+14日=6/11〜12にメンバーのセッションが一斉失効。タブ使用中の失効はデータAPI全経路が if(!res.ok)return で完全沈黙→無限スピナー。

修正(v11.5.79・1リリース一括)

  1. _authExpiredNotice 新設: 401/403検知→再ログインバナー
  2. _clLoadFailUI 新設: 失敗確定時は失敗UI
  3. SESSION_TTL_DAYS 14→30日
  4. [LOAD]計測ログ

学び

  • TTL系設定を入れた日+TTL日数=一斉失効日
  • if(!res.ok)return と リトライ設計の組合せ = 認証失効で無限ループ

11:55 - TERASU CRM 確度モーダル 入力消失対策 (v3.0.181)

大串FB

「書き終わりくらいで全部消えた。消えるのヤバい」

実装 (3層防御)

  1. 入力ドラフト自動保存+復元 (localStorage)
  2. 画面外クリック防御 (_modalNoBackdropClose)
  3. リロード防御 (beforeunload + 自動再開)

学び

  • TERASU CRM の全モーダルは overlay クリック即閉じ仕様。長文入力系には _modalNoBackdropClose=true で防御

09:35 - SCALE Base v1.298 ce-2026-06-12-02【根治】新規タスクが過去の同名タスクの累計を継承

大串FB

「商談準備が、いきなり累計37分から始まっていた。まだやってないのに」

真因

getAccumulatedMsForTask が「ID一致 or 名前一致」のOR判定で過去同名エントリを合算

修正

  • 累計集計をID厳格一致に(名前一致はID無し同士のみ)
  • pickTimeTrackTaskByName 新設

学び

  • 「ID一致 or 名前一致」のOR判定は、繰り返し名タスクで過去実績を継承する温床
  • 「これからやる」文脈と「やった事実」文脈で同名解決の正解が違う

09:01 - /handoff 実行(SCALE Base v1.293-v1.297)

完了タスク

  • v1.293: 「インプット(YouTube)」重複生成根治(trim正規化)
  • v1.295: IME変換確定Enter誤動作修正
  • v1.296: 朝日報→作業開始の定例選択漏れ根治(routineIdベース化)
  • v1.297: 定例タスク一覧の列はみ出し修正

ユーザーFB(重要)

  • 起業年齢は「20歳起業」が正(19歳は誤り・2026-06-11 本人訂正)