v1.1372026-06-22最新
サービス使用量の自動取得(Neon容量・Clerkユーザー数)+手動更新ボタン
Finance『サービス』の使用量を自動更新に。Neon は pg_database_size でDB容量を取得(トークン不要・アプリ本体DBに問い合わせ)、Clerk は既存キーでユーザー数を取得。日次 Cron(services-refresh)が autoSource 接続済みの行を自動更新し、各カードの『更新』ボタンで即時取得も可能。サービス編集に『自動取得』セレクタ(手動/Neon/Clerk/Vercel/Anthropic)を追加。Vercel/Anthropic はトークン接続後(VERCEL_API_TOKEN / ANTHROPIC_ADMIN_KEY)。スキーマ変更なし(autoSource 列は既存)。
新機能Neon(DB容量)と Clerk(ユーザー数)の使用量を自動取得。日次 Cron+カードの『更新』ボタンで即時取得。
新機能サービス編集に『自動取得』セレクタ。lib/services/providers.ts(neon/clerk 実装・他社 env-gated)、lib/db/usage.ts。
v1.1362026-06-22
Assistant に『依頼チャット』:自然文で依頼→質問→自動でエージェント作成・実行
作成フォームの初期設定を省く受付チャットを Assistant 最上部に追加。自然文で依頼を書くと、受付AIが実行に十分か判断し、不足なら簡潔に質問(最大3問・1〜2往復)、十分なら担当エージェント(kind=general)を自動作成して runAgentAction まで実行する(自走で社内記録、社外影響は承認=『確認・依頼』に積まれる)。受付AIは ask_clarification / dispatch_agent の1ターン判定(lib/actions/dispatch.ts)。デモ・APIキー未設定はモデル未呼び出しでガード。仕様: docs/specs/request-intake-chat.md。
新機能Assistant『依頼する』チャット: 自然文→不明点だけ質問→理解したら general エージェントを自動作成して実行。初期設定フォーム不要。
設計lib/actions/dispatch.ts(受付AIのツール判定→createAgentAction+runAgentAction)。デモ/キー未設定はガード。components/assistant/RequestIntake.tsx。
v1.1352026-06-22
デモのエージェント実行ガード+汎用承認フローの仕上げ
①公開デモではエージェントの実行を無効化(ANTHROPIC_API_KEY 未接続=悪用/コスト防止)。Team の『指示して実行』はデモで『実行は無効です(本番では指示どおりに動きます)』と綺麗に返す(クライアント側で停止+runAgentAction にもサーバ側ガード)。本番挙動は不変。②汎用エージェントの社外影響依頼(request_human_action→DecisionLog)の承認を、planExecution に human_action を追加して『承認しました。社外への実行は担当者(人間)が行います。』と明示(方針=社外実行は人間)。
改善デモではエージェント実行を無効化し、Team で綺麗にメッセージ表示。本番は通常どおり動作。
改善汎用エージェントの承認フローを仕上げ(human_action を planExecution が認識し、社外実行は人間と明示)。
v1.1342026-06-22
AIエージェント:汎用エージェント+自由指示(役割固定をやめる)
役割を11個固定で作り込む方針から転換し、『好きにエージェントを作って、自由に指示して動かす』形に。汎用 AgentKind『general』を追加(read_data で会社の現状=商談/タスク/候補者/メール/顧客/請求/制作/リード/活動 を取得→社内成果は record_recommendation で自走→社外影響は request_human_action で人間の承認・実行に回す)。エージェント作成の既定タイプを general に、未知 kind のフォールバックも general に変更。Team の実行ボタンを『指示して実行』に刷新し、自由テキストの指示をそのランの目的として渡せるようにした(instruction を runAgentAction に追加)。作成時の常設の役割(description)も system prompt に反映。方針は『同期実行のまま・社外影響はすべて人間が実行・まず動かし慣れる』。
新機能汎用エージェント kind『general』: read_data で現状取得、社内成果は自走、社外影響は承認に回す。既定の作成タイプに。
新機能Team の『指示して実行』: 自由テキストの指示をそのランの目的に(runAgentAction(agentId, instruction))。常設の役割(description)も prompt 反映。
改善役割固定の作り込みを撤回。lib/db/agent-context.ts に読み取り層を集約。デモにも汎用エージェント2体を投入。
v1.1332026-06-22
採用デモ強化:AIネイティブ訴求・正しい位置づけ・CTA大量配置・データ大幅増量
公開デモを採用目的に最適化。①位置づけ修正=Core は『一人用』ではなく『少人数チーム × AIエージェントの混成チームが AIネイティブに働く社内OS』。CLAUDE.md とデモ文言を更新。②ガイドを主役化=各画面で『この画面の働き方』を既定表示し、AIエージェントが何を担うかを前面に。日本語も自然に整え、候補者向けの『働きやすさ』訴求に。③採用CTAを大量配置=ウェルカム/ガイド/折りたたみバー/サイドバーに『カジュアル面談』『採用情報』導線(lib/demo/recruit.ts に集約・編集容易)。④ダミーデータを大幅増量=人間メンバー6名+AIエージェント6体の混成、商談37件・タスク20件・候補者23名・名簿24件・メール20件・イベント63件など全ページを稠密に。⑤未整備ページは locked 表示で『入社後に詳しく』とスマートに見せる。
改善位置づけを『少人数×AIネイティブの混成チーム』に修正(CLAUDE.md+デモ文言)。一人用との誤解を解消。
新機能DemoGuide を主役化:各画面の『働き方』+AIエージェントの担当を既定表示。自然な日本語に。welcome も刷新。
新機能採用CTAを大量配置(面談予約/採用情報)。lib/demo/recruit.ts に集約しリンク差し替え容易。サイドバーにも常設。
改善seed-demo を大幅増量(人間6+AI6、商談/タスク/候補者/名簿/メール/イベントを全ページぶん)。未整備ページは locked。
v1.1322026-06-21
Finance に「サービス & インフラ」タブ(契約・容量の一元管理+日次更新)
利用中の外部サービス(Neon/Supabase/Vercel/Clerk/Cloudflare R2/Anthropic API/GitHub/ドメイン等)のプラン・月額・容量/使用量・更新日・状態を1か所で可視化する新タブを Finance に追加。容量バー・更新日カウントダウン・最終確認からの陳腐化(要確認)を派生表示(純ロジック=Vitest)。月額合計/今月の更新予定/要確認件数のサマリ。追加・編集・削除・『確認済みにする』に対応し、空状態では『標準スタックを取り込む』で既知サービスを冪等投入。日次 Cron(/api/cron/services-refresh、CRON_SECRET 保護)が要確認の有無で『サービス棚卸し』タスクを1件だけ起票(重複なし)。実使用量の自動取得は各社 API トークン接続後に各行へ差し込む段階導入(プロバイダ層は env-gated stub=Vercel/Neon 用意済み・未接続は no-op)。新規 ServiceAccount テーブル(db push 済・DbSchema 反映)。仕様: docs/specs/finance-services-tab.md。
新機能Finance >『サービス』タブ: 外部サービスの契約・容量・更新日を一元管理。容量バー/更新カウントダウン/要確認フラグ+サマリ。追加・編集・削除・確認済み。標準スタック冪等投入。
新機能日次 Cron /api/cron/services-refresh(CRON_SECRET 保護): 要確認があれば棚卸しタスクを1件起票(重複なし)。接続済みプロバイダの自動取得フックは env-gated stub(Vercel/Neon)。
設計ServiceAccount テーブル追加(db push 済・DbSchemaView 反映)。派生ロジック lib/services/derive.ts は純関数+Vitest 10件。DB=lib/db/services、Action=lib/actions/services。
v1.1312026-06-21
修正: デモビルドの順序(generate を seed より前に)
公開デモのビルドで seed が prisma generate より前に走り、生成済みクライアント(.gitignore 済=未コミット)を import できず失敗していた。scripts/build.mjs を『prisma generate → (DEMO時) db push → seed → next build』の順に修正。
修正scripts/build.mjs: prisma generate を最初に実行。Vercel のクリーン環境で seed が Prisma を import できるように。
v1.1302026-06-21
公開デモのセットアップ自動化(env投入だけで完結)
公開デモ環境の手作業を最小化。ビルドラッパー scripts/build.mjs(package.json build)を追加し、DEMO_MODE=true のデプロイでだけ『スキーマ反映(prisma db push)→架空データ投入(seed-demo)→next build』を自動実行する。これにより Vercel の Build Command 上書きが不要になり、デモは『Neon でDB作成 → Vercel で env(DEMO_MODE/DATABASE_URL) 投入 → Deploy』だけで立ち上がる。再デプロイがそのままリセット(seed は冪等)。本番ビルドは DEMO_MODE 未設定で従来どおり(prisma generate → next build)一切不変。
改善scripts/build.mjs を追加し package.json build をラップ。DEMO_MODE=true のときだけ db push + seed を前段で自動実行(DEMO_SEED はビルドが内部付与)。
改善デモ立ち上げ手順を env 2つ(DEMO_MODE/DATABASE_URL)+Deploy に簡素化。Build Command 上書き不要。spec 更新。
v1.1292026-06-21
採用向け公開デモ環境(認証なし・実データ非露出)
採用候補者に『業務管理のエクセレンス』を見せるための公開デモを追加。本番とは別 DB に向く隔離ビルドで、実データ(取引先・書類・数値・HP計測)は構造的に露出しない。①DEMO_MODE のとき Clerk を一切使わず(ミドルウェア/ClerkProvider/プロフィール取得を全てバイパス)誰でも認証なしで全メニューを閲覧・操作できる。②全モデル網羅の架空データ seed(scripts/seed-demo.mts、冪等=定期リセット可、安全装置 DEMO_SEED=yes+デモ組織スコープ削除で本番誤接続でも無害)。③各画面に『なぜ効くか/AI がどこまでやるか/なぜ1人で回せるか』を解説する PR ガイド(DEMO_MODE 限定の DemoGuide)。CMS env 未設定で計測は『未連携』に縮退。本番挙動は DEMO_MODE 未設定で一切不変。仕様: docs/specs/public-demo-environment.md。
新機能公開デモビルド: DEMO_MODE で Clerk を完全バイパス(proxy/ClerkProvider/clerkClient)し、認証なしで全メニューを開放。デモは Clerk キー不要。
新機能全メニュー網羅の架空データ seed(scripts/seed-demo.mts、冪等)。安全装置: .env を読まず DEMO_SEED=yes 必須+削除はデモ組織限定。
新機能採用 PR ガイド(DemoGuide): 画面ごとに価値・AI の役割・1人運用の理由を補足。サンプルデータ明示。
設計lib/demo/ に分離(demo-flag=クライアント安全 / demo-auth=サーバ)。書き込み系は resolveClerkUserId 経由でデモ可。本番は全経路で従来どおり。スキーマ変更なし。
v1.1282026-06-21
計測:HP行動を1人1リードでMAへ+診断/問い合わせ取込+レポート閲覧計測
①MA取込を『1人1リード(emailマージ)』に刷新。予約・問い合わせ・診断を email でまとめて1つの Deal にし、最上位ステージ(予約/問い合わせ=MQL、診断のみ=NEW_LEAD)+合算スコアで反映(externalRef=inbound:<email>)。手動で SFA に進めた Deal は降格しない。Deal に email 列を追加。問い合わせ(contacts)・診断(diagnosis_submissions)も新たに MA へ。基準は docs/strategy/lead-scoring.md に明文化(人間レビュー用)。②レポートportal計測(契約⑤): /portal/[token] が ?aid=&src= を受け、report_open / report_tab_view(セクション初表示)/ report_dwell(滞在ms)を CMS events に記録 → デモレポート閲覧がジャーニーに合流。純ロジックは Vitest。
新機能予約・問い合わせ・診断を email で1人1リードに統合し MA(Deal)へ自動反映。診断・問い合わせを新規取込。基準 docs/strategy/lead-scoring.md。
新機能レポートportal の閲覧計測(report_open/tab_view/dwell)を anon_id キーで記録し、ジャーニーに合流。
設計Deal に email 列追加(db push 済・DbSchema 反映)。scoring/inbound-leads/report-events を純ロジック+Vitest。/api/report-events は公開ルート。
v1.1272026-06-21
Inbound:ジャーニー(訪問者ごとの閲覧・クリック経路)
Inbound に『ジャーニー』タブを追加。oyo.tokyo(HP)の events を anon_id / email で同一人物に束ね、訪問者ごとに『どのページを見て・どの CTA を押して・どんな経路で来たか』を時系列タイムラインで表示。各 CTA は cta_id を日本語ラベル化(例 problem-diagnosis→『課題提起:診断』、faq:設問:intent 対応)。導出シグナル=流入元・転換CTA・資料の最大到達ページ・診断/予約/レポート閲覧の有無。フィルタ(すべて/実名/転換)。現状はほぼ匿名だが、oyo.tokyo 側が identify / 問い合わせ(contacts)/ wp_read を送り始めると匿名訪問者が自動で実名リードにマージされる前方互換設計。集計(union-find による同一人物解決・タイムライン組立・シグナル導出・ラベル変換)は純ロジック+Vitest。仕様: docs/specs/inbound-hp-analytics.md。
新機能Inbound に『ジャーニー』タブ。訪問者ごとの閲覧・クリック経路を時系列表示し、CTA を日本語ラベル化。
新機能anon_id ↔ email を identify / wp_read / contacts で結合(union-find)。実名・転換が来れば匿名から自動マージ。
設計lib/inbound/journey.ts・cta-labels.ts(純ロジック+Vitest 13件)、lib/db/inbound-events.ts に wp_sessions(session_token) リーダ追加。
v1.1262026-06-21
Inbound:ダッシュボードを oyo.tokyo(HP)の実数値に
Inbound の『ダッシュボード』をダミー数値から HP(oyo.tokyo)の実計測に置き換え。共有 CMS Supabase の events / wp_sessions を service-role で読み、SNS 以外(記事・資料)を実数化。資料=閲覧(wp_sessions)/読了(完了率80%以上)/リード(email取得セッション)、記事=PV/CTAクリック/リード(記事に触れた anon_id の転換)。期間(今週/今月/全期間)は実バケットで切替。SNS は HP 由来でないため『未連携』を明示(偽数値を出さない)。contacts テーブル未作成・CMS 未接続・取得失敗時は 0 へ安全にフォールバック。集計は純ロジック+Vitest。仕様: docs/specs/inbound-hp-analytics.md。
新機能Inbound ダッシュボードを HP 実計測(events/wp_sessions)で表示。記事=PV/CTA/リード、資料=閲覧/読了/リード。
改善SNS カードは『未連携』を明示し、HP 施策合計(記事+資料)に SNS を算入しない。
設計CMS リーダ lib/db/inbound-events.ts(fire-safe・contacts 不在は空)+純集計 lib/inbound/dashboard.ts(パス分類/期間バケット/anon_id リード帰属)+Vitest。
v1.1252026-06-21
Studio:デザイン指針&学習ループ(指針で作る→修正→学習で指針改善)
Claude Design 生成に『デザイン指針』レイヤーを追加。①各制作物ページ上部の折りたたみパネルで全体指針/種別指針(サムネ・WP)を編集でき、生成プロンプトに自動注入(ブランド情報と同じ経路、上限4000字で切り詰め)。②各制作物に『この制作物への指示(brief)』を付けて生成できる。③制作物を『修正して再生成』でき、新バージョン(v2…)として保存・元も追える(ProducedAsset.parentId/version/input)。④修正指示は学習待ちに溜まり、Claude が一般化したルールを下書き→人が『全体/種別どちらへ反映するか』承認すると指針本文に統合(半自動・DesignGuideline/DesignFeedback)。仕様: docs/specs/studio-design-guidelines.md。
新機能デザイン指針(全体+種別)を Studio で管理し生成に自動反映。制作物ごとの指示(brief)も追加。
新機能制作物の『修正して再生成』(バージョン管理)と、修正から指針を学習するループ(AI下書き→人が承認)。
設計DesignGuideline/DesignFeedback 追加、ProducedAsset に brief/input/parentId/version。プロンプト結合・学習マージは純ロジック+Vitest。
v1.1242026-06-21
Studio:サムネPNGの日本語文字化け(消える)を解消=日本語フォント同梱
本番でサムネPNGの日本語テキストが描画されない問題を修正。原因は Vercel の Linux にCJKシステムフォントが無く、resvg が日本語グリフを描画できなかったこと(背景・図形は出るが文字だけ消える)。対処:Noto Sans JP Bold を assets/fonts に同梱し、render.ts で sans-serif/既定フォントに割り当て。next.config の outputFileTracingIncludes でフォントを関数に同梱。loadSystemFonts:false(=本番相当)でも日本語が正しく描画されることを確認済み。
修正サムネPNGの日本語が消える問題を解消。Noto Sans JP を同梱し resvg で確実に描画。
v1.1232026-06-21
Studio:R2資格情報をWPスライドと分離(Access Denied 対策)
Studio の生成が本番で『Access Denied』になる問題に対処。原因は Studio と WP スライドが同じ R2_ACCESS_KEY_ID/R2_SECRET_ACCESS_KEY を共有しており、本番の鍵が新しい studio-assets バケットにアクセスできなかったこと。storage.ts を、Studio 専用の STUDIO_R2_ENDPOINT/STUDIO_R2_ACCESS_KEY_ID/STUDIO_R2_SECRET_ACCESS_KEY を優先し、無ければ共有 R2_* にフォールバックするよう変更。これで WP スライドの資格情報を壊さずに Studio だけ別トークンを使える。
修正Studio の R2 資格情報を STUDIO_R2_* で個別指定可能に(共有 R2_* にフォールバック)。WP スライドに影響を与えず Access Denied を解消。
v1.1222026-06-21
Studio:生成失敗を画面クラッシュさせずトーストで要因表示
本番でサムネ生成が『Server Components のレンダーエラー』になり画像も出ない問題に対処。生成アクションの本体を try/catch で包み、例外を投げずにメッセージを返すようにした(RSC クラッシュ回避)。UI は『生成エラー: …』とトースト表示し、要因を可視化。ローカルでは同一DB・鍵で生成成功を確認済みのため、本番固有要因をこの可視化で特定する。
修正生成アクションを例外安全化(RSC クラッシュ回避)。失敗時は『生成エラー: 要因』をトースト表示。
v1.1212026-06-21
Studio:サムネ生成のエラーを解消(resvg を遅延読込+SVGフォールバック+Vercel同梱)
本番(Vercel)でサムネ生成がエラーになる問題を修正。原因はネイティブモジュール @resvg/resvg-js の .node がサーバレス関数に同梱されず、静的 import がモジュール読込時に失敗していたこと(try/catch より前で落ちる)。対処:①render.ts を動的 import 化し、読込/描画失敗時は null を返す(モジュールグラフを壊さない)。②サムネ provider は PNG 化に失敗しても Claude 生成の SVG をそのまま保存(常に画像が出る・ハードエラーにしない)。③next.config の outputFileTracingIncludes で resvg の Linux バイナリを関数に同梱し PNG 化を有効化。
修正本番のサムネ生成エラーを解消。PNG 化不可の環境でも Claude の SVG を保存して必ず画像を出す。
v1.1202026-06-21
Studio:Claude Design の接続バッジを実ステータス化(未接続固定を解消)
McpBadge が常に「未接続」と表示する飾りだった問題を修正。サムネ/WP 画面のバッジを、サーバの実接続状態(ANTHROPIC_API_KEY+R2 が揃っているか)に基づき『接続済み(緑)/未接続(黄)』で出し分けるようにした(`getClaudeDesignReadinessAction`)。両方揃って初めて『接続済み』=実生成可能。Webinar 等の後続機能は従来どおり未接続表示。
修正Claude Design 接続バッジを実ステータス(AI+R2 の有無)で表示。env 反映後は『接続済み』に変わる。
v1.1192026-06-21
ブランド管理:自社(Insider)のブランド情報をサービス概要から整備
「Insider サービス概要」を考察し、自社ブランド(clientId=null)を更新。①配色は概要資料の実カラーをサンプリング(主役=電気的インディゴ #2720F1+ディープネイビー/スティールブルー/スカイミスト/インク)。②文体7項目=課題起点・バイヤー視点(非売り込み)・データと出典で裏づけ・冷静で誇張に頼らない・結論ファースト・気づきを与える・コアメッセージ『知りたい情報から、良い商談が生まれる』。③禁止5項目=出典なき断定/数値・恐怖煽り・売り込み一辺倒・空疎なバズワード・過剰装飾。これらは Claude Design 生成(サムネ/WP)にブランド規定として自動適用される。再現スクリプト scripts/seed-self-brand.mts(logos/templates は温存)。
改善自社ブランド(Insider)の配色・文体・禁止表現をサービス概要から整備。Claude Design 生成に自動適用される。
v1.1182026-06-21
Studio:Claude Design でサムネイル(PNG)とホワイトペーパー(HTML)をアプリ内生成
Studio の制作をテンプレ差し込み/Markdown スタブから、Claude API による本生成に置き換え(ADR 0003 追補)。①サムネ=Claude がブランド配色・タイトルから SVG を生成 → @resvg/resvg-js で PNG 化 → R2 保存(fileUrl=PNG / sourceUrl=SVG)。②ホワイトペーパー=Claude が章構成からブランド準拠の自己完結 HTML(インライン CSS・印刷可)を生成 → R2 保存(PDF は対象外)。③生成物は <script>/on*=/外部URL を禁止しサニタイズ。AI 未接続・生成失敗時は既存テンプレ(SVG/Markdown)にフォールバックし従来動作を維持。④ProducedAsset に sourceUrl/sourceFormat/prompt/model を追加(再現・監査)。⑤コストガード:1日あたり生成回数を STUDIO_GEN_DAILY_LIMIT(既定50)で制限。仕様: docs/specs/studio-claude-design.md。
新機能Studio のサムネ/WP を Claude Design(アプリ内 Claude API)で本生成。サムネは PNG、WP は自己完結 HTML を R2 へ保存。
設計ADR 0003 追補:Claude Design を Studio 内 Claude API 生成として実装。ProducedAsset に sourceUrl/sourceFormat/prompt/model 追加、生成物サニタイズ、コストガード(STUDIO_GEN_DAILY_LIMIT)。
改善AI/R2 未接続時は既存テンプレ(SVG/Markdown)へフォールバックし従来動作を維持。
v1.1172026-06-21
ポータル:末尾の相談CTA(黒帯)を非デモで非表示・右カラムを狭め左カラムを拡張
①ページ末尾の相談CTA(黒帯)はデモ(見込み客向けサンプル)でのみ表示。既存顧客とは Slack 等で直接やり取りするため非表示に。②2カラムの比率を 1.85:1 → 2.5:1 に変更し、右カラム(獲得リード・ご請求)を狭めた分だけ左カラム(コンテンツ分析・インサイト等のレポート)を広げた。
改善末尾の相談CTA(黒帯)をデモ限定表示にし、既存顧客レポートには出さないように変更。
改善2カラム比率を 2.5:1 にして左のレポート領域を拡張、右の獲得リード・請求を適度に狭めた。
v1.1162026-06-21
ポータル微修正:コンテンツ分析の列幅と詳細›の縦ズレ・相談ボタンはデモ限定に
①コンテンツ分析テーブルに colgroup を導入し、コンテンツ列に残り幅を全振り(タイトルがより長く表示)、配信形式・数値・詳細列はコンテンツに合わせた幅に固定(配信形式の右余白を解消)。②行を縦中央揃え(vertical-align: middle)にし、「詳細 ›」のシェブロンを inline-flex の一体表示にして縦ズレを解消。③ヘッダーの『相談する』ボタンはデモ(見込み客向けサンプル)でのみ表示。既存顧客とは Slack 等で直接やり取りするため非表示に。
修正コンテンツ分析の列幅を是正(コンテンツ列を拡張・配信形式の右余白を解消)し、『詳細 ›』の縦ズレを解消。
改善ヘッダーの相談CTAをデモ限定表示にし、既存顧客レポートには出さないように変更。
v1.1152026-06-21
ポータル仕上げ:CSVをタイトル横へ・PRポップアップ整形・PDF/CSVはPR説明→CTA・請求ステータス非表示
①獲得リードのCSVボタンをセクションタイトル横へ移動(独立行を廃止し左右テーブルのズレを解消)。②PRポップアップ内の文章とボタンを縦並びに整え、ボタンで行間がガタつく問題を解消。③デモのPDF/印刷・CSVは直接遷移をやめ、価値説明+相談CTAのポップアップを表示(PrTipに任意トリガーを実装)。④ご請求のステータス表記(請求予定/請求済/入金済・請求なし)とグレーアウトを全廃し、各月は「YYYY年M月分」のみ表示(金額はトグルで開示・税抜/税込はそのまま)。
改善CSVをタイトル横へ移動しテーブルのズレを解消、PRポップアップの体裁を整え、デモのPDF/CSVは説明+CTAに、請求のステータス表記とグレーアウトを撤廃。
v1.1142026-06-21
ポータル微調整一式:請求の刷新・関心テーマ→該当リード・デモはPDF/CSVをCTA化 ほか
クライアントポータルの最終調整。①KPI3枚はスマホでも常に1行3カラム(ラベル簡潔化)、グラフ上部の数字とトグルの被りを解消。②コンテンツ分析は主要列のみ(横スクロール廃止)、行クリックで全指標を詳細表示。③獲得リードの右余白を詰め、左カラム(コンテンツ/インサイト)を広げた(1.85:1)。④関心テーマは「上位5テーマ」表記+クリックで該当リード一覧をモーダル表示。⑤ご請求を刷新:直近6ヶ月分を常時表示(請求なしの月も)、金額はトグルを開くまで非表示、内訳+合計(税抜/税込)を表示。デモではトグルを開くと金額を出さず相談CTAのみ。⑥デモではPDF/印刷・CSVダウンロードを実行不可にし相談CTA化(導入後に利用可)。⑦末尾CTAの文言を修正(『毎月お届け』→クライアントが常時閲覧できる共有ページである旨)。
改善請求を直近6ヶ月+金額はトグルで開示+税抜/税込合計、関心テーマのクリックで該当リード表示、KPI3枚をスマホ1行・グラフ数字の被り解消、コンテンツは主要列のみ+行クリック詳細。
改善デモではPDF/印刷・CSV・請求金額を出さず相談CTAに。末尾CTAの文言を共有ページ前提に修正。
v1.1132026-06-20
ポータル最終調整:上部カードを3枚に・カード↔グラフ連動を明快化・PR整列
①上部KPIを『リード数/商談数/受注数』の3枚に整理(総リード数と新規リードの重複を解消)。②カードとグラフの関係を分かりやすく:選択中カードはアクセント枠+下向き三角でグラフへ視覚的に接続、グラフは『{指標}の累計推移』として最後の棒=カードの数字に一致、週次/月次トグル。③PRバッジが行内に入ると高さがガタつく問題を、見出しを flex(中央揃え) 化して解消(サマリー/各セクション/詳細)。
改善上部KPIを3枚(リード/商談/受注)に集約し重複を排除。選択カード→グラフを三角+アクセントで連動表示、累計グラフの最終値=カード値で関係を明快に。
修正PRバッジで見出しがガタつく不具合を flex 整列で解消。
v1.1122026-06-20
ポータル大幅強化:KPI連動グラフ・コンテンツ詳細・PR刷新・実データ集計・CTA増・デモ/常時の切分け
クライアントレポートを営業的かつ実用的に増強。【常時機能】①KPI4枚をタップで指標切替+週次/月次トグルの推移グラフ(AnalyticsHeader)。②コンテンツを行クリックで詳細モーダル(1本ごとの全指標)。③リード詳細モーダル(既存)を整備。④関心テーマランキングを上位5に。⑤役職別/業種別を実ダミーから集計(ペルソナ別weightで現実的なばらつき=採用担当7…広告1、関心テーマも役職と相関)。⑥PDF/印刷・サマリー文は継続。⑦CTAを各所(上部ボタン/下部バナー/各PR内/コンテンツ・リード詳細内)に増設。【デモ限定】⑧PR訴求ツールチップを刷新:position:fixed+画面内クランプでカードのoverflowに切られず見切れない・タップ/ホバー両対応・スマホ右見切れも解消。各セクション/詳細に多数設置。⑨CTA文言をデモ(見込み客向け=サンプル提示)と既存顧客向けで出し分け。共通配色を components/portal/shared に集約。モバイルのヘッダー重なりも修正。
新機能KPIタップで指標切替+週次/月次の推移グラフ、コンテンツ行クリックで詳細モーダル、関心テーマ上位5、役職/業種別を実データから現実的に集計。CTAを各所に増設。
改善デモ用PR訴求ツールチップを fixed+クランプで見切れ解消(タップ/ホバー対応)、デモ/既存顧客でCTA文言を出し分け、配色を共有モジュールに集約。
v1.1112026-06-20
ポータル: サマリー文・週次トレンドグラフ・PDF出力・相談CTA・デモ用セールス説明
クライアントレポートをリッチ&営業的に強化。①エグゼクティブ・サマリー:上部に「新規リードX件・商談Y件(商談化率Z%)/関心は◯◯」を自動生成し、数字を読まなくても伝わる1文に。②週次トレンドグラフ:獲得リードの推移を依存なしのインライン棒グラフで可視化(点→線で成果が伝わる)。③PDF/印刷出力:『PDF/印刷』ボタンで window.print(社内報告用)。印刷時は表レイアウト固定・CTA/ツールチップ非表示・色を保持。④相談CTA:上部ボタン+下部バナーで『相談する』(oyo.tokyo/book)へ各所から導線。⑤デモ用セールス説明:isDemo のポータルのみ、各セクションの『PR』バッジにマウスオーバーで利点を説明するツールチップを表示し、商談で魅力を訴求。
新機能ポータルにサマリー文・週次トレンド棒グラフ・PDF/印刷出力・相談CTA(上部/下部)を追加。
新機能デモ用ポータル(isDemo)のみ、各所のPRバッジにホバーで価値を訴求するセールス説明ツールチップを表示。
v1.1102026-06-20
ポータルをモバイル=カード型に(テーブル廃止)+バッジ折返し修正
クライアントポータルの視認性を抜本改善。①配信形式バッジが幅不足で縦に割れていたのを nowrap で1行に。②モバイル(≤640px)では幅広テーブルを廃し、同じ情報をカード型で表示するレスポンシブ設計に(PC=表 / スマホ=カード を CSS の .pc-only/.sp-only で出し分け)。コンテンツ分析=サムネ+タイトル+配信形式+指標を3列ミニグリッド(閲覧/登録/DL・獲得リード/商談/完了率)のカードに。役職別/業種別 関心テーマ=区分+リード数+テーマを折返し表示するカードに。獲得リード・ランキングは既にカード/リスト型で据え置き。横スクロール不要で片手で読める。
改善モバイルでコンテンツ分析・関心テーマ集計をテーブルからカード型に切替(視認性大幅改善・横スクロール不要)。配信形式バッジの縦割れ(nowrap)を修正。
v1.1092026-06-20
ポータル: アプリ誘導の完全除去・左右レイアウト整理・モバイル対応
クライアントポータルの3点修正。①『アプリで開く』が残る問題:過去の訪問で登録済みの Service Worker が残存していたため、/portal では SW を能動的に unregister(manifest=null と併用)。②左右の崩れ:インサイト分析の役職別/業種別クロス集計表が2列に押し込まれ溢れていたのを、ランキング2枚は2列のまま・クロス集計表は全幅で縦積みに変更(横溢れ解消)。③モバイル:KPIの最小幅を150pxにして狭幅で2列に、本文左右パディングを16px下限に、ヘッダーpadding調整。2カラムは1024px以下で1カラムに積む既存挙動は維持。
修正ポータルの『アプリで開く』を完全除去(/portal で既存 Service Worker を unregister)。
修正インサイト分析のクロス集計表を全幅縦積みにして左右の崩れを解消。モバイルのKPI2列化・パディング調整で横幅崩れを修正。
v1.1082026-06-20
デモデータ整理+TestCompanyデモを再構築(HR SaaS・常に本日付)
①フルバックアップ取得後(backups/、142,070行)、ダミー企業『ああ』と HR サンプル11コンテンツを削除。SalesLead(13.5万件=Outbound)・Task/Document/Mail/EventLog 等の実データは一切触らず。②TestCompany を HR SaaS 系クライアントのペルソナでクリーン再構築:ウェビナー1+ホワイトペーパー1の2コンテンツ、約40リード(各社人事部長/CHRO/採用担当などの実在しそうな属性・関心テーマ・行動・課題インサイト・商談/受注の分布)、コンテンツ別メトリクス。③『日付を常に本日』を実装:デモ用クライアント(isDemo)のポータルは表示時にリード獲得日を直近28日(最新=本日)へ、請求月を今月起点へ動的シフト(再投入不要で陳腐化しない)。再投入用 scripts/seed-testcompany-demo.mts。
改善ダミーデータ(『ああ』社・HRサンプル11コンテンツ)を削除しTestCompanyをHR SaaSペルソナで再構築(2コンテンツ・約40リード)。Outbound等の実データは非対象。事前にフルバックアップ取得。
新機能デモ用クライアントのポータルはリード獲得日/請求月を表示時に『常に本日基準』へ動的更新(陳腐化しない)。
v1.1072026-06-20
デモ用クライアントの案件を SFA/MA/Finance からも除外
CRM に続き、デモ用クライアント(Company.isDemo)に紐づく案件(Deal)を Deals の MA/SFA・Finance の集計からも除外。listDeals/listDealsSlim の where に『company 未紐づけ または account.isDemo=false』を追加(手動作成や予約自動反映の company 未紐づけ案件は残す)。これでデモ用クライアントは CRM・SFA・MA・Finance・Analytics・健全性・Home の全集計から外れ、ポータル/Clients 管理表示のみ残る。
改善デモ用クライアントの案件を SFA/MA/Finance からも非表示に(listDeals に account.isDemo 除外)。デモのカウント混入をDeals全体で解消。
v1.1062026-06-20
デモ用クライアントを CRM の顧客カウント/一覧からも除外
クライアントページのデモ等に使うデモ用クライアント(Company.isDemo)が、Deals > CRM の顧客数・一覧・MRR合計・ステージ別カウントに含まれていたのを除外。listCustomers の where に isDemo:false を追加(CRM の表示は全て listCustomers 由来のため、これだけで顧客N社・活用中/リスク・MRR・タブのカウントすべてに反映)。Analytics/クライアント健全性/Home に続き CRM もデモ除外で統一。デモ企業のポータルや管理(Clients)上の表示は従来どおり。
改善デモ用クライアントを CRM の顧客カウント・一覧・MRR・ステージ別から除外(listCustomers に isDemo:false)。デモ企業のポータル/Clients 管理表示は維持。
v1.1052026-06-20
Deals/Inbound タブが最下部までスクロールできない不具合の真因修正
v1.104 の view 側修正では直らなかったスクロール不可の真因を解消。原因は高さの連鎖が page.tsx のラッパーで切れていたこと:PageLayout fill(flex flex-col flex-1 min-h-0)は親が flex でないと flex-1 が効かないのに、app/(dashboard)/deals/page.tsx と inbound/page.tsx のラッパーが『flex flex-col』抜けの flex-1 min-h-0 overflow-hidden だった。そのため PageLayout 以下の高さが content 高さに潰れ、内容がはみ出して親の overflow-hidden に切られていた(短い中身のタブでは露見せず、Calendar/HP の長い中身で発覚)。両ラッパーに flex flex-col を追加し、main→ラッパー→PageLayout→各 view まで高さ連鎖を復旧。これで Deals/Inbound 全タブが正しく最下部までスクロール可能に(参照: contents/page.tsx)。
修正Deals/Inbound の全タブで最下部までスクロールできない不具合を修正(page.tsx ラッパーに flex flex-col が抜けて高さ連鎖が切れていた真因を解消)。
v1.1042026-06-20
Calendar/HP タブのスクロール不可+HPの中央寄せを修正
タブ内ビューの高さ指定が誤っていて最下部までスクロールできなかった不具合を修正。原因は root に h-full overflow-y-auto を使っていたこと(flex-col 親では高さが定まらず内容がはみ出して下が切れる)。既存ビュー(InboundDashboardView 等)に合わせ flex-1 min-h-0 overflow-y-auto に統一。加えて HP タブが mx-auto max-w-3xl で中央の細い列になり他ページと違って見えたのを、Inbound 既定の左寄せ fill(p-4 sm:p-6+左寄せ max-w-4xl)に変更。
修正Deals>Calendar・Inbound>HP タブが最下部までスクロールできない不具合を修正(root を flex-1 min-h-0 overflow-y-auto に統一)。HP の中央寄せを左寄せ fill に変更し他タブとデザインを統一。
v1.1032026-06-20
Calendar: Google埋め込みに共有設定の案内を追加+env反映の再デプロイ
BOOKING_CALENDAR_EMBED_URL を本番に登録したため反映(再デプロイ)。①Google カレンダー埋め込み欄に、表示されない場合の共有設定の案内(一般公開、または各メンバーの Google アカウントを追加)を表示。予約一覧(台帳)は共有設定に関係なく社内の admin/sales 全員が閲覧できる旨も明記。
改善Calendar の Google 埋め込みに共有設定の案内を追加(他メンバーで表示されない場合の対処)。env 反映のため再デプロイ。
v1.1022026-06-20
Deals に Calendar タブ=予約台帳+予約の自動MA反映
oyo.tokyo の予約フォーム(/api/book)の予約を管理画面で確認し、自動で MA に反映する機能。①Deals に『Calendar』タブ(ショートカット4)を新設。共有 Supabase の bookings を service-role で読み、自社トンマナの予約台帳(日時JST/氏名・会社/email・電話/topic/流入元/Meetリンク/status、既定=今後の確定のみ)を表示。任意で BOOKING_CALENDAR_EMBED_URL を設定すると Google カレンダー埋め込みも下部に表示。②予約確定を MA(Deal・MQL)へ冪等に自動反映:キー=email、冪等キー=Deal.externalRef『book:<email>:<slot_start>』(新規ユニーク制約)。タブ表示時に自動同期+『MAに反映』ボタンで手動再実行。③Fit×Intent スコア(予約=60/診断併用=+30/estRevenue≥1,000万=+20・≥500万=+10)を Deal.intentScore に付与(予約単体でHot)。スコアロジックは単体テスト付き。即時push/シーケンスは oyo.tokyo の Loops 連携(実装済み)が担当し、台帳・名寄せ・MA反映・スコアは Nucleus 側が担う分担。スキーマ: Deal に externalRef / intentScore を追加(db push 済・DbSchemaView 反映)。
新機能Deals に Calendar タブを追加。共有 Supabase の予約(bookings)を台帳表示+任意で Google カレンダー埋め込み。
新機能予約確定を MA(Deal・MQL)へ冪等に自動反映(externalRef でキー化)+Fit×Intent スコア(Deal.intentScore)。oyo.tokyo の Loops 即時push と分担。
v1.1012026-06-20
ポータルを2カラム化+横幅拡大+折り返し削減+PWA誘導を確実にOFF
クライアントポータルの視認性改善。①レイアウトを2カラムに再構成(左=コンテンツ分析/インサイト分析、右=獲得リード/ご請求)。KPIは上部全幅。②コンテナ最大幅を 1160→1440 に拡大し横を広く使う。③テキストの過剰な折り返しを削減:コンテンツ名・関心テーマ・リード情報は折り返さず省略(…)+必要に応じ横スクロール(フル表示は不要の方針)。④獲得リードを幅広テーブルから右カラム向けのコンパクトなリスト(氏名+会社アイコン+役職・業種・獲得日)に変更。⑤PWA『アプリで開く』誘導を確実に抑止:metadata の manifest=null に加え、/portal では Service Worker 登録自体をスキップ。
改善ポータルを2カラム化(左コンテンツ/右リード・請求)+最大幅1440に拡大。過剰な折り返しを省略表示に。獲得リードをコンパクトなリストに。
修正クライアント共有ページの PWA『アプリで開く』誘導を確実にOFF(/portal は SW 登録もスキップ)。
v1.1002026-06-20
ポータル: コンテンツにサムネイル・リードに会社アイコン・ロゴ拡大・PWA誘導OFF
クライアントポータルの仕上げ調整。①コンテンツ分析にサムネイル表示(制作物 ProducedAsset の THUMBNAIL の fileUrl を content 別に取得。無い場合は無彩色プレースホルダ)。②表示を獲得リード上位3件に絞り、超過分は『ほか N 件』と注記。③獲得リードの所属企業名の横に会社アイコン(Building2)を表示。④ヘッダーの Insider ロゴを拡大(56px、ヘッダー高 84px)。⑤クライアント向け共有ページでは PWA『アプリで開く/インストール』誘導を出さないよう、portal ルートの metadata で manifest を無効化(appleWebApp も capable:false)。
改善ポータルのコンテンツ分析にサムネイルを表示し上位3件に集約。獲得リードの所属企業に会社アイコンを追加。ロゴ拡大。
修正クライアント共有ページで PWA『アプリで開く』誘導を抑止(portal の metadata で manifest=null)。
v1.992026-06-20
ポータル微調整(表の行を詰める・氏名列を折り返さない)
クライアントポータルの細かな見やすさ調整。①コンテンツ分析・インサイト分析(役職別/業種別 関心テーマ)の表の行高を詰める(Td パディング 12→8px)、関心テーマ ランキングの行間も詰める。②獲得リードの『お名前』列が狭くて氏名が2行に折り返していたのを、nowrap で1行表示に。
改善ポータルの分析・関心テーマ表の行高を詰め、獲得リードの氏名列を折り返さないように調整。
v1.982026-06-20
クライアントポータルをモダンSaaS基調に再調整(無機質さを解消)
前回の近モノクロが『無機質すぎ』だったため、モダンなSaaS管理画面(Linear/Stripe/Vercel 系)のトーンに調整。情報構成は維持。①配色を slate 系(色みのある無彩色)+抑えた単一アクセント(indigo #4F46E5)に。多色の塗り分けはしない。②淡いグレー地+白カード+やわらかい影で奥行きを付与(のっぺり感を解消)。③KPIは白カード化し、商談化率/受注率をアクセント表示。④セクション見出しに細いアクセントバー。ランキングのバー・リンク・『詳細』・AI課題仮説をアクセントに。請求ステータスは低彩度の機能色(入金済=緑/請求済=橙/予定=グレー)。⑤ヘッダーロゴを拡大(30→40px)。⑥社名見出しのはみ出し(長い社名が右に溢れて欠ける)を overflow-wrap/word-break+サイズ調整+overflow-x:hidden で修正。リード詳細(LeadInsightTable)も同基調に統一。
改善ポータルを slate+単一アクセント(indigo)+白カード+やわらかい影のモダンSaaS基調に。無機質さを解消しつつ多色は避ける。
修正ヘッダーロゴ拡大、社名見出しのはみ出し(折り返し位置)を修正。KPI白カード化・セクションのアクセントバー・低彩度の請求ステータス色を追加。
v1.972026-06-20
Inbound HP タブを実用レベルに(金額カンマ表示・未保存時のみ保存可)
見込みリード診断の数値編集を使いやすく調整。①金額(CPL/参考ACV)をカンマ区切りで表示・入力できる専用入力に(例: 2,000,000。桁の読み違いを防止)。②保存ボタンは『未保存の変更があるとき』だけ有効化し、変更中は『未保存の変更があります』と表示(本番サイトへの無意味な再書き込みを防止)。保存後は基準を更新して再び無効化。率(%)入力・行ごとの既定値リセット・枠付きテーブルは据え置き。
改善HP タブの金額入力をカンマ区切り表示に(CPL/参考ACV)。保存は未保存の変更があるときのみ有効化し状態を明示。
v1.962026-06-20
デモ用フラグを追加(Analytics などの集計から除外)
デモ用に作ったコンテンツ・クライアントを実績集計に混ぜないための『デモ用』フラグを実装。①スキーマ: Content.isDemo / Company.isDemo を追加(db push 済・DbSchemaView 反映)。ホワイトペーパー/ウェビナー/WEB記事/メールマガジンはいずれも Content(platform) なので Content.isDemo で一括カバー、クライアント用ページは Company.isDemo。②除外対象: Studio Analytics(getStudioAnalytics・リード集計)、クライアント健全性(listClientHealth)、Home の公開コンテンツ KPI から、デモ Content/デモ Company 所有 Content/デモ Company を除外。③設定UI: コンテンツ追加/編集フォームに『デモ用にする』チェック、Clients の TopTab に『デモ用クライアント』トグル(社内)。④可視性: デモ項目は管理画面では引き続き表示し『デモ』バッジを表示(Studio 制作管理カード・Clients 一覧/ヘッダー)。⑤クライアントポータルは掲示コンテンツ(curation)で制御するため対象外=デモクライアントのポータルは従来どおり表示。
新機能『デモ用』フラグ(Content.isDemo / Company.isDemo)を追加。コンテンツ編集フォームのチェックと Clients の社内トグルで設定でき、Analytics・クライアント健全性・Home 集計から除外。
新機能デモ項目は管理画面では『デモ』バッジ付きで表示を維持(制作管理カード・クライアント一覧)。ポータルは掲示キュレーションで制御するため除外せず従来表示。
v1.952026-06-20
クライアント用ポータルを近モノクロのエディトリアル基調に刷新
クライアント向け成果レポート(/portal/[token])から『AIっぽさ=よくあるカード型』を排除し、自社トンマナ(無彩色ベース・近モノクロ)に統一。①青グラデのヒーロー帯を廃止し、白地のエディトリアル見出し(Performance Report+社名)に。②4枚のKPIを『色付き上ボーダー+影+色アイコンチップ』のカードから、罫線区切りのフラットな無彩色スタットに(アイコン撤去)。③配信形式/請求ステータス/インサイトの多色(青/緑/紫/橙)を撤去し、黒インクの濃淡+グレーで階層化。④影・過剰な角丸を抑え、テーブルは素朴な枠+薄い罫線に。⑤リード詳細(LeadInsightTable)も同配色へ(紫のAIバッジ・青リンク→無彩色、box-shadow撤去)。ライト基調は維持(クライアント向けの可読性・印刷適性)。
改善ポータルの青グラデヒーロー・色付き影付きKPIカード・多色バッジ・色アイコンを撤去し、近モノクロのエディトリアル基調に刷新(AIっぽいカードUIを排除)。
改善リード詳細テーブル(LeadInsightTable)の配色も無彩色に統一(紫AIバッジ/青リンク/box-shadow撤去)。
v1.942026-06-20
Inbound HP タブの UI 調整(枠付きテーブル・リセットは差分行のみ)
見込みリード診断の数値編集 UI をガイドラインに沿って調整。①テーブルを枠付きカード(rounded-xl border)に収め、ヘッダ行を薄い面(bg-subtle)で区切って構造を明確化。②全行に並んでいた『既定値に戻す』アイコンを、既定値と異なる行だけ表示に変更(『全行共通アイコンは削る』方針)。Insider 項目も同様。列幅は固定して非表示時もレイアウトが揺れない。
改善HP タブの数値テーブルを枠付き+ヘッダ面で構造化。『既定値に戻す』は既定と異なる行だけ表示し、無価値な反復アイコンを削減。
v1.932026-06-20
Inbound に「HP」タブを追加(oyo.tokyo 見込みリード診断の数値を編集)
oyo.tokyo /diagnosis(見込みリード診断ツール)の計算ベンチマーク数値を、デプロイなしで Nucleus から編集できるように。Inbound に「HP」タブ(ショートカット 5)を新設し、共有 Supabase の public.diagnosis_config(id=1, config jsonb) を service-role で upsert する。3ブロック編集: 獲得手法5行(CPL+商談化率) / 業種7行(受注率+参考ACV) / Insider商談化率。率は画面では % 入力で 0〜1 に変換して格納(読込は ×100)、CPL/ACV は正の整数。行ごと『既定値に戻す』、保存1ボタン+『反映まで最大5分(oyo.tokyo の ISR)』注記。DB が空でもコード既定値(oyo.tokyo の model.ts と一致)にマージして現在値を表示。書き込みは必ずサーバー側 service-role(getCmsClient)、検証(率 0<r≤1・cpl/acv>0)を action でも実施。pure ロジック(マージ/変換/検証)に単体テスト追加。UI はガイドライン準拠(無彩色・アクセントは保存CTAのみ・1画面1主役・section-label)。
新機能Inbound > HP タブで oyo.tokyo 見込みリード診断のベンチマーク数値を編集(共有 Supabase diagnosis_config を service-role で upsert)。保存後 /api/revalidate(content_type:diagnosis)を叩いて即時反映、失敗時も最大5分 ISR で反映。
新機能獲得手法/業種/Insider商談化率の3ブロックを %/円 入力で編集。既定値マージ・行ごとリセット・保存前検証・単体テスト付き。
v1.922026-06-20
Home をロール別に出し分け(権限で見える情報を分離)
Home が全ユーザーに同じ情報(パイプライン¥・未処理請求書・今月成約¥・停滞商談・コンテンツ予定・稼働ログ)を出していたのを、ロール別の可視範囲に再設計。サイドバーのアクセス権と整合させ、領域外データは『そもそも fetch しない』(プライバシー+無駄クエリ削減)。①admin(OWNER/ADMIN): 全表示。②sales(SALES): パイプライン¥/今月成約¥/停滞商談/資料の閲覧 は見えるが、請求書・コンテンツ系は非表示。③media(MEDIA): 公開コンテンツ/コンテンツ予定/資料の閲覧 のみ、金額系は非表示。④member(MEMBER): 自分のタスク・活動・メールなど個人情報のみ。請求書KPIと稼働ログ(/management=admin専用)は admin 限定に、商談シグナル/KPIは canDeals に、コンテンツKPI/予定は canContent に、資料の閲覧は canInbound にゲート。クイックアクションも権限内リンクのみ表示し Docs を追加。通知センターのクライアント健全性(/clients=admin)は非adminで除外(collectNotifications に includeClients オプション追加)。請求書を促す文脈メッセージも admin のみ。
改善Home をロール別に出し分け。非adminには領域外データ(金額/商談/コンテンツ/稼働)を fetch せず表示もしない。アクセス不可ページへのKPIリンク切れを解消。
改善クイックアクションを権限内リンクのみに(Docs 追加)。通知センターのクライアント健全性を非admin除外(collectNotifications includeClients)。
v1.912026-06-20
Home をデザインガイドラインに準拠(アクセント1色・分類の多色を撤去)
ページ別ロールアウト第2弾=Home。①分類の多色を撤去: クイックアクション(緑/青/橙/紫)・活動フィードのタスク/商談色分け(緑/橙)・今後のコンテンツ予定の種別色(赤/橙/紫/桃)・資料閲覧の青アイコンを、すべて無彩色(muted+bg-subtle)に統一。種別はアイコンの形で区別し、色では塗り分けない。②セクション見出しのアイコン撤去: 各カードの装飾的な多色アイコン(cyan/緑/青/紫/amber)を削除し、リファレンス(Docs)に倣って section-label(12px) のみに。③機能色の統一: 連続稼働バッジを橙→アクセント、今日のフォーカスの優先度ドット HIGH を橙→警告(amber)に。状態色(期限超過=赤/要返信=赤/停滞=amber)は機能色として維持。④タイポ3段差: KPIカードを数値lg+ラベル2xs、稼働/連続バッジの font-bold を font-semibold/medium に。⑤インラインstyle撤去: フィードの接続線 minHeight 直書きを min-h-[8px] クラスに置換。
改善Home の分類カラー(クイックアクション/活動フィード/コンテンツ種別/閲覧アイコン)を無彩色に統一し『カラフル』を解消。種別は形で区別。
改善セクション見出しの装飾アイコンを撤去し section-label のみに(Docs に準拠)。連続稼働バッジ・優先度ドットをアクセント/機能色へ。
改善KPIカードのタイポを3段差化(数値lg/ラベル2xs)、font-bold を整理、フィードのインラインstyle を撤去。§10 の Home/Dashboard を準拠(✅)に更新。
v1.902026-06-20
Tasks テーブル: 行のタイトル列全体クリックで詳細を開く
テーブル(リスト)ビューで、タイトル文字ちょうどをクリックしないと詳細が開かず開きにくかったのを改善。親行・サブタスク行ともにタイトル列(flex-1)全体を self-stretch でクリック領域化し、列のどこをクリックしても詳細シートが開くように。インライン編集はダブルクリックに退避し、列内のボタン(サブタスク件数トグル等)と編集中の input は stopPropagation で誤爆防止。
改善Tasks テーブルでタイトル列全体クリックで詳細を開けるよう、クリック領域を拡大(編集はダブルクリック)。
v1.892026-06-20
Tasks: かんばんのクラッシュ修正+クリックで詳細+詳細シート刷新
①不具合修正(重要): かんばんビューで『e.dueAt.toLocaleDateString is not a function』が出て開けなかった問題を修正。React Query 経由で文字列化された dueAt に直接 Date メソッドを呼んでいたのが原因で、KanbanView/TaskCard で new Date() に包む(リスト側は対応済みだった)。②詳細の開き方を改善: 小さな『→』ボタンを廃止し、かんばんカード/リスト行のタイトルを『クリックで詳細を開く』に変更(デスクトップのインライン編集はダブルクリックに退避)。ドラッグはグリップから、誤爆防止に各操作は stopPropagation。③TaskDetailSheet を刷新: タイトルを20px見出しに昇格、ラベルを section-label(12px)に統一、ステータス/優先度を均等幅セグメント+区切り線、文言を日本語化。
修正かんばんビューのクラッシュ(dueAt の Date 化漏れ)を修正。リスト/かんばん両方で日付を new Date() で正規化。
改善→ボタンを廃止し、カード/行のタイトルクリックで詳細を開く(編集はダブルクリック)。TaskDetailSheet を刷新(タイトル主役化・ラベル統一・均等幅・日本語化)。
v1.882026-06-20
Tasks をデザインガイドラインに準拠(アクセント1色・優先度=機能色)
ページ別ロールアウトの第1弾=Tasks。①アクセント色の統一: List/Kanban/Card/DetailSheet/Form に散在していた緑(#30D158)・青(#0A84FF)・水色(#60A5FA)の3アクセント色を単一の --color-accent に集約(進行中/完了アイコン・ドロップ先・ドラッグ枠・リンク・チェックボックス・フォーカスリング・主ボタン)。②優先度の機能色統一: HIGH=警告(amber)のみ、MID/LOW は無彩色に全ビューで統一(TaskCard が HIGH=赤で他と不一致だったのを解消)。③インラインstyle撤去: TaskForm の新規/作成ボタンを bg-accent クラスに置換(ガイドラインのインラインstyle禁止に準拠)。状態色(警告/危険/期限超過)は機能色として維持。
改善Tasks のアクセント色を1色(--color-accent)に統一し『カラフル』『色の不統一』を解消。優先度は機能色(HIGH=警告/他無彩色)で全ビュー統一。
改善TaskForm のインラインstyle(rgba直書き)を accent クラスに置換。ガイドライン §10 の Tasks を準拠(✅)に更新。
v1.872026-06-20
デザインガイドラインを作り込み+Docs カードを等高化・アクセント許容
UIガイドライン(docs/design/ui-guidelines.md)を全面的に作り込み(準拠必須の正本)。①方針更新: 完全無彩色 → 『無彩色ベース+抑制的なアクセント1色(--color-accent)はOK。分類を多色で塗り分けないのが要点』。②コンポーネント・パターン(ヘッダー/フィルタ/見出し/カード/行/テーブル/詳細/バッジ/KPI/空状態/ボタン)をクラス・レシピ付きで明文化。③カード等高ルールを明記。④ページ別ロールアウト表(§10)を新設し1つずつ準拠させる。Docs カードを等高(grid stretch+h-full+min-h-124+footer mt-auto)に直し『カードサイズが違う』を解消、選択中の枠とアクティブなフィルタ・ピンに抑制的アクセントを再導入。CLAUDE.md/メモリも方針更新。
改善Docs カードを等高化(行内で高さが揃う)し、選択中枠/アクティブチップ/ピンに抑制的なアクセント1色を再導入。
設計ui-guidelines.md を作り込み(アクセント許容・コンポーネント別レシピ・等高カード・ページ別ロールアウト表)。CLAUDE.md/メモリ更新。
v1.862026-06-20
分類の装飾色を全ページで無彩色化(色は機能のみ)
UIガイドライン(docs/design/ui-guidelines.md)の『色は機能=状態/CTAにのみ使い、分類・装飾には使わない』を共有 meta 経由で横断適用。コンテンツ種別・配信形式(contentMeta.ts=Studio/Analytics で使用)、リード流入元(sourceMeta.ts=Leads/DB で使用)の色分けを無彩色化。Docs の区分/カテゴリーは前版で無彩色化済み。警告/危険/成功・期限超過・選択中などの『状態を表す機能色』は意図的に維持(Deals/Tasks/Mail/Finance/HR の色はこの機能色が中心でガイドライン準拠)。各ページ固有の階層・余白の作り込みは Docs をリファレンスに順次寄せる。
改善分類用の装飾色(コンテンツ種別/配信形式/リード流入元)を無彩色化し、色を機能(状態/CTA)に限定。共有 meta 経由で全ページに反映。
設計ui-guidelines.md のロールアウト状況を更新(無彩色化=全ページ適用済み/機能色は維持/階層・余白は順次)。
v1.852026-06-20
Docs カードを無彩色化+余白リズム改善/UIデザイン・ガイドラインを策定
①カラフルな装飾を撤去: 区分ごとの色帯・色ラベル・色ドット・青ピン、カテゴリー見出しの色ドット、フィルターチップの色ドットをすべて無彩色化(色は機能=状態/CTAにのみ使う方針)。区分はフッターの無彩色ラベルで表示。②カード内の詰まり・間延びを解消: グリッドを items-start にして高さ引き伸ばしによる中空きを排除し、px-4 py-4+mt-2/mt-3 の余白リズム+メタをハイラインで区切る2ゾーン構成に。③UI情報設計・トンマナの正本として docs/design/ui-guidelines.md を新設(無彩色既定・1画面1主役・タイポ3段差・カード作法・チェックリスト)。CLAUDE.md のデザインシステム節から参照し、今後の新規/改修はこれに準拠。Docs 一覧をリファレンス実装とし、他ページは順次このガイドラインへ寄せる。
改善Docs の分類色(区分/カテゴリー/チップ/ピン)を無彩色化し、色は機能のみに限定。カード内余白を items-start+リズム+ハイライン区切りに整理。
設計UIデザイン・ガイドライン docs/design/ui-guidelines.md を新設(準拠必須)。CLAUDE.md から参照。Docs をリファレンス実装に。
v1.842026-06-20
Docs カードの情報設計を見直し(階層・余白・要素を整理)
Docs TOP のカードの情報設計を改善。①視覚階層を明確化=タイトルを text-sm(17px) → text-base(20px) の見出し(h3)に昇格して主役にし、本文プレビューは補助(15px muted)、メタは最小(12px)に。②無駄を削除=全カード共通で情報価値の無い左上のファイルアイコン(タイトル先頭の絵文字で代替可)と、間延びの原因だった固定高(min-h-112px)を撤去。③重要情報を整理=区分は色帯+ラベルでフッターに集約し、塗りつぶしバッジをやめて色ノイズを低減。カテゴリーはグループ見出しと重複するためカードからは外した。更新者は存在するときだけ控えめに表示。これでタイトル→内容→区分/更新時刻の優先順位が一目で伝わる。
改善Docs カードの視覚階層を整理(タイトルを20px見出しに昇格、本文/メタを段階化)。左上アイコン・固定高など無駄を削除。
改善区分はフッターに色帯+ラベルで集約(塗り潰し廃止で色ノイズ減)。カードからカテゴリー重複を排除し、更新者は任意表示に。
v1.832026-06-20
Docs TOP をカードグリッド化+詳細表示時のツールバー潰れを修正
Docs TOP の左右余白が大きすぎ薄い行リストだった問題を解消し、横幅を活かしたリッチなカードUIに刷新。コンテナ幅を max-w-3xl → max-w-7xl に広げ、各ページを2〜3カラムのカードグリッドで表示(区分カラーの左アクセント+本文プレビュー断片+区分バッジ+更新者/更新時刻)。区分フィルター・カテゴリー別グルーピングは維持。詳細パネルを開くとマスター列が 380px に狭まり『ページ/共有リンク/AIで自動分類/新規ページ』が改行で潰れていたのを修正(タブ/ボタンを whitespace-nowrap+shrink-0、詳細表示中はアクションをアイコンのみに圧縮、カードは1カラムに)。詳細パネルの区分/カテゴリー/自動分類の操作行も折り返し対応で潰れないように。
改善Docs TOP をカードグリッド化(max-w-7xl・2〜3カラム・本文プレビュー+区分アクセント)。左右余白の無駄を解消し情報量を増やした。
修正詳細表示でマスター列が狭まった際にヘッダーのタブ/ボタンが改行で潰れる問題を修正(nowrap+アイコン圧縮)。詳細の操作行も折り返し対応。
v1.822026-06-20
Docs に「区分(General/Sales/Media/Operations)」軸を追加し TOP を再設計
Docs にカテゴリー(議事録/マニュアル/思考メモ/その他)とは別軸の『区分』(GENERAL/SALES/MEDIA/OPERATIONS=サイドバーのメニュー群に対応)を追加。AI自動分類を両軸対応に拡張(lib/documents/classify.ts が {category, section} を返す)。一括/個別の自動分類はカテゴリーが未分類(OTHER)・区分が既定(GENERAL)のときだけ設定し、手動で付けた値は保持する。Docs TOP を再設計: 区分のセグメントフィルター(すべて+4区分・件数付き)を上部に追加し、各ページ行に区分バッジ(色分け)を表示。詳細パネルに区分セレクター+『自動分類』(区分とカテゴリーを同時判定)を追加。スキーマ: Document.section 追加(db push済)・DbSchemaView 反映。既存23件にも適用し14件へ区分を付与(scripts/classify-docs.mts)。
新機能Docs に『区分』軸(General/Sales/Media/Operations)を追加。AI自動分類を区分+カテゴリーの両軸に拡張(手動値は保持)。
改善Docs TOP を再設計(区分フィルター+行ごとの区分バッジ、詳細に区分セレクター)。Document.section をスキーマ/DbSchemaView に追加。既存14件へ区分付与。
v1.812026-06-20
Inbound 資料のページ設定からディレクトリ(公開URL)を自由に設定可能に
Inbound>資料>ページ設定(WpConfigEditor)で、これまで読み取り専用だった公開ディレクトリ(oyo.tokyo/wp/{slug})を直接編集できるようにした。基本情報の先頭に『ディレクトリ(公開URL)』入力(oyo.tokyo/wp/ プレフィックス表示・半角英数字とハイフンに正規化)を追加。変更して保存すると、①新 slug で CMS 行を作成 ②紐づく資料(Material)の wpSlug を自動同期 ③旧 slug の CMS 行を削除(リネーム)し、ビューワーを再生成。スライド画像は絶対URLで保持されるためリネーム後もそのまま表示される。重複ディレクトリは保存時にエラー。slug 正規化/検証は lib/wp/slug.ts(Vitest 5件)。注意: 旧ディレクトリ配下の閲覧履歴(wp_sessions/wp_events)は移行されない。
新機能資料のページ設定にディレクトリ(公開URL)編集を追加。変更時に紐づく資料の wpSlug を自動同期+旧 slug をリネーム(CMS行作成→Material同期→旧行削除→再生成)。
改善slug 正規化/検証ユーティリティ lib/wp/slug.ts を新設(重複・不正形式は保存時にエラー)。スライドは絶対URL保持でリネーム後も表示維持。
v1.802026-06-20
Docs のカテゴリーをAIで自動分類
Docs(/documents)のページ カテゴリー(議事録/マニュアル/思考メモ/その他)を、タイトル+本文から自動で振り分けられるようにした。`lib/documents/classify.ts`=ANTHROPIC_API_KEY があれば Claude Haiku で分類、無ければ/失敗時はキーワード ヒューリスティックにフォールバック(純ロジックは Vitest 6件)。確信が持てない場合は OTHER のままにし、手動で付けたカテゴリーは上書きしない。UI: 一覧ツールバーに『AIで自動分類』(未分類=OTHER をまとめて分類)、詳細に個別『自動分類』ボタンを追加。既存の未分類22件にも適用し19件を自動振り分け済み(scripts/classify-docs.mts)。
新機能Docs カテゴリーのAI自動分類(lib/documents/classify.ts:Claude Haiku+キーワード フォールバック)。一覧『AIで自動分類』+詳細の個別ボタン。
改善未分類(OTHER)のみ対象で手動カテゴリーは保持。確信が無ければOTHER据え置き。既存22件中19件を自動振り分け(scripts/classify-docs.mts)。
v1.792026-06-20
アクティベーションコンテンツ プレイブックをアプリ内 Docs にも複製
docs/strategy/activation-content.md(検討/アクティベーションコンテンツのプレイブック)を、リポジトリだけでなくアプリ内の Docs ページ(/documents)からも閲覧できるよう複製。`scripts/seed-activation-doc.mts` で Document を作成(タイトルで冪等 upsert・category=MANUAL)。body は Markdown のまま保存し、DocumentEditor の normalizeBody が表示時に HTML 変換するため表・見出し・リンクがそのままリッチ表示される。
新機能アクティベーションコンテンツ プレイブックを /documents に複製(scripts/seed-activation-doc.mts で冪等投入)。
v1.782026-06-20
Team 上部「成果」ロスターを集計サマリ+折りたたみ式に(AI増でも埋もれない)
Team ページ最上部の成果ロスターが、メンバー(特にAIエージェント)が増えるほど縦に伸び、人間/AIエージェント名簿が下に押し下げられて埋もれる問題を解消。①常時表示の集計サマリ(完了タスクΣ/活動Σ/メール送信Σ/承認待ちΣ)を固定高で追加し、チーム全体の稼働状況が一目で分かるように。②明細は上位5名のみ表示し、残りは『残りN名を表示』で折りたたみ展開(既定は上位のみ=高さが一定)。③各行をコンパクト化。これでエージェントが何体に増えても上部の専有領域が一定に保たれ、名簿セクションが上に来る。
改善成果ロスターに集計サマリ(完了/活動/メール/承認待ちのチーム合計)を追加。常時固定高で全体像を把握。
改善明細を上位5名に折りたたみ+『残りN名を表示』トグル化。各行コンパクト化。AI増加でもページが埋もれない。
v1.772026-06-20
制作支援を「転換設計」中心に調整+検討/アクティベーションコンテンツのプレイブック整備
『コンテンツは認知ではなく行動のために存在する』という BtoB の本質を Studio/Analytics に実装。Content に意図(intent: 教育/アクティベーション)・CTA(ctaType: 資料DL/無料相談/デモ/診断 等)・CTA遷移先(ctaUrl)を第一級の属性として追加し、制作管理フォームに『転換設計』セクションを新設。かんばんカードに意図バッジ+CTAチップを表示し、アクティベーション型なのにCTA未設定なら警告。Analytics 上部に転換設計サマリ(アクティベーション比率/CTA設定率/リード獲得済み比率)+CTA未設定の警告、テーブルに意図・CTA列を追加。既存の ContentMetricEntry(閲覧/クリック/DL)+ClientLead(問い合わせ→商談→受注)と接続し、コンテンツ→CTA→問い合わせ→商談→受注のパイプラインを構造で測れるようにした。あわせて海外プレイブック(Eugene Schwartz 5段階認知 / Marcus Sheridan They Ask You Answer Big5 / Chris Walker 需要創出vs獲得・ダークファネル / デマンドジェネ4層ファネル)を調査・統合した内部プレイブックを docs/strategy/activation-content.md に新設。スキーマ: Content.intent/ctaType/ctaUrl 追加(db push済)。
新機能Content に intent(教育/アクティベーション)・ctaType・ctaUrl を追加。制作管理フォームに『転換設計』セクション、かんばんに意図/CTAバッジ+CTA未設定警告。
新機能Analytics に転換設計サマリ(アクティベーション比率/CTA設定率/リード獲得済み比率)+意図・CTA列。Content→CTA→問い合わせ→商談→受注を構造で測定。
設計検討/アクティベーションコンテンツのプレイブックを docs/strategy/activation-content.md に新設(海外PlayBook統合)。CLAUDE.md/features README から参照。Content.intent/ctaType/ctaUrl をDB Schemaに反映。
v1.762026-06-20
PWA(インストール版)でのサインイン無限リダイレクト=画面チカチカを修正
スマホにインストールしたアプリ(PWA standalone)で、ログイン画面が正しく出ず画面がチカチカ点滅し続ける不具合を修正。原因は Service Worker が別オリジン(Clerk Frontend API = clerk.*/img.clerk.com)への GET まで networkFirst でキャッシュしていたこと。PWA は Safari と別ストレージで起動するためセッションゼロから Clerk のハンドシェイク/セッション確認(/v1/client・/v1/environment)が走るが、そこへ SW が古い認証状態を返すと『/ ⇄ /sign-in』のリダイレクトループ=点滅になっていた(通常ブラウザは既存セッションがあるため顕在化しにくい)。対策: ①SW は同一オリジンのリクエストのみ処理し、別オリジン(認証系)には一切介入せずブラウザに完全委譲。②オフライン用フォールバック /offline を公開ルート化(未ログイン時にサインインHTMLをキャッシュしてしまう問題を解消)。③SW 更新時の自動リロードを『1ロードにつき最大1回』に制限(万一の無限リロード=チカチカを防止)。SW キャッシュ版を v3→v4 に更新。
修正PWA でのサインイン無限リダイレクト(画面チカチカ)を修正。Service Worker を同一オリジン限定にし、Clerk 等の別オリジン認証リクエストには介入しない。
修正SW 更新時の自動リロードを1回に制限する多重リロードガードを追加。/offline を公開ルート化。SW キャッシュ版 v4。
v1.752026-06-20
アプリアイコンを新ブランド(PRISM)に刷新+ブラウザ→アプリ導線
ホーム画面/タブのアプリアイコンが旧ブランド(『y』ロゴ・黒丸+三角のプレースホルダ)のまま残っていたため、新ブランドマーク(prism-icon.png)から全サイズを再生成。public/icons/icon-*.png(14サイズ)・favicon.png・app/favicon.ico を統一し、PWA 用に safe-zone を確保した maskable 専用アイコン(192/512)を新設して manifest を更新。再生成は scripts/gen-icons.mjs(sharp)で再現可能。Service Worker のキャッシュ版を v2→v3 に上げ、既存端末がキャッシュ済みの旧アイコンを掴み続けないようにした。あわせて、ブラウザ閲覧中(PWA未インストール)のユーザーをアプリ化に誘導するフローティング導線 InstallPrompt を追加(Chrome/Android は beforeinstallprompt でワンタップ追加、iOS Safari は『共有→ホーム画面に追加』を案内、閉じると14日スヌーズ、インストール済みは非表示)。
修正アプリアイコンを旧ブランドから新マーク(PRISM)に全面再生成(icons 14サイズ+favicon.png+app/favicon.ico)。scripts/gen-icons.mjs で再現可能。
新機能ブラウザ閲覧時にアプリ(PWA)インストールへ誘導する InstallPrompt 導線を追加(Android=ワンタップ追加 / iOS=手順案内 / 14日スヌーズ / インストール済みは非表示)。
改善maskable 専用アイコン(192/512)を新設し manifest を更新。Service Worker キャッシュ版を v3 に上げ旧アイコンの残留を解消。
v1.742026-06-20
Team に網羅的なAIエージェント・ロスターを反映(12体)
社内システム全体を網羅するエージェント12体を Team に登録(seed)。Sales(セールスフォロー/リードトリアージ/アウトバウンドSDR)・Media(コンテンツSEO戦略/制作ディレクター/クライアント健全性)・Operations(採用スクリーナー/経理freee/請求督促)・General(メールトリアージ/タスク執事/チーフオブスタッフ)。kind カタログを全12業務に拡張し、未実装の役割は『planned(UI登録のみ・実行は未接続で安全に報告)』として扱う(誤って商談フォローに化けない)。実装済みは商談フォロー・採用スクリーナーの2種で、作成フォームは実装済みのみ選択可。scripts/seed-agents.mts を全社ロスターに刷新。
新機能全社エージェント・ロスター12体を Team に seed(kind 紐付け・persona・トリガー付き)。
設計kind-catalog を全12業務に拡張+implemented フラグ。未実装は planned kind で安全動作。作成フォームは実装済みのみ。
v1.732026-06-20
AIエージェント基盤を Anthropic 準拠でマルチロール化+Skills
単一目的(停滞商談フォロー専用)だったエージェント・ランタイムを、Anthropic「Building Effective Agents」+Agent Skills に準拠して一般化。①ロール=AgentKind(tools/承認境界/文脈/スキル/executor を1枚にまとめる)レジストリ化し、advance ループ本体はロール非依存で不変に。②Skills レイヤ(progressive disclosure): description だけ system prompt に載せ本文は read_skill ツールで必要時ロード。③adaptive thinking + effort:high(claude-opus-4-8)。④必要エージェントのロスターを ADR0005 に洗い出し、deal_followup と recruitment_screener(未評価候補のAI評価→有望者のステージ前進を承認に回す)を実装。Team の作成フォームで担当業務(kind)を選べるようにし、実行時の能力が kind で決まる。外部影響は従来どおり承認ゲート(DecisionLog)。スキーマ: AgentIdentity.kind 追加。
新機能AgentKind レジストリ(lib/agent-runtime/kinds)+ recruitment_screener エージェントを実装。
新機能Skills レイヤ(lib/agent-runtime/skills+read_skillツール、4スキル)。Team フォームに担当業務セレクタ。
設計advance を kind 駆動に一般化+adaptive thinking/effort:high。ADR0005 にエージェント・ロスターを洗い出し。AgentIdentity.kind 追加。
v1.722026-06-20
機能ドキュメント(メニュー別・何ができるか)を整備
各メニューで「何ができるか」を実コード(components/lib/actions/lib/db)に基づいて網羅した機能ドキュメントを docs/features/ に新設。サイドバーのグループ構成に沿って General/Sales/Media/Operations の4ファイル+索引で、全16メニュー+HOMEサブ(Audit Log/Changelog/DB Schema)を、できること・制約・準備物・関連ファイル付きで整理。実装済/ダミー/準備物待ち/deprecated を凡例で明示。CLAUDE.md からも参照リンクを追加。
設計docs/features/{README,01-general,02-sales,03-media,04-operations}.md を新設(メニュー別・網羅)。
設計ロール表・Company OS 共通土台・準備物を索引に集約。CLAUDE.md に参照リンク追加。
v1.712026-06-20
Dashboard UI 刷新(情報設計・視線誘導を整理)
18指標が同じ重みで並び「最初に何を見るか/何が変わったか」が分からなかった Dashboard を再設計。①中核KPI(月次ディープリード/MRR/リード販売数/メールリスト)を上部に大きく(HeroKpis)。②今月いちばん伸びた指標・落ちた指標と、改善/悪化のサマリ一言を「注目ポイント」(Highlights)で自動抽出。③フライホイールは循環の流れをノード名チップ+矢印で明示し、各ノードに改善数(n/m↑)バッジ、指標行の文字を大きく可読性を改善。データは引き続きダミー(実集計は別途)。抽出ロジックは純関数化しテスト済み。
改善中核KPIの大型ヒーロー+注目ポイント(最大の伸び/落ち・状態サマリ)で『まず見る所』を明確化。
改善ノードカードに改善数バッジ・ループの流れチップ・矢印を追加、指標行の可読性を向上。
設計lib/business/insights.ts(flattenMetrics/topMovers/healthSummary)を純関数化・テスト4件。旧 CenterPin は HeroKpis に統合し削除。
v1.702026-06-20
方針転換: 制作は Claude Design+Code 完結/会計は freee MCP
2つの方針を ADR 化。①Creative Production(ADR 0003): Figma・Plus AI を使わず Claude Design + Claude Code で資料・デザイン生成を完結。外部 MCP は動画編集(Palmier)・ショート切り抜き(Opus Clip, n8n経由)のみ。②会計(ADR 0004): MoneyForward は MCP でいじりにくいため freee MCP に変更。仕訳登録・請求書作成・経費申請は必ず内容提示→確認→実行(自動書き込み禁止)。CLAUDE.md・studio-mcp-pipeline spec を更新し、準備物から Figma/Plus AI を除外。既存の Figma/Plus AI provider 参照と MoneyForward 連携コードは後方互換のため残しつつ @deprecated 表記(接続が入るまで動作維持)。
設計ADR 0003 Creative Production System(Claude Design+Code 完結、Figma/Plus AI 不採用、MCP は Palmier/Opus Clip のみ)。
設計ADR 0004 会計 freee MCP(MoneyForward 不採用、書き込みは確認後実行の半自動)。
設計CLAUDE.md/準備物/spec を更新。旧コード(thumbnail/whitepaper provider・lib/mf・finance MF アクション)を @deprecated 表記。
v1.692026-06-19
Recruitment: 候補者追加時に AI 自動評価
AI 評価がオンデマンドのみで、追加した候補者の「未評価」が滞留していた。候補者追加(createCandidateAction)の直後に AI 評価コメント+推奨度スコア(1-5)を自動生成し、aiEvaluation/evaluationScore に保存・AI評価ノートも追加するよう接続。ANTHROPIC_API_KEY 未設定や生成失敗時は静かにスキップして作成自体は必ず成立(best-effort)。CSV 一括取り込みは件数が多いため対象外。スコア抽出は純関数化しテスト済み。スキーマ変更なし。
新機能候補者追加時に AI 評価(コメント+1-5スコア)を自動生成・保存(lib/hr/evaluate.ts)。
設計best-effort(key 無し/失敗時は作成のみ成立)。スコア抽出 parseEvalScore はテスト4件。
v1.682026-06-19
Deals: 受注(WON)から請求予定を自動作成(二重入力を解消)
商談を受注にしても請求項目が自動で起きず、Finance に手で再入力していた。WON 昇格時に、その商談の金額で請求予定(ClientBillingItem, PLANNED)を当月で自動作成するよう接続(顧客昇格 customerStage=ONBOARDING は従来どおり)。同一商談からの二重作成は note の deal マーカーで冪等化。MRR(Company.mrr)は一時収益か継続収益かの契約形態判断が必要で自動算出は不健全なため、ここでは更新せず手動レビューに留める(請求予定の自動化で二重入力は解消)。
新機能WON 時に商談金額の請求予定(PLANNED)を自動作成(createBillingFromWonDeal、deal マーカーで冪等)。
設計MRR は契約形態の判断要のため自動更新しない方針を明記(手動レビュー)。
v1.672026-06-19
Clients: owner と ポータル掲示の乖離を検出・警告
owner 正本(Content.clientId)では「このクライアント所有」なのに、ポータル掲示(ClientContent)に載っていない Content を検出する仕組みが無く、手運用で掲示漏れが起きていた。Clients 詳細の Contents タブに、所有なのに未掲示の Content を一覧する警告バナーを追加。各チップのクリックでそのままポータルに掲示(linkContent)でき、漏れをその場で解消できる。
新機能Contents タブに owner/掲示の乖離バナー(所有なのに未掲示の Content をワンクリック掲示)。
設計listOwnedUnpostedContents(clientId==companyId ∧ ClientContent 無し)を追加。
v1.662026-06-19
Mail: アカウント削除の導線を接続
メールアカウントは追加できるのに解除導線が無かった(removeMailAccountAction はあるが UI 未接続)。「部署メアドの管理」モーダルに登録済みアカウント一覧を出し、各行のゴミ箱から削除(確認モーダル必須)できるよう接続。MailSidebar に残っていた未配線の _removeAccount デッドコードも除去。
新機能アカウント管理モーダルに登録済み一覧+削除ボタン(useConfirm 経由、履歴も削除と明示)。
修正MailSidebar の未使用 _removeAccount と関連 import を削除。
v1.652026-06-19
計測取り込み: 視聴完了率の実値化+履歴スナップショット
Analytics の閲覧/リーチ/クリックは既に wp_events から読み取り時オーバーレイ済みだったが、視聴完了率(completionPct)だけは常に「—」だった。wp_sessions.last_slide と whitepapers.slide_urls 数から平均完了率を算出して同じオーバーレイ経路に流し、完了率を実値化。あわせて「計測を取り込む」ボタンで wp_events の計測(閲覧/リーチ/クリック/完了率)を ContentMetricEntry にスナップショット保存できるようにし、トレンド比較・数値の永続化(CMS 障害時も残る)の基盤を用意。CMS 未接続なら no-op。完了率の算出は純関数化しテスト済み。スキーマ変更なし。
新機能視聴完了率を wp_events(last_slide×slide数)から実値化(getWpStatsBySlugs→overlay)。
新機能Analytics に「計測を取り込む」ボタン(ContentMetricEntry へ履歴スナップショット保存、CMS 未接続は no-op)。
設計lib/metrics/completion.ts に純関数 avgCompletionPct(テスト5件)。lib/db/metric-ingest.ts に取り込み。
v1.642026-06-19
横断の能動通知レイヤー(要対応を HOME / Assistant に push)
期限・確認待ち滞留・クライアント健全性が個別カードに散っていて push 基盤が無かったのを、統一モデル(Notification)に集約。期限超過タスク/確認待ち(DecisionLog DRAFT、3日以上滞留は critical 昇格)/危険・注意クライアント(client-health 再利用)を severity 順に並べ、HOME のグリーティング直下と Assistant の確認カード上部に「要対応」として表示。既存 HOME カードが担う要返信メール・停滞商談は二重表示回避のため通知センターには含めない。並べ替えは純関数化しテスト済み。スキーマ変更なし。
新機能NotificationCenter を HOME と Assistant に追加(要対応を severity 順に push)。
新機能確認待ち(DecisionLog DRAFT)滞留と危険/注意クライアントを新たに surface(従来未表示)。
設計lib/notifications(prioritize 純関数+collect 集約)。prioritize はテスト5件。
v1.632026-06-19
DecisionRule によるイベント駆動の自動下書き
EventLog の各ミューテーションを契機に、組織が定義した DecisionRule(条件=eventActions/entityTypes/conditions)に一致したら DecisionLog の下書き(DRAFT)を自動生成する仕組みを追加。AIが状態変化を検知→人が承認、の「下書き」側を自動化(承認→実行はv1.62で接続済み)。条件評価(scalar一致・gt/gte/lt/lte/eq/ne/in・AND)とルール選択は純関数化しテスト済み。emit へのフックはトランザクション内では走らせず、try/catch で完全に握りつぶしてミューテーション本体を絶対に壊さない設計。同一トリガーからの二重下書きとループ(AI_DRAFTED/DecisionLog)も防止。スキーマ変更なし。
新機能DecisionRule 一致時に DecisionLog 下書きを自動生成(lib/decisions/draft.ts、emit にフック)。
設計条件評価・ルール選択を lib/decisions/rules.ts に純関数化(テスト7件)。
設計自動下書きは tx 外限定+try/catch+二重生成防止+ループ回避で、監査本体を壊さない。
v1.622026-06-19
Assistant: 承認をトリガに実アクションを実行
確認カードの承認が DecisionLog を CONFIRMED にするだけだったのを、承認をトリガに aiDraft の実行計画を実行するよう接続(半自動方式の実行側を実装)。エージェントが申請した送信(kind=send)を承認すると、該当商談に EMAIL 活動を記録し SENT イベントを emit、結果サマリを DecisionLog に残す。実メール送信(Gmail/SMTP)はトークン未接続のため社内記録に留め、接続後は同じ箇所に差し込む。実行計画の判定は純関数化しテスト済み。スキーマ変更なし。
新機能approveDecisionAction が aiDraft の実行計画を実行(送信承認→商談に送信記録+SENTイベント)。
設計lib/decisions/execute.ts に純粋プランナ planExecution(kind→実行計画)を追加・テスト5件。
設計外部メール送信はトークン接続後の差し込み点として明示(現状は社内記録)。
v1.612026-06-19
Team に成果ロスター(人間+AI横断の実集計)
Team ページに「成果」セクションを追加。監査ログ(EventLog)・稼働(TimeEntry)・エージェント実行(AgentRun)を直近30日で集計し、人間とAIエージェントを横断して比較できるロスターを実装。指標は完了タスク数(STATUS_CHANGED→DONE)・活動件数・送信メール数・(人間)稼働時間・(AI)確認待ち滞留、加重スコア(完了*3+メール*1.5+活動*0.25)で順位付け。集計は純関数化しユニットテスト済み。スキーマ変更なし。
新機能Team に成果ロスター(score 順、完了/活動/メール/稼働h or 待ち を一覧)。
新機能lib/db/team-performance.ts で EventLog/TimeEntry/AgentRun を actorId 単位に集計。
設計lib/team/performance.ts は副作用なしの純関数(スコア・順位・稼働時間換算)でテスト5件。
v1.602026-06-19
技術負債/機能ギャップ監査を実態に再同期+デッドコード掃除
引継ぎドキュメント(TECH_DEBT.md / feature-gaps.md)が実コードより遅れていたため再監査して同期。最優先サマリ1位(AdminGate クライアント側)・2位(共有ページXSS)は既に解消済み(前者は各 Server Component の getCurrentRole→AdminLock、後者は DOMPurify)だったため「解決済み」に降格し、残る本命(Assistant 承認→実行 / Team 人材評価集計 / Dashboard 実集計 / 能動通知 / 計測取り込み)を上位に繰り上げ。テストは「0件」ではなく13ファイル存在に訂正。あわせて未使用の ScreenshotGuard と空の seo-migrate ディレクトリを削除。
設計feature-gaps.md の上位5を実態に再ランク(解消済みの🔴2件を降格、横断テーマを格上げ)。
設計TECH_DEBT.md #7(テスト0件→13ファイル)・#15・#19 の記載を現状に更新。
修正未使用 components/layout/ScreenshotGuard.tsx と空 app/api/seo-migrate/ を削除、layout の死んだコメントも除去。
v1.592026-06-19
配信先の接続可否を可視化/owner 正本を明文化
制作物カードの配信先チップに「実配信できるか(トークン接続済か)」を表示。接続済は●(配信可)、未接続は○(要トークン)で、配信の意図と実際に出せるかを橋渡し。あわせて owner(所有・集計の正本)は `Content.clientId` のみで、`ClientContent` はクライアントポータル掲示の curation 専用、と運用を明文化(集計の二重計上を防止)。
改善配信先チップに接続可否を表示(●=配信可/○=要トークン、ホバーで必要な env を提示)。
設計owner 正本は Content.clientId、ClientContent はポータル掲示専用と確定(CLAUDE.md に明記)。
v1.582026-06-19
Analytics にクライアント健全性ロスター/月額から tier 導出
Analytics に「クライアント健全性」を追加。全クライアントを横断で、状態(危険/注意/順調)・リード達成率・返金ライン残日数・制作物数・ブランド設定有無・customerStage・要因を一覧化(実データ集計)。プランは新フィールドを作らず月額(ClientProject.monthlyFee→無ければ Company.mrr)から Pro/Standard/Lite を導出(単一の真実源)。返金ライン超過+未達や AT_RISK を危険、達成率低・返金ライン迫る・ブランド未設定・納品超過を注意として自動判定。
新機能Analytics に「クライアント健全性」ロスター(状態・達成率・返金ライン・制作物・ブランド有無・stage・要因)。
新機能プランは月額から tier 導出(Pro/Standard/Lite、フィールド追加なし)。
設計lib/studio/{tier,client-health} と lib/db/client-health を追加。判定ロジックは純関数でテスト済み。
v1.572026-06-19
Analytics を実データ集計に/配信先(channels)を編集可能に
Analytics(数値管理)のダミー表示を撤去し、実 DB から集計(owner 数・コンテンツ数・制作物数・獲得リード、owner ごと/コンテンツごとの内訳)。表示・クリック等のエンゲージメント値は計測連携時に反映し、未連携は「—」で正直に表示。あわせて制作物カードの配信先(LP/X/YouTube/Note/Mail)をその場でトグルして保存できるようにした(実配信トークンは後続フェーズ、現状は配信先の記録)。
改善Analytics を実データ集計に刷新(owner/コンテンツ別、リードは実数、未計測値は「—」)。
新機能制作物カードで配信先(channels)をトグル保存。実配信(SNS/LP)はトークン接続後に有効化。
設計lib/studio/analytics・distribution と lib/db/studio-analytics を追加(純ロジックはテスト済み)。
v1.562026-06-19
ウェビナー:Palmier 向け編集指示書を実生成・R2 保存
ウェビナー編集の書き出しを、素材(録画/イントロ/アウトロ/サムネ)と合成手順をまとめた編集指示書(Markdown)の実生成・R2 保存に変更。これで Studio の3制作(サムネ/WP/ウェビナー)すべてが、R2 接続時に実ファイルを書き出して制作物マスターに着地するようになった。実際の動画合成(MP4)は Palmier MCP 接続後の経路として温存。
新機能ウェビナー書き出しで Palmier 向け編集指示書(素材一覧+合成手順)を R2 に保存。
改善サムネ・WP・ウェビナーの3種すべてが R2 接続時に実ファイル化(未接続時は記録のみ)。
v1.552026-06-19
ホワイトペーパー:章構成を Claude で実生成・原稿を R2 保存
ホワイトペーパー編集の「章構成を生成」を、サンプル表示から Claude(Opus 4.8)による実生成に変更(テーマ・読者・ブランドのトーン規定を反映)。書き出しは、アウトライン+ブランド規定をまとめた Markdown 原稿を R2 に保存(fileUrl 付きで制作物に記録)。スライド化(PDF)は Plus AI MCP 接続後の高品質経路として温存。AI/R2 未接続時はそれぞれサンプル表示・記録のみへフォールバック。
新機能「章構成を生成」が Claude による実生成に(ブランドのトーン・禁止表現を反映、未接続時はサンプル)。
新機能書き出しでアウトライン+ブランド規定の Markdown 原稿を R2 に保存し、制作物にファイルリンク表示。
設計outline / whitepaper provider を追加。PDF 化(Plus AI)は env-gated の後続接続点として明示。
v1.542026-06-19
ブランド資産(ロゴ/テンプレ)を R2 にアップロード
ブランド管理のロゴ・テンプレートを、URL 手入力に加えてファイルから直接アップロードできるようにした(R2 保存→公開 URL を自動入力)。形式・サイズを検証(画像/PDF/PPTX、最大15MB)。R2 未接続の環境では従来どおり URL 手入力にフォールバック。
新機能ロゴ・テンプレ欄にアップロードボタンを追加。ファイル選択で R2 に保存し URL を自動入力。
改善アップロードは形式(画像/SVG/PDF/PPTX)とサイズ(最大15MB)を検証。未接続時は手入力にフォールバック。
v1.532026-06-19
Studio サムネを実生成・R2 保存(制作パイプライン基盤)
Studio の「書き出し」を、記録のみから実ファイル生成→R2 保存→制作物マスターに fileUrl 付きで着地する制作パイプラインに刷新。第一弾としてサムネイルを、ブランド配色を反映した SVG としてアプリ内で生成・保存(R2 接続時)。制作物カードにプレビュー画像とファイルリンクを表示。R2 未接続時は従来どおり記録のみへ安全にフォールバック。ホワイトペーパー/ウェビナーは後続フェーズで実生成を有効化。
新機能サムネイル書き出しがブランド配色の SVG を実生成し R2 に保存(制作物に fileUrl 付きで記録)。
改善制作物カードにサムネのプレビュー画像と「ファイル」ダウンロードリンクを追加。
設計生成パイプライン(lib/studio/pipeline)と provider 層を新設。各 provider は env-gated で、未接続時は記録のみへフォールバック(準備物が来たら接続のみで有効化)。
v1.522026-06-15
Audit Log の人物名を実名表示/DB Schema を最新化
Audit Log(監査ログ)で人間の操作者名が実名で出ないことがあった不具合を修正(Clerk プロフィール名を優先解決)。あわせて DB Schema ページに AIエージェント(AgentIdentity/AgentRun/DecisionLog)と Studio(ProducedAsset/Brand)、Content.clientId を反映し最新化。今後スキーマ変更時は DB Schema 更新を必須とする運用に。
修正Audit Log の人間の操作者名を Clerk のプロフィール名で解決(DB の name 未同期でも実名表示)。
改善DB Schema に AgentIdentity / AgentRun / DecisionLog / ProducedAsset / Brand / Content.clientId を追加し最新化。
v1.512026-06-15
Studio 編集にブランド反映/タブ意匠を統一
ブランド管理(owner別)を各 MCP 編集画面に接続。サムネイルのプレビューに選択案件のブランドカラーを適用し、ホワイトペーパーにブランドの文体・禁止表現・テンプレ規定を表示。あわせて Finance のタブ意匠を他ページと同じピル型に統一。
改善サムネイル編集のプレビューに、選択した案件(owner)のブランドカラーを自動適用。
改善ホワイトペーパー編集に、ブランドの文体ルール・禁止表現・テンプレートを規定として表示。
改善Finance のタブを他ページと同じピル型デザインに統一。
v1.502026-06-15
Mail サイドバー折りたたみ/⌘K に会社・エージェント追加
Mail の左サイドバー(フォルダ・アカウント)を折りたたみ可能にし、本文を広く読めるようにした(状態は記憶)。グローバル検索(⌘K)の対象に会社(→Clients)とAIエージェント(→Team)を追加し、一覧を開かず直接ジャンプできるようにした。
改善Mail の左サイドバーを折りたたみ可能に(アイコンのみ表示、状態を保存)。本文がより広く読める。
新機能⌘K グローバル検索に「会社」「エージェント」を追加。会社→Clients、エージェント→Team プロフィールへ直接ジャンプ。
v1.492026-06-15
Clients↔CRM 相互リンク/詳細シートに拡大トグル
Deals/CRM(売上・担当者の管理)と Clients(MEDIA の納品管理)を相互リンク。Clients から「CRMで管理」、CRM の会社詳細から「納品(Clients)で開く」で同じ会社を横断。Company/Contact/Deal/候補者の詳細サイドシートに拡大トグル(最大1100px)を追加し、情報が多いときも見やすくした。
改善Clients と Deals/CRM を相互リンク(同一会社を用途別に行き来)。CRM は ?company= で該当会社を直接オープン。
改善会社/連絡先/商談/候補者の詳細サイドシートに拡大・縮小トグルを追加(最大1100px)。
v1.482026-06-15
Clients を全幅化(会社リストをコンボボックス選択に)
Clients の常時表示だった左の会社リストを廃止し、ヘッダーの検索付きコンボボックス+前後(◀▶)移動に変更。会社詳細を画面全幅で大きく表示できるようにした。コンボボックスはステージ色・件数・Portal・CRM/その他グループを維持。
改善Clients の会社選択をヘッダーのコンボボックス(検索付き)に集約し、左の常時リストを廃止=詳細を全幅表示。
改善◀▶で前後の会社へ即移動、現在位置(n/総数)を表示。モバイルも同じセレクタに一本化。
v1.472026-06-15
ブランド管理を実データ化(owner別ブランドDB)
ブランド管理をモックから実DB(Brand)に移行。owner(自社/クライアント)ごとにロゴ・カラーパレット・フォント・コピートーン(文体/禁止表現)・テンプレートを編集して保存できる。各 MCP 制作の共通入力源となる中核データ。ロゴ/テンプレのファイル実体はURL指定(R2連携は後続)。
新機能ブランド管理を owner 別に編集・保存(Brand テーブル)。色/フォント/トーン/ロゴ/テンプレを追加・削除・保存。
設計ブランドDBを MCP 制作(サムネ/WP/動画)の共通入力源として確立。スキーマ追加+db push 済み。
v1.462026-06-15
制作物マスターを実データ化+owner を実クライアントに統一
Studio の制作物をモックから実DB(ProducedAsset)に移行。各編集画面の「書き出し(作成)」で制作物レコードが作成され、制作コンテンツ一覧・各編集下部・制作管理かんばんに反映。owner 選択は制作管理と同じ実 Company に統一し、二重リストを解消。制作物の owner はコンテンツの案件を継承する。
新機能制作物マスター(ProducedAsset)を実装。サムネ/WP/ウェビナーの「書き出し」で制作物を作成・一覧表示。
改善Studio の owner 選択肢を実クライアント(Company)に統一(制作管理と同一ソース)。モックの owner リストを廃止。
新機能制作管理かんばんカードに、その案件に紐づく実制作物チップを表示(contentId で連動)。
v1.452026-06-15
制作管理に owner(案件)を実装=制作物の所属が明確に
制作管理(かんばん=Content)に owner を実データで追加(Content.clientId、null=自社)。コンテンツ作成・編集で案件(自社/クライアント)を選べるようにし、かんばんカードに owner バッジ、上部に owner フィルタ(自社・クライアント混在ボードの絞り込み)を追加。owner の正本を Content に置くことで制作物との紐づけ矛盾を解消する土台にした。
新機能コンテンツに案件(owner=自社/クライアント)を設定可能に(作成・編集フォーム)。
新機能制作管理かんばんに owner バッジと owner フィルタを追加(自社/クライアント混在を絞り込み)。
設計owner の正本を Content.clientId(→Company)に統一。スキーマ追加+db push 済み。
v1.442026-06-15
Studio に owner(自社/クライアント)を導入【UIのみ・提案A】
提案A を採用。制作物・各編集画面・ブランド・数値管理に owner(自社 or クライアント)タグを通した。制作コンテンツ一覧と各 MCP 編集画面に案件セレクタ+owner フィルタ、ブランド管理は owner ごとの切替、Analytics は owner(自社/クライアント)で横断フィルタ。すべてダミー/モック。
新機能制作物に owner(自社/クライアント)タグを追加。制作コンテンツ一覧に owner フィルタ+owner バッジ。
新機能サムネ/WP/ウェビナーの各編集画面に案件(owner)セレクタを追加し、下部の制作物も owner で連動。
新機能ブランド管理を owner ごとに切替。Analytics(数値管理)に owner(自社/各クライアント)横断フィルタを追加。
v1.432026-06-15
Studio/Analytics をブラッシュアップ(並び替え・ダミー数値・横幅・双方向リンク)【UIのみ】
Studio タブを 制作コンテンツ→制作管理→…→ブランド の並びに変更。Analytics 数値管理に運用ダミーデータ(クライアント別の目標/実績/達成率+コンテンツ別数値)を投入。各タブの横幅を拡大。制作管理かんばんカードに紐づく制作物チップを表示(双方向リンク)。制作物に配信先(LP/SNS)チップを追加。
改善Studio タブの並びを 制作コンテンツ・制作管理・サムネ・WP・ウェビナー・ブランド に変更。
新機能Analytics 数値管理に運用ダミーデータ(企業ごとの目標/実績/達成率、コンテンツごとの数値)を表示。
改善Studio/Analytics 各タブの左右の横幅を拡大(max-w-6xl/7xl)。
新機能制作管理かんばんカードに紐づく制作物チップを表示(制作物↔コンテンツの双方向リンク)。制作物に配信先(LP/SNS)チップを追加。
v1.422026-06-15
Studio/Analytics を再構成(制作管理・制作コンテンツ・ウェビナー)【UIのみ】
Analytics を単一「数値管理」に統合(上部=概要/下部=コンテンツごとの数値)。Studio はコンテンツ→「制作管理」に改称し「制作コンテンツ」一覧タブを追加、動画→「ウェビナー」に変更して企画作成要素を追加。Studio の制作物は共通マスター(モック)に格納し、制作コンテンツ一覧・各編集画面下部に表示。
改善Analytics の2タブを「数値管理」に統合(上部=概要・下部=コンテンツごとの数値一覧)。
改善Studio「コンテンツ」→「制作管理」に改称。「制作コンテンツ」一覧タブを追加。
新機能Studio「動画」→「ウェビナー」に変更し、ウェビナー作成フォーム+録画編集をまとめた。
新機能制作物マスター(モック)を新設。制作コンテンツ一覧・各編集画面下部に対応する制作物を表示。
v1.412026-06-15
Studio(制作ハブ)を新設/既存を Analytics に改称【UIのみ】
MEDIA に制作ハブ「Studio」を新設。コンテンツ(かんばん)を Studio に移し、ブランド管理・サムネイル(Figma)・ホワイトペーパー(Plus AI)・動画(Palmier)の各タブを追加(現時点は UI のモックで MCP/DB 未接続)。既存の Studio(/contents) は概要・数値リード中心の Analytics に改称。
新機能Studio(制作ハブ)を新設。コンテンツかんばん+ブランド/サムネイル/ホワイトペーパー/動画タブ(UIのみ・MCP未接続)。
改善既存の Studio を Analytics に改称(概要・数値/リード)。コンテンツかんばんは Studio へ移設。
設計ブランド管理DBを起点に Figma/Plus AI/Palmier を Claude Code の MCP ハブで繋ぐ前提を docs/specs/studio.md と CLAUDE.md に明文化。
v1.402026-06-15
Assistant に確認・依頼/介入/AIコンソールを集約
Assistant を実働ページ化。エージェントが起票した確認・依頼(承認/却下)をここで処理でき、実行中のエージェントへの介入・停止もここに集約。あわせてダッシュボード全体に指示できる AI コンソールを Assistant 上で利用可能にした。
新機能Assistant に「確認・依頼」を実装。エージェントの承認待ちを承認/却下できる(監査ログに記録)。
新機能実行中エージェントへの介入・停止を Assistant に集約。
新機能AI 指示コンソール(AIChat)を Assistant 上で利用可能にした。
v1.392026-06-15
Team を名簿・管理に専念(稼働ON/OFF・介入はAssistantへ)
Team の役割を「名簿・追加・稼働管理・情報確認」に整理。各エージェントに稼働停止/再開(isActive キルスイッチ)を追加。確認・依頼と介入は Team から外し Assistant 側に集約する方針(介入・実行中の停止ボタンを Team から撤去)。監査ログタブは Home に集約済みのため Team から削除。
新機能Team の各エージェントに「稼働停止/再開」を追加(即時キルスイッチ。監査ログに記録)。
改善Team から介入・実行中の停止ボタンを撤去(Assistant でのやりとりに集約予定)。
改善Team から確認・依頼タブと監査ログタブを撤去し、名簿表示に専念。
v1.382026-06-15
Audit Log・Changelog・DB Schema を Home に集約
監査ログ・更新履歴・DB設計を Home 配下に集約し、Home 上部に共通サブナビ(Home / Audit Log / Changelog / DB Schema)を追加。サイドバーから「監査ログ」項目を、Admin から更新履歴・DB設計タブを撤去。あわせてメニュー名を英語表記で統一(監査ログ→Audit Log など)。
改善Home に共通サブナビを追加し、Audit Log / Changelog / DB Schema を Home から開けるようにした。
改善サイドバーの「監査ログ」項目と、Admin の更新履歴・DB設計タブを撤去(重複解消)。
改善メニュー・タブ名を英語表記で統一(例: 監査ログ→Audit Log)。
v1.372026-06-15
エージェント・ランタイム advance() 縦通し(自律1本)
ADR 0002 実装順序#1。AIエージェントが自律的に作業を進めるランタイム本体 advance() を最小実装で縦通し。Team でエージェントの「実行」を押すと、停滞商談(SFA稼働ステージ×7日以上未更新)を読み、各商談にフォローアップ下書きを自走で社内記録し(Deal活動ログ)、送信など外部に出ることだけは承認(DecisionLog)に回してランが終わる。全行動は監査ログ(actorType=AGENT)に残る。ステップ/トークン上限・キルスイッチ・不可逆操作の非公開(denylist)をガードレールとして実装。送信の実行・承認キューUI・常駐自律は次段。
新機能Team のエージェント詳細に「実行」ボタンを追加。人間起動でランタイム(advance のループ)を同期実行する(ADR Phase A)。
設計advance() を1ターンのステッパーとして実装。ドライバが繰り返し呼ぶ構造で、将来 Mac 常駐ワーカーへ差し替え可能。
設計承認境界=外部影響のみ:社内成果物(フォロー下書き)は自走、送信は DecisionLog で承認待ちに。
設計ガードレール:ステップ/トークン上限で一時停止、isActive=false で即停止、不可逆操作(削除・送金・一斉送信・force-push)はツール非公開で遮断。
v1.362026-06-15
Docs 詳細パネルを閉じやすく
Docs でドキュメントを開いたあと、詳細パネルだけを簡単に閉じられるように改善。詳細の左上に「一覧」へ戻るボタンをデスクトップでも常時表示し、詳細パネルの外側をクリック/Esc キーでも閉じられるようにした。
改善Docs 詳細パネルの左上に「一覧へ戻る」ボタンをデスクトップでも常時表示。
改善詳細パネルの外側をクリック、または Esc キーで詳細を閉じられるようにした(リスト内の切替・確認ダイアログは誤作動しない)。
v1.352026-06-15
共有リンク一覧を Admin から Docs へ移設
発行済み共有リンクの一覧を Admin(更新履歴などの管理タブ)から Docs に引っ越し。Docs 上部に「ページ/共有リンク」の切替を追加し、ドキュメントに関する管理をドキュメントの画面に集約した。Admin 側の共有リンクタブは廃止。
改善共有リンク一覧を Admin から Docs へ移設。Docs 上部の「ページ/共有リンク」切替から閲覧・停止・URLコピーができる。
改善Admin(管理)から共有リンクタブを削除し、関連処理を整理した。
v1.342026-06-15
監査ログを一本化/AIアバターを人物風に刷新
/activity を EventLog ベースの統合監査ログ(人間・AI・システムの全操作)に作り替え、サイドバーに「監査ログ」を追加。Team の監査ログタブからも「すべて見る」で遷移。このログを元に消化タスク量・稼働時間を集計し人材評価に使う土台とする。AIエージェントのアバターを、Notion Avatar Maker をカラフルにしたような人物風の絵柄(DiceBear notionists)に変更。
改善/activity を統合監査ログ(人間・AI・システムの全操作履歴)に一本化。サイドバーに「監査ログ」を追加(G Y)。
改善Team の監査ログタブから統合監査ログへ遷移できるようにした。
改善AIエージェントのアバターを人物風・カラフル(Notion 風)の絵柄に変更。
v1.332026-06-15
Docs を Notion 風に改善(リスト表示・更新者表示・パンくず)
Docs 一覧を区切り線が控えめなリストビューに変更。各行にうっすらと最終更新日と更新者を表示。ドキュメントを大きく開いた後の現在地が分かるよう、上部にパンくず(Docs / タイトル)と一覧へ戻るリンクを追加。Notion を参考にした。
改善Docs 一覧を区切り線の控えめなリストビューに変更(Notion 風)。
改善一覧の各行に最終更新日と更新者をうっすら表示。
改善ドキュメント詳細の上部にパンくず(Docs / タイトル)と戻るリンクを追加し、現在地と一覧への戻り方を明確にした。
v1.322026-06-15
Team を改善(人間アイコン・AIアバター・日本語表記・監査ログ)
Team を4点改善。人間メンバーのアイコンを Admin の Members と同じ Clerk プロフィール画像から取得。AIエージェントのアバターを名前から自動生成(カラフルで可愛いロボットアイコン)。一覧カードの介入・停止ボタンにテキストを追加。スコープなどの技術表記をすべて分かりやすい日本語に変更。監査ログタブを実装し、人間・AI・システムの操作履歴を一覧表示。
改善人間メンバーのアイコンを Members(Clerk)の画像から取得するようにした。
新機能AIエージェントのアバターを名前から自動生成(カラフルで可愛いロボットアイコン)。
改善一覧の介入・停止ボタンにテキストを追加。権限スコープや活動の表記をすべて日本語に変更。
新機能Team に監査ログタブを追加。人間・AI・システムの操作履歴を新しい順に表示。
v1.312026-06-15
Docs をカテゴリー別の一覧+右詳細に刷新/フッターのAIアシスタントを非表示
Docs を刷新。ページ一覧をカテゴリー(議事録・マニュアル・思考メモ・その他)ごとに分けて前面に表示し、ページを選ぶと右側に詳細パネル(カテゴリー変更・本文プレビュー)が開く。詳細から「開く(大きく編集)」で従来のフルエディタへ。カテゴリーは半手動で設定(詳細パネルのセレクト)。あわせてフッター固定のAIアシスタント(AIBar)を非表示にした。
改善Docs を「カテゴリー別の一覧+右側の詳細パネル」に刷新。議事録・マニュアル・思考メモ・その他に分類し、詳細から大きく編集できる。
新機能ドキュメントにカテゴリー(半手動)を追加。詳細パネルのセレクトで分類できる。
改善基本的に使わないフッター固定のAIアシスタントを非表示にした。
v1.302026-06-15
Team(人格付きエージェント名簿)を追加
General に Team ページを追加。人間メンバーを上部の独立セクション、AIエージェントをその下に分離して表示する人材マネジメント風の名簿。各エージェントは名前(外国人名)・アバター・役職・性格・状態・今なにしてる・起動形態バッジ(ON_DEMAND/EVENT/SCHEDULED)を持つ。プロフィール詳細(人物・権限スコープ・今月の実績・活動履歴)とエージェント作成フロー(性格・役割・起動形態・スコープ・コスト上限)を実装。サイドメニューの HR を Recruitment(人間採用専用)に改称し、General に Assistant を追加。スキーマは AgentIdentity に人格フィールド、新規 AgentRun を追加。設計は docs/decisions/0002-agent-runtime.md、行動規範は docs/onboarding.md。
新機能Team ページを追加。人間(上)とAIエージェント(下)を分離して一覧。状態・今なにしてる・起動形態バッジ付き。
新機能エージェントのプロフィール詳細(人物・スコープ・今月の実績・活動履歴)と作成フロー(性格・役割・起動形態・スコープ・1日コスト上限)を追加。
改善サイドメニューの HR を Recruitment(人間採用専用)に改称。General に Team・Assistant を追加。
設計AgentIdentity に人格フィールド(displayName/roleTitle/persona/avatarUrl/trigger/dailyBudget)、新規 AgentRun モデルを追加。
v1.292026-06-14
HR(採用管理)マニュアルを追加(画像5枚)
採用管理(HR)の操作マニュアルを画像付きで追加。パイプライン(書類選考→1次面接→最終面接→内定→採用済)、タレントプール、不採用の管理、候補者の追加、詳細パネル(ステージ移動・概要/ノート/面接タブ・評価スコア★)、面接の設定、AI評価、ショートカットを網羅。画像は他マニュアルと同じ docs-as-code パイプライン(HTML/CSS→ヘッドレス Chrome)で5枚生成。Docs のマニュアルはこれで計10本になった。
新機能HR(採用管理)マニュアルを追加。パイプライン5ステージ・候補者詳細・面接設定・評価スコア・AI評価を画像5枚付きで解説。マニュアルは計10本に。
v1.282026-06-14
マニュアルを計9本に拡充・全マニュアルに画像(各3〜6枚)
既存マニュアル(はじめに/Tasks/Docs/Mail/Deals)に画像を追加し、Inbound(資料・記事・SNS)/ Outbound(架電・メール・DM)/ Clients(顧客管理)/ Studio(コンテンツ)の4本を画像付きで新規作成。Docs のマニュアルはこれで計9本になった。画像はアプリと同一のデザイントークンで作った HTML/CSS をヘッドレス Chrome で PNG 化する docs-as-code パイプラインで33枚を追加生成(合計39枚)。共通の見た目を保つため、再利用パーツ(タブ・リスト・カード・かんばん列・シート・ピル等)を _tokens.css に整理。透過 PNG だと light テーマで白文字が消えるため、各画像は不透明ダークステージで生成(dark-first のため両テーマで正しく表示)。各機能の実装(タブ構成・ステータス・ステージ・ゲート/CTA など)に忠実なモックにしている。
新機能マニュアルを4本追加:Inbound(資料・ゲート・CTA・閲覧データ)、Outbound(架電・メール・DM・DB)、Clients(ステージ・TOP・Leads ほか)、Studio(かんばん・数値/リード)。すべて画像付き。
改善既存マニュアル(はじめに/Tasks/Docs/Mail/Deals)に画像を追加。全マニュアルが各3〜6枚の画像付きに。
設計マニュアル画像の量産基盤を整備:_tokens.css に再利用パーツを集約し、HTML/CSS→ヘッドレス Chrome で計39枚を生成(不透明ダークステージで両テーマ対応)。create-manual-page.mts は全 md を一括 upsert。
v1.272026-06-14
Docs の表の区切り線を修正・マニュアル拡充(画像付き+4本追加)
① Docs(およびマニュアル)の表に区切り線が出ない問題を修正。表スタイルが TipTap 専用クラス限定で、Markdown 由来の素の table に当たっていなかったため、.tiptap 内の全 table に適用し罫線を --border-md で明確に。② Tasks マニュアルを画像付きで仕上げ(タスク一覧・ステータス循環・New task パネル・かんばん・一括操作バー・ショートカット早見の6枚)。画像はアプリと同じデザイントークンで HTML/CSS を書き、システムの Chrome をヘッドレスで PNG 化(npm 依存ゼロ・実機認証不要・docs-as-code)。量産用に render-manual-assets.sh を整備。③ マニュアルを4本追加:はじめに(基本操作)/ Docs(ページ)/ Mail(メール)/ Deals(商談)。投入スクリプトを複数対応に一般化。
修正Docs の表に区切り線が出ない問題を修正。セレクタを .tiptap table 全般に広げ(Markdown 由来の素の table も対象)、罫線を --border-md で見やすく。全 Docs に反映。
新機能Tasks マニュアルを画像付きに(6枚)。アプリと同一トークンの HTML/CSS をヘッドレス Chrome で PNG 化する docs-as-code パイプライン(scripts/manual-assets/ + render-manual-assets.sh、npm 依存ゼロ)。
新機能マニュアルを4本追加:はじめに(基本操作・ナビ・ショートカット・幅/テーマ/AI/権限プレビュー)、Docs、Mail、Deals。create-manual-page.mts を複数ファイル対応に一般化。
v1.262026-06-14
Docs に右側の目次・サイドバー幅/本文幅をドラッグで調整
① 共有ページと同じ右側の目次(TOC)を、アプリ内の Docs 表示にも追加。本文(.tiptap)の h1/h2 を自動抽出し、常時はアイコンストリップ、ホバーでパネル展開。クリックで該当見出しへスムーズスクロールし、スクロール位置に応じて現在地をハイライト。編集中の見出し変更にも追従(MutationObserver)。② サイドバー幅とページ本文幅をドラッグで調整可能に。サイドバー右端、各ページ本文の右端にハンドルを追加し、幅は CSS 変数(--sidebar-w / --content-max-w)+ localStorage で全ページ共通・再読込後も復元(anti-flash スクリプトで初回フラッシュなし)。ダブルクリックで既定値に戻る。本文幅は maxWidth 未指定の標準ページと Docs に適用(分割ビュー系の fill ページは対象外)。あわせて初の操作マニュアル(Tasks)を Docs に追加。
新機能Docs 表示に右側の目次(TOC)を追加。共有ページと同じ操作感(アイコンストリップ+ホバー展開、現在地ハイライト、クリックでスムーズスクロール)。本文の h1/h2 を自動抽出し、編集中の変化にも追従。
新機能サイドバー幅・本文幅をドラッグで調整可能に(右端ハンドル/ダブルクリックで既定値)。CSS 変数+localStorage で全ページ共通・再読込後も復元、anti-flash スクリプトで初回フラッシュなし。
新機能操作マニュアル(Tasks)を Docs に追加。docs/manuals/tasks.md をソースに、scripts/create-manual-page.mts で投入(同名は上書き)。
設計リサイズ用の共通フック useResizeDrag と汎用ハンドル ContentWidthHandle を追加。本文幅は PageLayout(maxWidth 未指定)と Docs に適用、意図的な固定幅・分割ビューは対象外。
v1.252026-06-13
モバイル可読性・タブ横スクロール・モーダル背面ロック・ロールプレビュー改善
レビューで挙がった UI/UX の改善をまとめて実施。① モバイルで見にくかった低コントラスト文字を改善(dark の tertiary/quaternary を 0.28→0.34・0.12→0.22 に引き上げ、色だけの変更でレイアウト影響なし)。② タブが画面幅で見切れて押せない問題を解消(Clients・Admin のタブを横スクロール可・モバイルは文字小さめに)。③ モーダル/ドロワー表示中に背面がスクロールしてしまう問題を共通フック useBodyScrollLock で抑止(WP設定ドロワー・確認ダイアログ)。④ ロールプレビュー: 管理者専用ページではサーバーゲートのため実ロールの本文が見える旨を注意表示、ドロップダウンの画面外はみ出しも防止。
改善モバイル可読性:dark テーマの text-muted/ghost のコントラストを引き上げ(0.28→0.34、0.12→0.22)。色のみの変更で全画面のヒント・タイムスタンプ等が読みやすく。
改善タブの見切れ解消:Clients(TOP/Contents/Leads/Billing/Portal)と Admin のタブバーを横スクロール可(w-full md:w-fit + overflow-x-auto)、モバイルは text-sm に。狭幅でも全タブに到達できる。
改善モーダル/ドロワーの背面スクロール抑止フック useBodyScrollLock を追加し、WP設定ドロワーと確認ダイアログに適用。
改善ロールプレビュー:管理者専用ページ(/clients ほか)ではサーバーゲートのため実ロール本文が見える旨をバナーに注記。ドロップダウンに max-w を付け画面外はみ出しを防止。
v1.242026-06-13
テスト基盤の導入・マイグレーション再建手順・CLAUDE.md 整備
これまでゼロだった自動テストの土台を導入(Vitest)。まず WP config 解析(parseWpConfig:snake_case 変換・ハードゲート後方互換・floating CTA の text・top_banner)の単体テストを 6 本追加し、npm test で通る状態にした。あわせて、`db push` 運用でドリフトした Prisma マイグレーションを 1 本のベースラインに作り直す安全手順を ADR 化(docs/decisions/0001)し、現行スキーマ全体の DDL を prisma/baseline.sql として生成。CLAUDE.md の実態とのズレ(Co-Authored-By のモデル名、Supabase CMS 連携の明記、テスト/マイグレーション運用、lint/test の必須化)も修正した。挙動変更なし。
新機能Vitest を導入(npm test / test:watch)。parseWpConfig の単体テスト 6 本を追加(lib/db/wp-tracking.test.ts)。純ロジックから着手し、回帰の保険を用意。
設計Prisma マイグレーションのドリフト解消 ADR を追加(docs/decisions/0001)。現行スキーマの DDL を prisma/baseline.sql に生成。DB 接続のある環境で resolve --applied する手順を明記(本番のデータには触れない・要バックアップ)。
修正CLAUDE.md を実態に整合:Co-Authored-By はセッションの実モデル、Supabase CMS 連携と db push 運用を明記、実装後チェックに lint/test を追加。
v1.232026-06-13
Lint 警告も全て解消(0 警告・挙動変更なし)
残っていた lint 警告 47 件を全て解消し、lint はエラー・警告ともに 0 件に。内訳: 未使用の import/変数/関数引数を削除または整理、不要になった eslint-disable コメントを削除、TaskForm の useEffect 依存欠落を useCallback で正しく解消。構築途中のダッシュボード雛形(ContentsDashboard・SnsView)は将来実装の足場を残すためファイル単位で no-unused-vars を抑制(理由コメント付き)。Mail の部署メアド削除関数は UI 未接続のため温存(_ プレフィックス)。typecheck・build パス。
修正lint 警告 47 件を解消(0 件に)。未使用 import/変数の削除、未使用 eslint-disable の除去、TaskForm の依存欠落を useCallback で修正。挙動は不変。
設計WIP 雛形(ContentsDashboard・SnsView)と未接続関数は削除せず温存(将来実装の足場)。前者はファイル単位 disable +理由コメント、後者は _ プレフィックスで明示。
v1.222026-06-13
Lint エラー解消(React Compiler ルール準拠・挙動変更なし)
eslint-config-next(Next 16)の React Compiler 系ルールで出ていた既存の lint エラー 31 件を全て解消した。挙動は変えず、コードの書き方のみ修正。内訳: ① レンダー中の Date.now() を React Query の initialDataUpdatedAt 関数形式/モジュール関数に移動(react-hooks/purity)② effect 内の同期 setState を startTransition でラップ(react-hooks/set-state-in-effect)③ render 中の ref 書き込みを effect 同期に変更(react-hooks/refs)④ Mail 画面の早期 return より後ろにあった Hook を全て前方へ移動し、変数の使用前宣言も解消(react-hooks/rules-of-hooks ほか)。typecheck・build はパス。
修正既存 lint エラー 31 件を解消(0 件に)。Date.now のレンダー中呼び出し・effect 内同期 setState・render 中 ref 書き込み・早期 return 後の Hook 呼び出しを、挙動を保ったまま準拠形に修正。
設計Mail 画面(MailView)の Hook 順序を整理し、全 Hook を早期 return より前に移動。最新値参照 ref は useEffect 同期に統一。残るのは警告(未使用変数・未使用 eslint-disable 等)のみで、いずれも挙動非依存。
v1.212026-06-13
フローティング CTA に訴求文(ctas[].text)を追加
oyo.tokyo 表示側でフローティング CTA の訴求文キーが ctas[].text(top_banner.text と同名・snake_case)に確定し、ビューワーが cta.text を描画するよう対応済みとなったため、CMS(Inbound > 資料 > ページ設定)の CTA 編集にフローティング用の訴求文欄を1つ追加した。出力は ctas[].text。fullpage の headline/subheadline は現状維持。text が空欄のときはビューワー側のデフォルト文言(『Insidersのリード獲得コストを御社の数字で試算してみませんか?』)に自動フォールバックするため、既存 floating の表示崩れは無し。
新機能フローティング CTA に訴求文(text)入力欄を追加。出力 ctas[].text(snake_case、top_banner.text と統一)。空欄ならビューワーのデフォルト文言にフォールバックする旨を UI に明記。
設計WpCta 型・parseCta・ctaToRow に text を追加(読み書き両層)。契約は oyo.tokyo の types.ts CTAConfig.text? / wp-cms-editor.md §3 が正本。fullpage の headline/subheadline は変更なし。
v1.202026-06-13
他の権限での見え方を確認できるロールプレビュー(管理者のみ)
管理者(OWNER/ADMIN)が『他の権限だと画面がどう見えるか』を確認できるプレビュー機能を追加。サイドバー下部のダークモードボタンの横に目アイコンのボタンを置き、SALES/MEDIA/MEMBER を選ぶと、その権限で表示した場合のサイドバー項目や権限ゲートが反映される。プレビュー中は画面下部に『○○権限で表示中』のバーを常時表示し、ワンタップで解除できる。表示の確認用途のため、データの保存・サーバー側の権限判定(実ロール)は一切変更しない。
新機能ロールプレビューを追加。サイドバーのダークモード切替の横(管理者のみ表示)から SALES/MEDIA/MEMBER の見え方に切り替えできる。選択時は Home へ移動し、画面下部のバーから『解除』で元に戻る。
改善UserProvider にプレビュー状態を内蔵し、プレビュー中は useCurrentUser().role を差し替え(本人の id/email/name はそのまま)。サイドバーの項目フィルタや各画面のロールゲートが自動で追従する。状態は sessionStorage 保持でタブを閉じるとリセット。
設計あくまで表示確認用。サーバー側の権限判定(getCurrentRole・AdminLock など実ロールで動作)やデータ保存には影響しない。サーバーでゲートされるページ本文は実ロールのまま表示されるため、ナビ・クライアント側ゲートの見え方確認が主目的。
v1.192026-06-13
Inbound 資料:WP ページ設定を独立ドロワー化(保存ボタン常時表示)
Inbound > 資料 の whitepaper 設定 UI を PM 向けに作り直した。これまでゲート/CTA などの設定は『閲覧データ(分析)』の中の設定タブに埋もれていて入口が分かりにくく、設定フォームが縦に長いため最下部の保存ボタンが見えず保存できないことがあった。設定を分析から切り離し、各 WP 連携資料に『ページ設定』ボタンを新設。クリックすると右側ドロワー(モバイルは全画面)で開き、ヘッダー固定・本文スクロール・フッターに保存ボタン固定の3層レイアウトにしたため、どれだけ項目が増えても保存ボタンが常に見える。フォームは基本情報/スライド/ハードゲート/ソフトゲート/CTA/上部バナー/公開 のセクションに整理した。
改善WP 設定を『閲覧データ』タブから分離し、資料行に『ページ設定』ボタンを新設。閲覧データ(概要・閲覧者)は分析専用に整理し、設定タブを廃止。
改善設定エディタを右側ドロワー(モバイル全画面)化。ヘッダー固定+本文スクロール+フッターに保存ボタン固定で、フォームが長くても保存ボタンが常に見える・押せる。Esc/背景クリックで閉じる。
改善長い設定フォームを 基本情報/スライド/ハードゲート/ソフトゲート/CTA/上部バナー/公開 のセクションに区切り、公開トグルとランディング/ビューワーへのリンクを『公開』セクションに集約。
v1.182026-06-13
WP CMS エディタ:ハードゲート項目選択/上部バナー/公開時 revalidate
Inbound > 資料 > 設定 の whitepaper エディタを、oyo.tokyo の config 正本(snake_case)に合わせて差分修正。ハードゲートを「ON/OFF だけ」から「追加項目も選べる」形(email は常に必須+氏名/会社名/役職を選択、出力 hard_gate: {enabled, fields})に変更。ビューワー最上部に常時表示する独立 CTA『上部バナー』(top_banner: {enabled, text, button_text, url})を新設。保存時に oyo.tokyo の /api/revalidate(content_type:"whitepaper")へ webhook を送信するようにし、ソフトゲート追加時の id を衝突しない一意値に修正した。
新機能ハードゲートに追加項目チェックボックス(氏名/会社名/役職)を追加。email は常に必須のまま、出力を hard_gate: {enabled, fields}(snake_case・job_title)に。旧 boolean true は後方互換で読み込み。
新機能上部バナー CTA を新設(1 WP に1つ・ON/OFF・訴求文・ボタン文言・リンク)。出力 top_banner: {enabled, text, button_text, url}。下部フローティングとの重複は ctas 側で floating を外して回避。
修正WP 設定の保存(公開/更新/非公開)時に oyo.tokyo の /api/revalidate へ webhook 送信(記事側と同じ CMS_REVALIDATE_URL/SECRET、body は {slug, content_type:'whitepaper'})。未設定時はスキップ(ISR で最大1時間後反映)。
修正ソフトゲート追加時の id を gate_<連番>(削除→追加で重複し得る)から一意値(crypto.randomUUID)に変更。
設計config 出力契約は oyo.tokyo の docs/specs/wp-cms-editor.md が正本。表示側(上部バナー描画・ハードゲート可変項目・whitepaper revalidate)は oyo.tokyo に本番反映済み(先行デプロイ済みでデプロイ待ち不要)。CMS が top_banner/hard_gate オブジェクトを書けばそのまま本番ビューワーに反映される。
v1.172026-06-13
コンテンツの「クリック」をビューワーの cta_click 実数で表示
oyo.tokyo ビューワーが CTA クリックを wp_events(event_type='cta_click')へ本番送出するようになったため、whitepaper 紐づけコンテンツの「クリック」列がビューワー実数で自動表示されるようになった。集計はこれまで通り読み取り専用(slug 単位で cta_click を合計)。トラッキングセッションがある WP は 0 件でも 0 と表示し、セッションが無い(ハードゲート無効など未計測)WP のみ手入力にフォールバックする挙動に整理した。
改善クリック集計を整理:計測セッションがある whitepaper は cta_click の実数(0 件でも 0)を表示。全件ゼロでも手入力に戻さない。未計測(セッション無し)の WP のみ手入力フォールバック。
設計ビューワー側 cta_click 送出が本番反映済み(contract: docs/specs/content-viewer-metrics-autosync.md / oyo.tokyo wp-click-tracking.md)。Nucleus はスキーマ・設定変更なしで集計のみ。クリックを数えるには対象 WP のハードゲート有効化が必要。
v1.162026-06-13
Clients に TOP タブ(PM管理+成果サマリー)を追加
各クライアント企業ページに『TOP』タブを新設(既定表示)。上部に社内 PM 用の契約・KPI 管理項目(契約期間・コンテンツ納品予定日・目標リード数+達成期限(返金ライン)・返金条件・月額・PMメモ)を加筆修正できるパネルを置き、目標リードは現在数との進捗・各期日は残り日数も表示する。下部にエキスパートレポートと同じ集計(KPI・コンテンツ分析・インサイト)の縮約版を社内UIで掲載。あわせてヘッダーの『CRMで開く』リンクを削除した。
新機能Clients に TOP タブを追加(既定表示)。社内 PM が契約・KPI を管理する ClientProject(Company と1:1)を新設し、契約期間/納品予定日/目標リード数+達成期限(返金ライン)/返金条件/月額/PMメモを編集・保存できる。
新機能TOP タブに成果サマリー(KPI・コンテンツ分析・インサイト)の縮約版を掲載。エキスパートレポートと同じ集計(調整後)を getClientDetail に analytics として付与し再利用。
改善リード目標は現在リード数との進捗(現在/目標・%)、納品予定日・達成期限は残り日数を表示。期限超過かつ未達はリード目標期限を警告色で表示。
改善クライアント詳細ヘッダーの『CRMで開く』リンクを削除(利用頻度が低いため)。
設計ClientProject 列を追加(db push)。spec: docs/specs/clients-top-tab.md。
v1.152026-06-13
コンテンツの再生/閲覧・リーチ・クリックをビューワーから自動取得
whitepaper ビューワー(oyo.tokyo)系コンテンツの 再生/閲覧・リーチ・クリック を、手入力ではなくビューワーのトラッキング(wp_sessions / wp_events)から自動表示するようにした。Content に whitepaper を紐づけると、再生/閲覧=セッション数・リーチ=ユニーク視聴者数・クリック=cta_click 件数が自動反映される(クリックはビューワー側が未送出なら手入力にフォールバック)。Studio・Clients タブ・クライアントポータル・分析のすべての数値表示が、共通の解決層(latestMetricsByContent)経由で自動的にビューワー値になる。
新機能Content に whitepaper 紐づけ(wpSlug)を追加。コンテンツ編集フォームに『ビューワー連携』セレクタを追加し、紐づけたコンテンツは 再生/閲覧・リーチ・クリック をビューワーから自動取得する。
新機能ビューワー集計: getWpStatsBySlugs で複数 slug の セッション数(再生/閲覧)・ユニーク視聴者数(リーチ)・cta_click 件数(クリック)を一括取得(N+1 回避)。cta_click が一切無い場合はクリックを手入力へフォールバック。
改善latestMetricsByContent を解決層化し、wpSlug があれば閲覧・リーチ・クリックをビューワー値で上書き。Studio・Clients・ポータル・分析の全消費箇所が自動でビューワー値に。
改善数値記録フォーム(Studio / Clients)は、ビューワー連携コンテンツでは 再生/閲覧・リーチ・クリック の手入力欄を隠し、自動取得である旨を表示。
設計Content.wpSlug 列を追加(db push)。read-time オーバーレイ方式(cron 不要・常に最新)。spec: docs/specs/content-viewer-metrics-autosync.md。
v1.142026-06-13
Studioへ改称/コンテンツ一覧にリード集計列を追加/LeadEditorをMEDIA向けに整理
「Contents」の表記重複(メインナビと Clients タブ)を解消するため、メインのコンテンツ制作ページを『Studio』に改称(ルート /contents は据え置き)。Studio・Clients 両方のコンテンツ一覧に、紐づくリードのオーディエンスデータ集計(調整後 ?? 元データ)から算出した リード数・平均視聴完了率・資料DL合計・メールクリック合計・再訪問合計 の列を追加。ファネル上流のマクロ数値(再生/閲覧・リーチ・クリック)はリードから逆算できないため、手入力の ContentMetric 値として併記し残す。あわせて LeadEditor を MEDIA 向けに整理:Studio からの編集では『元データ・商談』編集セクションを隠し、『データ調整(クライアント表示用)』の見出しを『オーディエンスデータ』に変更した。
改善メインの「Contents」を『Studio』に改称(サイドバー/モバイルナビ/ヘッダー/メタtitle/ショートカット/AIバー)。ルート /contents と Clients タブ『Contents』はそのまま(表記の衝突を解消)。
改善Studio 一覧に、コンテンツ単位でリードのオーディエンスデータを調整後(?? 元データ)で集計した リード数・平均視聴完了率・資料DL合計・メールクリック合計・再訪問合計 の列を追加。記録日列は削除。
改善再生/閲覧・リーチ・クリック(匿名母数を含むファネル上流)はリードから逆算できないため、手入力の ContentMetric 値としてリード集計列の左に併記して残す。
改善Clients の Contents タブも Studio と同じ列構成(マクロ数値+リード集計)に統一(顧客×コンテンツで集計)。
改善LeadEditor: Studio(MEDIA)からの編集では元データ・商談の編集セクションを非表示(internalEditable=false)。『データ調整(クライアント表示用)』→『オーディエンスデータ』に改称。
設計集計ロジックを lib/db/audience.ts(aggregateAudience)に切り出し、contents.ts・clients.ts から共用。getClientDetail の各コンテンツに leadCount・audience を付与。
v1.132026-06-13
Contents のリードは調整後を主表示、詳細で元データも参照
Contents「数値・リード」のオーディエンスデータ表示を、クライアント向けの調整後の値を主表示にそろえた。コンテンツ単位の集計(属性の上位・行動の平均・関心テーマ)も調整後で算出する。各リード行を展開した詳細では、調整後の値を主に出しつつ、元データ(社内)が異なるときだけ『元 …』として併記し、何をどう調整したかを参照できるようにした。クライアントのエキスパートレポートは従来どおり調整後の値のみを表示(調整の有無は表示しない)。
改善Contents のオーディエンスデータ集計(業種・部署・規模の上位、行動の平均、関心テーマ)を調整後(?? 元データ)で算出するように変更。
改善リード詳細: 属性・行動・関心は調整後を主表示し、元データが異なる項目のみ『元 …』を併記。課題インサイトも調整後を本文に、元データが異なれば『元データ: …』を下部に参照表示。
設計ContentInsights の詳細表示を DetailItem(text+orig)方式に再構成し、調整後値と元データの差分のみを併記。エキスパートレポート側の表示は変更なし。
v1.122026-06-13
オーディエンスデータの「データ調整」+レポートの視認性改善
リードの属性・行動・関心・課題インサイトに「元データ(社内)」と「調整後(クライアント向け)」の2層を導入。社内では元データを見ながら『データ調整』として加筆修正でき、クライアントのエキスパートレポートには調整後の値のみ表示する(調整後は元データのコピーで初期化)。あわせてレポートの視認性を改善:獲得リード一覧を10件+「続きを読む」に、インサイト分析の関心テーマはラベルを折り返さず1行で全表示+バーを下段に配置、パネル幅・余白・文字サイズを調整。
新機能データ調整: 属性・行動・関心・課題インサイトに調整後(クライアント向け)レイヤーを追加。LeadEditor に「データ調整(クライアント表示用)」セクションと『元データを取り込む』ボタンを追加。元データは社内のみ保持し、エキスパートレポートには調整後の値のみ表示。
改善エキスパートレポートの獲得リード一覧を初期10件+『続きを読む』に変更し、縦の冗長さを解消。
改善インサイト分析のランキングを再設計(テーマ名を省略せず1行表示+バーを下段に)。パネル幅・余白・見出しサイズを調整して視認性を向上。
設計schema: ClientLead に調整後カラム(adjIndustry/adjLeadDept/adjEmployeeSize/adj行動5種/adjInterestThemes/adjIssueInsight/adjIssueInsightByAi)を追加。既存112件は元データのコピーで初期化。ポータルDTO・分析集計は調整後(?? 元データ)で算出。
v1.112026-06-13
Contentsで各リードのオーディエンスデータ/課題インサイトを閲覧・編集
Contents の「数値・リード」を制作チーム(MEDIA)も利用できるようにし、各リードの行をクリックすると属性・行動・関心データと課題インサイトを展開表示する。LeadEditor に行動データ(視聴秒数・視聴完了率・資料DL・メールクリック・再訪問)の編集欄を追加し、オーディエンスデータを一通り加筆修正できるようにした。コンテンツ単位のオーディエンスデータ集計(業種・部署・規模の上位、行動の平均、関心テーマ上位)も表示。あわせて Contents のリード一覧から「状態」列を非表示にした。
新機能Contents「数値・リード」: リード行をクリックで属性・行動・関心・課題インサイトを展開表示(課題インサイトはAI生成を明示)。
新機能LeadEditor に行動データ(視聴秒数・視聴完了率・資料DL回数・メールクリック・再訪問回数)の編集欄を追加。属性・関心・課題インサイトと合わせてオーディエンスデータを加筆修正できる。
改善Contents の数値・リードビューを MEDIA ロールでも閲覧・編集可能に(関連アクションのロールゲートを制作チームに拡張)。
改善コンテンツ単位のオーディエンスデータ集計(属性の上位分布・行動の平均・関心テーマ上位)を表示。Contents のリード一覧から「状態」列を非表示。
設計ClientLead の行動サマリ(watchSeconds/completionPct/downloads/mailClicks/revisits)を編集可能フィールドに追加(ClientLeadUpdate 拡張)。
v1.102026-06-13
獲得リードのオーディエンスデータ詳細+AI課題インサイト
獲得リードのインサイトを強化。クライアントレポートではリードをクリックすると、オーディエンスデータ(属性・行動・関心)と「課題インサイト」(そのデータから推測される課題仮説)を詳細表示する。課題インサイトは AI が生成し、レポート上で「AIによる課題仮説」と明示。Clients では AI 生成+人による加筆修正ができ、Contents の数値・リードビューにはコンテンツ単位のオーディエンスデータ要約を表示する。あわせて、リードの「状態」(商談ステータス)は今後のクライアント向け機能のため、レポートでは一旦非表示にした(商談数・受注などの集計KPIは継続表示)。
新機能クライアントレポート: 獲得リード行をクリックすると詳細モーダルを表示。属性データ/行動データ/関心データと、課題インサイト(AI生成は「AIによる課題仮説」と明示)を確認できる。
新機能課題インサイトをオーディエンスデータから AI 生成。Clients・Contents の LeadEditor に「AIで課題インサイトを生成」ボタンを追加し、生成後は人が加筆修正できる(修正すると人手フラグに切替)。EventLog に AI_EXECUTED として記録。
新機能Contents「数値・リード」: 選択コンテンツのオーディエンスデータ要約(業種・部署・規模の上位、行動の平均、関心テーマ上位)を表示。
改善クライアントレポートのリード一覧から「状態」列を一旦非表示(今後のクライアント向け機能のため)。商談数・受注などのKPIは継続表示。
設計schema: ClientLead に issueInsight / issueInsightByAi / issueInsightAt を追加。ポータルDTOにも課題インサイトを露出(社内メモ・失注理由は引き続き非露出)。
v1.092026-06-13
配信形式をリード取得チャネル(Web記事/ホワイトペーパー等)に刷新
Contents の「媒体」を、SNSプラットフォーム(YouTube/Instagram 等)から、リード取得の配信形式(Web記事・ホワイトペーパー・録画ウェビナー・メールマガジン・その他)に全面刷新。Contents のフォーム・カンバン・数値リード一覧、およびクライアントレポートの「配信形式」表示をすべて新区分に統一した。既存データは近い区分へ移行(YouTube→録画ウェビナー、ブログ→Web記事、コンテンツ種別が資料のものはホワイトペーパー等)。
改善配信形式を5区分(Web記事・ホワイトペーパー・録画ウェビナー・メールマガジン・その他)に刷新。Contents のフォーム/カンバン/数値リードとクライアントレポートの表示を統一。
設計schema: ContentPlatform enum を SNS プラットフォーム値から配信形式の5区分に置き換え(Content.platform を生 SQL で安全に移行)。既存行は近い区分へマッピング。
v1.082026-06-13
ブランド表記・ロゴ調整+モバイルのショートカット誤表示を修正
クライアント向けパフォーマンスレポート(Insider)のヘッダーロゴが小さかったため、ヘッダー高さとロゴサイズを拡大。サイドバーのブランド表記を「PRISM Core」のテキストから PRISM アイコン+「Core」表記に変更。さらにスマホでナビ等をタップした際、擬似ホバーでショートカットのヘルプ(例: G→L)が表示されてしまう不具合を修正した。
改善パフォーマンスレポートのヘッダーロゴを拡大(ロゴ高さ 34→44px、ヘッダー高さ 56→64px)。
改善サイドバーのブランドを PRISM アイコン画像+「Core」表記に変更(従来は「PRISM Core」テキスト)。
修正タッチ端末でタップ時に擬似 mouseenter が発火してショートカットのツールチップ(G→L 等)が表示されていた挙動を修正。hover 非対応端末ではツールチップを出さないようにした。
v1.072026-06-13
レポートKPIカードの集約 + TestCompany にATS向けデモデータ投入
パフォーマンスレポートの KPI カードを6枚から4枚に集約。商談数と商談化率を「商談数(商談化率)」、受注数と受注率を「受注数(受注率)」の各1枚にまとめ、率の部分は数値より少し小さく併記する表記に変更した。あわせてデモ用の TestCompany を「AIを活用した採用管理(ATS)会社」として再構成し、ウェビナー3本・ホワイトペーパー6本(計9コンテンツ)と、属性・行動・関心・商談ステータスを備えたリード112件のダミーデータを投入。レポート全体の見え方を検証できるようにした。
改善ポータルの KPI カードを集約: 「商談数(商談化率)」「受注数(受注率)」をそれぞれ1枚にまとめ、率は数値より少し小さいサイズで括弧書き併記。カードは6枚→4枚に。
改善デモデータ: TestCompany を AI採用管理(ATS)会社として再構成。ウェビナー3本+ホワイトペーパー6本に各種数値(閲覧/登録/DL/視聴完了率)を設定し、業種・部署・規模・関心テーマ・行動・商談ステータス(新規〜受注/失注)を持つリード112件を投入。
v1.062026-06-13
修正: Clients 詳細・Contents 数値/リードが「読み込み中」のまま表示されない
v1.04 で追加した ClientLead / ContentMetricEntry の新カラムが本番DBに未反映だったため、関連クエリが失敗していた。スキーマを本番DBに同期(prisma db push)して解消。あわせて、クエリ失敗時に detail が未取得のまま「読み込み中…」を出し続けて実エラーを覆い隠す UI を修正し、失敗時はエラー内容を表示するようにした。
修正本番DBに新スキーマ(ClientLead の属性/行動/関心/商談カラム・ClientLeadStatus、ContentMetricEntry の registrations/downloads/completionPct)を同期。Clients 企業詳細と Contents「数値・リード」が正しく表示されるようになった。
修正ClientsView・ContentInsights のクエリ失敗時に無限「読み込み中…」になっていた挙動を修正。isError を分岐し、失敗時はエラーメッセージを表示する。
v1.052026-06-13
クライアントレポートを Insider ブランドで表示
クライアントはコンテンツ配信→リード獲得サービスを「Insider」というサービス名で利用するため、パフォーマンスレポート(クライアントポータル)の表記を会社名「PRISM」からサービス名「Insider」に統一。ヘッダーに Insider by Prism のロゴ(透過PNG)を配置し、タブのファビコン・ページタイトル・フッターの発行元表記も Insider に変更。社内ツール「Core」(PRISM Core)側の表記は社内向けのため変更なし。
改善クライアントポータルのヘッダーロゴを Insider by Prism のロゴ画像に差し替え(白ヘッダーに合わせて配置・サイズ調整)。
改善ポータルのページタイトルを「… 様 — 成果レポート | Insider」に、フッターを「本レポートは Insider(提供: PRISM)が発行する…」に変更。タブのファビコンを Insider アイコンに設定。
v1.042026-06-13
クライアント向けリード管理・分析ダッシュボード
Performance Report ページ(クライアントポータル)を、単なるリード一覧から「オーディエンス理解 → 商談創出 → 次のコンテンツ企画」までを一元管理するダッシュボードへ拡張。ClientLead に属性(業種・部署・従業員規模)・行動サマリ(視聴/DL/クリック/再訪)・関心テーマ・商談管理(ステータス・商談予定/実施日・受注金額・次回アクション・失注理由・社内メモ)を追加。ポータルに件数・率ベースの KPI カード(総/新規リード・商談数・商談化率・受注数・受注率)、コンテンツ別成果テーブル(閲覧/登録/DL/視聴完了率/獲得リード/商談/商談化率/受注+全体合計)、インサイト分析(関心テーマ/人気コンテンツのランキング・役職別/業種別クロス・リード別簡易インサイト)を追加。リード一覧の CSV エクスポートにも対応。編集は社内(/clients・/contents)のみで、ポータルは無認証・読み取り専用を維持。社内メモ・失注理由はポータルに出さない。
新機能ポータルに KPI カードを拡張: 総リード数・新規リード数(今月)・商談数・商談化率・受注数・受注率(件数/率系のみ。単価・ROI は今回対象外)。
新機能コンテンツ分析テーブル: コンテンツ別に閲覧/登録/DL/視聴完了率/獲得リード/商談/商談化率/受注を表示し、最上段に全体合計を表示。
新機能インサイト分析: 関心テーマランキング・人気コンテンツランキング・役職別/業種別の関心テーマクロス集計・リードごと簡易インサイト(関心/視聴/DL/再訪の要約)。
新機能商談管理: 各リードにステータス(新規/接触済/商談設定/商談実施/受注/失注)・商談予定日/実施日・受注金額・次回アクション/予定日・失注理由・社内メモを記録(/clients・/contents の LeadEditor で編集)。
新機能リード CSV エクスポート: ポータルはトークンスコープの DL リンク(顧客向け列のみ)、社内は失注理由・社内メモ込みの全項目。Excel 向けに BOM 付き UTF-8。
改善Clients/Contents のリード一覧に状態バッジ・業種列を追加。LeadEditor に属性・関心テーマ・商談フィールドを折りたたみセクションで追加。コンテンツ数値記録に登録/DL/視聴完了率を追加。
設計schema: ClientLeadStatus enum と ClientLead の属性/行動/関心/商談カラム、ContentMetricEntry の registrations/downloads/completionPct を追加(列追加のみ・非破壊)。集計は純関数 lib/db/client-analytics.ts に分離。行動/関心データは当面 null(後日 CSV/連携で投入)。反映は prisma db push 運用。
v1.032026-06-13
リード基盤強化 — コンテンツ別数値/リード + アウトバウンドDB取得元
コンテンツ起点のリード可視化と、マスターであるアウトバウンドDBの取得元トラッキングを追加。Contents に「数値・リード」ビュー(管理者限定)を追加し、コンテンツごとに最新数値とクライアント成果リード(ClientLead)を企業つきで閲覧・編集できる。あわせてアウトバウンドDB(ContactPerson)に「取得元」(種別・コンテンツ紐づけ・補足)を追加し、どこから取得したリードかを記録・表示・編集できるようにした。マスターのアウトバウンドDBはクライアントポータルには出さず、ClientLead はクライアント向けの射影として分離している。
新機能Contents → 「数値・リード」タブ(管理者のみ・ショートカット 3): コンテンツ一覧で最新数値とリード件数を確認、行を選ぶと獲得リード(ClientLead)を企業つきで表示。
新機能コンテンツ別リードビューから ClientLead を追加・編集・削除でき、紐づくクライアント企業・獲得元コンテンツも変更できる。数値(再生/閲覧・リーチ・クリック・リード)もその場で記録可能。
新機能アウトバウンドDB(ContactPerson)に取得元を追加: 種別(コンテンツ/CSV/手動/フォーム/紹介/その他)+コンテンツ紐づけ+補足テキスト。担当者リストに取得元カラム、詳細シートで編集可能。
改善Clients 企業詳細の Leads タブにリード編集(全項目)を追加。従来は追加・削除のみだった。追加/編集フォームは共有 LeadEditor に統合。
設計ClientLead(クライアント向け射影)とアウトバウンドDB(マスター)を分離。Contents のインサイト系アクションは admin ガードし、ClientLead 変更は EventLog(HUMAN_UI・before/after diff)で記録、/clients と /contents を revalidate。
設計schema: LeadSource enum と ContactPerson.source/sourceContentId/sourceDetail を追加(既存行は CSV_IMPORT で backfill)。反映は prisma db push 運用。
v1.022026-06-13
AI Assistant v2 — 全ページ横断チャット + ストリーミング
フローティング AI チャットを全面刷新。Tasks/Documents のみ対応だった v1 を、全ページのデータ(商談・メール・コンテンツ・財務・稼働ログなど)を横断して回答・操作できるアシスタントに拡張。Claude API のツール使用 + 手動 agentic loop で実装。SSE ストリーミングでテキスト・ツール実行状況・ミューテーション受領証をリアルタイム表示。ドキュメント編集・メール下書き・商談ステージ変更は確認カードで承認制。全ミューテーションは EventLog に AGENT で記録。
新機能AI チャットが全ページのデータを横断取得・回答できるようになった(商談・メール・タスク・ドキュメント・コンテンツ・財務・稼働ログ・アクティビティ)。
新機能SSE ストリーミング: テキスト増分・ツール実行インジケータ(⚙ 商談を検索中…)・ミューテーション受領証をリアルタイム表示。
新機能確認カード: ドキュメント編集提案・メール返信下書き・商談ステージ変更は承認ゲート付きカードで表示。自動適用しない。
新機能自動実行ミューテーション: タスク作成・更新・サブタスク作成・商談メモ追加・コンテンツステータス変更を会話で実行可能。
改善ロール別ツールフィルタ: get_client_report / get_finance_summary / get_work_log は admin のみ表示。
改善キャッシュ最適化: システムプロンプト + ツール定義を cache_control でキャッシュ。動的コンテキスト(今日の日付・ページ・ユーザー)は最後のユーザーターンに注入。
改善全ページのサンプル質問を追加(Home・Tasks・Deals・Mail・Documents・Contents・Finance・Management)。
設計旧 /api/chat + lib/db/chat.ts を削除し /api/ai/chat に統合。lib/ai/{client,system,tools,executors}.ts に分割。全ミューテーションは emitEvent(actorType:AGENT, source:AGENT_API, reason:ai-chat) で記録。
v1.012026-06-13
修正: スマホの Docs 本文が見れない / Tasks の編集・削除が押せない
モバイルで Docs は Pages 一覧と本文が横並びで潰れ本文が読めない問題、Tasks はタイトル幅が狭く編集・削除ボタンがホバー前提で見えず右端で誤タップする問題を修正。Docs は Mail と同様の「一覧↔本文」スタック遷移に、Tasks はモバイルで行タップ→詳細シート(編集・削除)を開く方式に変更。
修正Docs モバイル: 一覧(Pages)と本文の横並びをやめ、一覧↔本文のスタック遷移に変更。本文は全幅で表示され、左上の「← Pages」で一覧へ戻れる。デスクトップは従来の2カラム+先頭ページ自動表示を維持。
修正Tasks モバイル: タイトル幅を圧迫していたホバー前提のアクション群(昇格/降格・開く・削除)を非表示化し、タイトルを広く確保。行タップで詳細シート(編集・削除)を開く方式にし、右端の見えないボタンの誤タップを解消。行の高さも拡大しタップしやすく。
v1.002026-06-13
修正: モバイルのログインループ + クライアントレポートURLの即時反映
スマホ(PWA)でサインインできずページが往復してしまう問題と、クライアント用レポートURLを再発行しても新URLが有効にならない問題を修正。Service Worker が認証済みHTMLをキャッシュしていたことがログインループの原因で、HTMLページのキャッシュを全面廃止。レポートページは ISR キャッシュをやめ常にDBを正とする動的レンダリングに変更。
修正モバイル/PWA でサインイン画面とアプリ画面を往復してログインできない問題を修正。Service Worker が認証済みページHTMLをキャッシュし、未認証検知→/sign-in→…のループを起こしていたため、HTMLナビゲーションはキャッシュせず常にネットワーク取得(オフライン時のみ /offline)に変更。SW を v2 に更新し既存の不正キャッシュを自動破棄。
修正クライアントレポート(/portal/[token])を再発行しても新URLが反映されない/旧URLが残る問題を修正。ISR(60秒キャッシュ)をやめ動的レンダリングにし、発行・再発行・停止が即時反映されるように。
修正レポートページのテーブル行ホバーをサーバーコンポーネントで不正なインライン JS ハンドラから CSS ホバーに変更(レンダー時エラーの除去)。
v0.992026-06-13
モバイル対応: Documents 閲覧モード + Mail 単画面化
モバイル閲覧中心ポリシーに沿って Documents と Mail を再構成。Documents はモバイルで読み取りビューが既定になり、「編集」タップ時のみ TipTap エディタをロード。Mail はモバイルでリスト→タップ→全画面詳細(/mail/[id])のスタック遷移に変更し、一覧取得から重い bodyHtml を除外して初期ロードを軽量化。
新機能Mail モバイル: メッセージをタップすると全画面詳細(/mail/[id])へ遷移。戻るバーで一覧に復帰。受信トレイ・送信済み・スター・アーカイブの水平タブを追加。
改善Mail: 一覧クエリから bodyHtml を除外し初期ロードを軽量化。本文 HTML は詳細表示時に遅延取得し、取得中はテキスト本文を先行表示。
改善Mail: /mail/[id] 直表示でもスター・アーカイブ・ステータス変更が即時反映(単一メッセージの Optimistic UI + 詳細パスの revalidate)。
新機能Documents モバイル: 既定は読み取りビュー。「編集」タップ時のみ TipTap エディタを dynamic import でロード。
改善Documents: エディタ一式をルート初期バンドルから分離。デスクトップも読み取りビューを先に描画し、本文が即座に見える。
v0.982026-06-12
体感速度の改善: Optimistic UI とナビゲーション先読み
操作した瞬間に画面へ反映される Optimistic UI を Mail と Tasks に展開。メールのアーカイブ・ステータス変更・スターは API 応答を待たず一覧へ即時反映され、タスク操作は transition + キャッシュ更新の一貫したパターンに統一。サイドバーとモバイルボトムタブの全リンクにページ先読み(prefetch)を付与し、ページ遷移の待ち時間を短縮。
改善Mail: アーカイブ・対応ステータス変更・スターを Optimistic UI 化。単体・一括操作とも、API 応答を待たずに一覧へ即時反映。
修正Mail: メッセージを切り替えても前のメールのスター・アーカイブ・ステータス表示が残る問題を修正(表示状態を一覧と一元化)。
改善Tasks: ステータス・優先度・削除・並び替え・サブタスク追加の楽観的更新を「transition 内 dispatch → サーバー → キャッシュ更新」の一貫パターンに統一。操作後に古い表示へ巻き戻るフリッカーを解消。
修正Tasks: タイトル編集・クイック追加後に React Query キャッシュが更新されず、表示が古いままになる問題を修正。
改善ナビゲーション: サイドバー・モバイルボトムタブの全リンクに prefetch を付与。リンク表示時点でページデータを先読みし、遷移を高速化。
設計Server Actions の revalidatePath を全数監査。広範囲指定(layout スコープ)はゼロ、tasks の「/」は HOME のフォーカス・KPI 表示用で意図的と確認。
v0.972026-06-12
HOME 再設計(今日のフォーカス・シグナル)+ 全ページにローディングスケルトン
HOME を「今日なにをすべきか」ファーストに再設計。今日のフォーカス(期限切れ・優先タスク)を最上部に移動し、要返信メール・停滞商談のシグナルチップ、資料の閲覧(WP セッション)カードを追加。あわせて全14ルートにページ専用ローディングスケルトンを配置し、ページ遷移中の「固まって見える」問題を解消。モバイルは閲覧中心とする方針を CLAUDE.md に明文化。
新機能HOME: 要返信メール(未対応の受信メール件数)と停滞商談(1週間更新なしの SFA 案件)のシグナルチップを挨拶下に表示。タップで該当ページへ。
新機能HOME: 「資料の閲覧」カード — oyo.tokyo の WP を誰がどこまで読んだかを直近5件表示。CMS 接続エラー時は非表示でフォールバック。
新機能HOME: 「停滞中の商談」カード — 停滞日数つきで最大4件、古い順に表示。
改善HOME: 今日のフォーカス(優先タスク)を最上部・全幅に移動。デスクトップは2カラム表示。
改善全14ルート(Tasks/Mail/Deals/Docs/Contents/Finance/Admin/Inbound/Outbound/Clients/Leads/HR/Business/Activity)にページ専用 loading.tsx(共通 PageSkeleton)を配置。
設計lib/db/home.ts に getHomeSignals、lib/db/wp-tracking.ts に getRecentWpSessions を追加(30秒キャッシュ)。モバイル閲覧中心方針を CLAUDE.md に明記。
v0.962026-06-12
全ビューの空状態を共通 EmptyState に統一
v0.95 で確立した共通 EmptyState パターンを残りの全ビューに展開。Clients(リード/Content/請求)、Mail(一覧/テンプレート)、Admin Work Log、Deals 会社一覧、CMS 記事/カテゴリー、Finance(予算/請求書)、Outbound(電話/メール)、Leads DB の計17箇所を統一レイアウト(アイコン + タイトル + ヒント + CTA)に変換。CTA ボタンも .btn-primary / .btn-ghost に統一。
改善17ビューの空状態を共通 EmptyState コンポーネントへ変換。フェードイン付き・アイコンとヒント文言を統一。
改善空状態の CTA(CSVインポート・最初のリード/会社を追加・AI記事作成)を .btn-primary / .btn-ghost に統一。
改善Outbound 電話/メールリストの空状態に「Leads ページで CSV をインポート」の導線ヒントを追加。
v0.952026-06-12
UI 統一基盤: モーション・トースト・空状態・スケルトンの共通化
Linear 風のミニマルで統一感ある UI への第一歩として、全ページ共通のモーション基盤と UI プリミティブを整備。ページ遷移のフェードイン、保存・削除完了のトースト通知、共通の空状態・ローディング表示を追加し、確認モーダルはモバイルでボトムシート化。アニメーションは 150〜250ms に統一し、prefers-reduced-motion も尊重する。
新機能トースト通知システム(useToast): 保存・削除・アップロード完了時に控えめなフィードバック。成功時はチェックアイコンがポップ。エラーは長め表示。デスクトップ右下/モバイル中央下。
新機能共通 EmptyState / Skeleton コンポーネント: 空状態とローディングの見た目を全ページで統一。シマー付きスケルトン。
改善ページ遷移アニメーション: 全ページにフェード+スライドイン(200ms)。template.tsx で一元管理。
改善確認モーダル: モバイルではボトムシート形式(下からスライドイン)、ボタンは全幅でタップしやすく。デスクトップはスケールイン。シャドウを軽量化。
改善ボタン(.btn-primary/.btn-ghost/.btn-danger)に押し込みフィードバック(active: scale 0.97)を追加。.btn-danger と .list-row ユーティリティを新設。
改善alert() ダイアログを全廃しトーストに置換(資料・WP設定編集)。OS モーダルによる作業中断をなくした。
設計globals.css にモーショントークン(fade-in/slide-up/scale-in/sheet-up/toast-in/check-pop/shimmer)を集約。prefers-reduced-motion で全アニメーション無効化。
v0.942026-06-12
Admin DB設計をわかりやすく改訂・WPスラッグのラベル改善
Admin の DB設計タブを素人でも読めるように全面改訂。使っているサービス(Vercel/Supabase/Clerk/R2/Zoho など)の役割説明を追加し、型の意味(String=テキスト など)を日本語で併記。Inbound 資料の「WP スラッグ」フィールドのラベルを「閲覧ページ ID」に変更し、URL の構造が直感的にわかる説明を追加。
改善Admin > DB設計: 使っているサービス一覧セクション(Vercel/Prisma DB/Clerk/Supabase/R2/oyo.tokyo/Zoho Mail)の役割と連携関係を平易な言葉で説明追加。
改善Admin > DB設計: 型の意味(String=テキスト、Int=整数、Boolean=はい/いいえなど)を日本語で各フィールドに併記。
改善Admin > DB設計: Material テーブルを追加(Inbound 資料・閲覧ページIDの説明含む)。フィールドの説明文をより平易な日本語に全面改訂。
改善Inbound 資料フォームの「WP スラッグ」→「閲覧ページ ID」に変更。oyo.tokyo/wp/xxx の xxx 部分だとわかるラベル説明を追加。
v0.932026-06-12
WP の LP 設定編集 & スライドアップロードを Core から直接
oyo.tokyo の whitepapers テーブルへの登録・編集が Core の資料タブから直接できるようになった。SQL 手書きと R2 手動アップロードが不要に。設定タブの「編集」(未登録時は「LP・WP を新規作成」)から、タイトル・説明・公開状態・ハードゲート・ソフトゲート・CTA を編集し、スライド画像を複数選択でアップロードすると R2 への保存と slide_urls の更新まで自動で行われる。
新機能設定タブに編集モード: メタ情報(タイトル/説明/読了時間/想定読者)・公開トグル・ハードゲート・ソフトゲート(トリガー/取得フィールド/スキップ可)・CTA(フローティング/フルページ)をフォームで編集して whitepapers に upsert。
新機能スライドアップロード: 画像を複数選択するとファイル名順に R2 wp-slides バケットへ 1 枚ずつアップロードし、公開 URL を slide_urls に自動反映。サムネイル一覧表示付き。
設計lib/wp/r2-slides.ts(R2 アップロード層・要 WP_SLIDES_PUBLIC_URL)、lib/db/wp-cms.ts(whitepapers upsert 層)、lib/actions/wp-cms.ts を追加。config の snake_case JSONB を双方向変換。
v0.922026-06-12
資料保存エラー修正: use server ファイルの不正 export を除去
lib/actions/ai_authors.ts から Prisma enum の export { WritingStyle } を削除。Next.js の "use server" ファイルは async 関数のみ export できるという制約に違反しており、資料保存時の POST /inbound 500 エラーの原因だった。
修正lib/actions/ai_authors.ts の export { WritingStyle } を削除。型のみ import に変更(import type)。消費側 AiAuthorManager.tsx は元から @/app/generated/prisma/enums から直接インポート済みで変更不要。
v0.912026-06-12
WP 資料管理パネル: 設定・閲覧者・ファネルの3タブ表示
Inbound 資料の「閲覧データ」パネルを大幅拡張。概要タブではセッション統計とスライド到達ファネル(離脱の可視化)、閲覧者タブではセッションごとのゲート提出内容とクリックで展開するイベントタイムライン(どのスライドを何秒見たか)、設定タブでは oyo.tokyo 側のハードゲート・ソフトゲート・CTA 構成と公開状態を確認できる。
新機能概要タブ: セッション数・ユニーク数・平均滞在・ゲート提出率と、スライドごとの到達ファネル横棒グラフ。
新機能閲覧者タブ: セッション行にソフトゲート提出内容(会社・役職)を表示。クリックで slide_view/slide_exit のタイムラインを展開。
新機能設定タブ: whitepapers テーブルの config を整形表示(ハードゲート・ソフトゲートのトリガー条件・CTA 構成・公開状態・スライド枚数)。ランディング/ビューワーへの直リンク付き。
設計lib/db/wp-tracking.ts に getWpDetail / getWpSessionTimeline を追加。whitepapers・wp_gate_submissions・wp_events を service role で読み取り。
v0.902026-06-12
Inbound 資料 × oyo.tokyo WP Viewer 閲覧トラッキング連携
oyo.tokyo の WP Viewer に閲覧計測(セッション・スライド単位の滞在時間・離脱記録・Loops 連絡先同期)と Supabase CMS 化を実装。Core 側では資料に WP スラッグを紐付けると、誰が・どこまで・どのくらい見たかを資料タブ内でそのまま確認できるようになった。
新機能資料に WP スラッグを設定すると「閲覧データ」パネルでセッション数・ユニーク閲覧者数・平均閲覧時間・閲覧者リスト(メール/会社/到達スライド/滞在時間)を表示。
新機能oyo.tokyo 側: ハードゲート通過でセッション作成、スライド移動で slide_view/slide_exit、離脱時に session_end を記録。Loops に連絡先を自動同期。
設計oyo.tokyo の WP データソースを Supabase whitepapers テーブル + R2 スライド画像に移行(ISR 1時間、dummy フォールバック付き)。
設計Core と oyo.tokyo が同一 CMS Supabase を共有。Core は service role で wp_sessions を読み取る。
v0.892026-06-12
Inbound 資料タブ: Canva リンク登録・管理機能
Inbound の「資料」タブを実データ対応に刷新。タイトル・種別・ステータス・説明と Canva などの閲覧用 URL を登録できる。登録した資料は一覧表示され、URL がある場合は外部リンクで直接開ける。編集・削除も可能。DB の Material テーブルに url カラムを追加し、既存の CRUD インフラを活用。
新機能資料タブで Canva などの閲覧用 URL を登録・管理できるようになった。
新機能資料の追加フォーム(タイトル・URL・種別・ステータス・説明)をインラインで表示。
新機能登録済み資料を行ホバーで編集・外部リンク・削除ボタンを表示。
設計Prisma Material モデルに url フィールドを追加し DB push。既存 CRUD Actions を url 対応に拡張。
v0.882026-06-12
Admin 整理・ダミーデータ非表示・ナビ再編
Clients を Sales から Media グループへ移動。ダミーデータを表示していた3ページ(コンテンツ分析・SNS投稿・資料)を空状態に切り替え。Admin の Work Log タブを削除し、Home の更新履歴リンクを Admin 内「更新履歴」タブに移動。Admin に「DB設計」タブを新設し、全テーブルの構造・役割を初心者にも分かる形で記載。
改善Sidebar: Clients を Sales グループから Media グループの最上部に移動。
改善Contents ダッシュボード・SNS投稿・資料ページのダミーデータ表示を削除。実データが入るまで空状態を表示。
改善Admin から Work Log タブを削除。
改善Home の「PRISM Core 更新履歴」リンクを削除し、Admin 内「更新履歴」タブに統合。
新機能Admin に「DB設計」タブを新設。全テーブルを基盤/業務管理/クライアント/コミュニケーション/Company OS の5グループに分類し、PK・FK・フィールドの説明を記載。
v0.872026-06-12
クライアントポータル: ワイドダッシュボード UI にリデザイン
クライアントレポートページ(/portal/[token])を全面リデザイン。幅 880px → 最大 1320px に拡張し、青グラデーションのヒーローストリップ、4つのカラーコード付きスタットカード(コンテンツ・リード・Views・Reach)、ホバーエフェクト付きテーブルを実装。ダッシュボードとして視覚的に訴求力のあるデザインに。
改善最大幅を 880px → 1320px に拡大。テーブルが広くなり情報が見やすくなった。
改善青グラデーション(#1D4ED8 → #4338CA)のヒーローストリップで企業名を大きく表示。視覚的インパクト向上。
改善スタットカードを4列に拡張(Contents / Leads / Total Views / Total Reach)。各カードにカラーボーダー・カラードアイコン・大きな数値(最大 36px)。
改善コンテンツテーブルに「クリック」列を追加(ContentMetricEntry.clicks)。プラットフォームはバッジ表示に変更。
改善テーブル行にホバーエフェクト(背景 #F9FAFB)を追加。読み取り性の向上。
v0.862026-06-11
Clients: 100社対応のクライアント切り替え + CRM 連携の可視化
Clients ページをセレクトボックスから検索付き左ペインリストに刷新(Mail / Deals と同じ二段構成)。リストは「CRM 顧客」と「その他の企業」にグループ分けし、各行に顧客ステージの色ドット・コンテンツ/リード数・ポータル公開状態を表示。詳細ヘッダーに CRM ステージバッジと「CRMで開く」リンクを追加し、Clients ⇄ CRM の紐づきを明確化。
改善クライアント切り替え: 検索ボックス + スクロールリスト(左ペイン w-72〜80)。100社規模でも一覧・検索・選択がスムーズ。
改善リストを「CRM 顧客」「その他の企業」にグループ化。行頭ドットは CRM 顧客ステージと同じ配色(活用中=緑/リスク=赤など)。
改善詳細ヘッダーに CRM ステージバッジ(未登録なら「CRM未登録」)+「CRMで開く ↗」リンク。Deals 側は ?section=crm で CRM タブを直接開けるように対応。
改善選択中クライアントを URL(?company=)に同期。リロード・共有しても同じクライアントが開く。
改善モバイル: リスト→詳細のドリルダウン式(← で戻る)。
v0.852026-06-11
クライアントレポートの UI 仕上げ + 請求表示を控えめに
レポートのタイポグラフィ・余白・サイズ感を全面調整(11〜15px の精密なスケール、880px コンテンツ幅、カードの角丸14px + 二層シャドウ)。請求セクションは月次サマリー1行(合計 + 代表ステータスバッジ)に格下げし、明細はクリックで開く折りたたみ式に。トップの数値カードから請求額を外し Total Views(総再生・閲覧数)に差し替え。
改善タイポグラフィ刷新: 見出し clamp(28-40px)、セクション15px、表本文13px、表ヘッダー11px大文字トラッキング。数値は tabular-nums で桁揃え。
改善請求: 月ごとに「2026年6月分 [請求済] ¥500,000」の1行サマリー。明細は <details> 折りたたみ(デフォルト閉・直近3ヶ月のみ)。
改善サマリーカード: 当月請求額を撤去し Contents / Leads / Total Views の成果3指標に変更。
改善ヘッダーを54pxに圧縮、「限定共有レポート」をピル型バッジに。クリック明細の案内と請求書送付の注記を追加。
v0.842026-06-11
Clients を Sales 最上部へ移動 + クライアントレポートを白基調に刷新
サイドバーの Clients を Operations から Sales グループ最上部(Deals の上)へ移動。クライアント向けレポート(/portal)を信頼感のあるホワイトベースのデザインに全面刷新:白カード + ソフトシャドウ、コーポレートブルー、ステータスバッジ、月次小計付き請求テーブル。TestCompany にデモ用ダミーデータを投入。
改善サイドバー: Clients を Sales グループの最上部に配置(admin のみ表示)。
改善クライアントレポートをホワイトベースに刷新。ダーク共有テーマから独立し、レポートらしい信頼感のあるデザインに。
改善請求ステータスをバッジ表示(請求予定=グレー/請求済=アンバー/入金済=グリーン)。媒体名を日本語ラベル化。
改善ヘッダーに ShieldCheck + 「限定共有レポート」表記、フッターに取り扱い注意文を追加。
v0.832026-06-11
SFA成約→CRM連携の修正 + CRM直接登録
「成約」ステータスで直接作成したディールが CRM に顧客として表示されないバグを修正(createDealAction に昇格処理がなかった)。WON 昇格後に CRM リストが再読込まで更新されないキャッシュ問題も修正。また CRM に SFA を経由せず顧客を直接登録できるフォームを追加。
修正成約ステータスで直接作成したディールも会社を CRM 顧客(オンボーディング)へ自動昇格。昇格処理を共通化し作成・更新の両経路で実行。
修正既に顧客ステージが付いている会社は再成約時に上書きしない(活用中→オンボーディングに戻る事故を防止)。
修正ディール詳細での変更後に customers / companies クエリも無効化。成約直後に CRM タブへ切り替えると即座に反映される。
修正CRM の顧客ステージ変更後のキャッシュ無効化キーを修正(contacts → customers)。変更が即座にリストへ反映。
新機能CRM に「顧客を追加」フォームを新設。会社名・業種・MRR・顧客ステージを指定して SFA を経由せず直接登録できる。
修正既存の成約済みディール(companyId 未設定)を CRM 顧客へバックフィル済み。
v0.822026-06-11
クライアントポータル(共有ダッシュボード)
クライアント企業ごとに読み取り専用の共有ダッシュボード(/portal/[token])を発行できる機能を追加。Content 実績・獲得リード・請求明細(月次小計付き)をログイン不要で閲覧可能。PRISM Core 側は新設の Clients ページ(admin限定)から Content 紐づけ・数値の手動記録・リード管理・請求行管理・URL 発行/停止を一元管理。
新機能Clients ページ新設(Operations・admin限定・G L)。企業セレクタ + Contents / Leads / Billing / Portal の4タブ構成。
新機能/portal/[token] 公開ページ。サマリーカード・コンテンツ実績テーブル・リード一覧・請求明細(月次グループ + 小計)を表示。noindex・60秒キャッシュ。
新機能Content ごとの数値(再生/リーチ/クリック/リード)を手動記録。append-only の履歴として保存し、最新値をポータルに表示(将来のグラフ化に対応)。
新機能請求行は手動作成 + MF請求書参照のハイブリッド。「ポータルに表示」フラグで行単位の公開制御。
新機能ポータル URL の発行・再発行(旧URL即無効)・停止。最終アクセス日時を記録。
設計公開クエリは token→companyId 解決後に companyId スコープで取得し、明示的 DTO で内部フィールドを遮断。全ミューテーションは admin 検証 + EventLog 記録。
v0.812026-06-11
セキュリティ修正6件(技術負債 🔴高優先度の全対応)
技術負債一覧の高優先度6件を一括対応。デバッグAPI削除、管理者ページのサーバーサイド権限チェック化(CSS blur 廃止)、共有ページの XSS サニタイズ、メール一致アカウント統合の verified 限定化、自動 OWNER 付与の廃止、Clerk 本番移行手順書の作成。
修正デバッグ用 API(debug-me / debug-management)を削除。組織メタ情報の露出を解消。
修正Dashboard / Finance / HR / Admin の権限制御をサーバーサイド化。非 Admin にはデータを一切送信せずロック画面のみ返す(旧 AdminGate の CSS blur は DevTools でデータ閲覧可能だった)。
修正共有ページ(/share)の本文描画に DOMPurify サニタイズを追加。認証不要ページでの XSS を防止。
修正メール一致による Clerk アカウント統合・招待の受理を verified email のみに限定。未検証メールでの OWNER 乗っ取りを防止。
修正オーナー不在組織への自動 OWNER 付与を廃止。OWNER 復旧は Members タブでの手動ロール変更フローに一本化。
設計Clerk Production インスタンス移行手順を docs/clerk-production-migration.md に作成(ダッシュボード作業のため未実施・残課題)。
v0.802026-06-11
システム全体レビュー:技術負債一覧の作成
アプリ全体(セキュリティ・アーキテクチャ・性能・クリーンアップ)をレビューし、19項目の技術負債を優先度付きで文書化。docs/TECH_DEBT.md に保存し、アプリ内 Docs にもピン留めドキュメントとして登録した。
設計技術負債 19 項目を 🔴高(セキュリティ6件)/ 🟡中(アーキテクチャ・性能8件)/ 🟢低(クリーンアップ5件)に分類。
設計高優先度: デバッグAPI残存・AdminGateのクライアント限定・メール一致アカウント統合のリスク・共有ページXSS・Clerk devインスタンス等。
設計対応ロードマップ(推奨順・工数目安付き)を記載。docs/TECH_DEBT.md と アプリ内 Docs「技術負債一覧(Tech Debt)」で閲覧可能。
v0.792026-06-10
ドキュメントエディタに表(テーブル)機能を追加
TipTap の Table 拡張を導入。ツールバーの表ボタンから 3×3 の表を挿入可能。Notion や Google Docs からコピーした HTML 表をそのまま貼り付け対応。Claude が出力したマークダウン表(| col | col | 形式)を自動検出して HTML テーブルに変換して挿入。共有ページにも表スタイルを適用。
新機能ドキュメントエディタにテーブル挿入ボタン(表アイコン)を追加。クリックで 3×3 ヘッダー付き表を挿入。
新機能Notion / Google Docs からコピーした表(HTML)をそのまま貼り付け可能。TipTap の Table 拡張がネイティブ処理。
新機能Claude の出力するマークダウン表(| col | col | 形式)を自動検知して HTML テーブルに変換して挿入。
改善表のスタイルをエディタと公開共有ページの両方に適用(ヘッダー強調・偶数行背景・ボーダー)。
v0.782026-05-30
ドキュメント限定共有リンク機能
各ドキュメントに外部共有用の限定リンクを発行・停止できる機能を追加。発行したリンク(/share/[token])はログイン不要で閲覧可能な読み取り専用ページ。Admin の「共有リンク」タブで全リンクの発行者・日時・公開状態を一覧確認・停止操作できる。
新機能ドキュメント編集画面に「共有」ボタンを追加。クリックでリンク発行・URLコピー・公開停止が可能。
新機能/share/[token] ページ新設。認証不要の読み取り専用ドキュメントビュー。無効トークンは「リンクが無効または公開停止」画面を表示。
新機能Admin に「共有リンク」タブを追加。全ドキュメントの共有状態(公開中/停止)・発行者・発行日時を一覧表示。管理者から停止操作も可能。
改善Document モデルに shareToken / shareEnabled / shareIssuedAt / shareIssuedBy フィールドを追加(DB マイグレーション済み)。
v0.772026-05-30
レイアウト幅バグ修正(PageLayout max-width スケール統一)
PageLayout の MAX_W が Tailwind 固定幅クラス(max-w-2xl=42rem、max-w-3xl=48rem)を使っていたため、更新履歴・タスク・Admin 等のページが極端に狭く表示されていた問題を修正。スクリーンブレークポイントベース(max-w-screen-xl=1280px など)に統一し、各ページの maxWidth 値も見直した。
修正PageLayout: MAX_W を Tailwind 固定幅(672-768px)からスクリーンブレークポイントベースに統一。'2xl'=1536px、'xl'=1280px など。
修正更新履歴ページ: maxWidth='2xl'(672px)→ 'xl'(1280px)に変更。テキストが適切な幅で表示されるように。
修正Tasks ページ: リストビューの maxWidth='3xl'(768px)を削除し全幅表示に。カンバンと統一。
修正Admin ページ: maxWidth='3xl'(768px)→ 'xl'(1280px)。ワークログ・メンバーテーブルが広がって読みやすく。
v0.762026-05-30
ScreenshotGuard 無効化 / Dashboard リネーム / AdminGate 追加
スクリーンショット警告機能を無効化。事業管理タブを「Dashboard」に改名。Admin以外のユーザーが管理者専用ページ(Dashboard / Finance / HR / Admin)に直接アクセスした場合、コンテンツをブラーで隠し権限リクエストの案内を表示するAdminGateを全4ページに適用。
改善ScreenshotGuard を無効化。スクリーンショット検知・透かし表示機能を停止。
改善事業管理タブを「Dashboard」に改名。サイドバー・モバイルヘッダー・AIBar・ページタイトルを一括更新。
新機能AdminGate コンポーネント新設。非Adminユーザーが管理者専用ページにアクセスするとコンテンツをブラー表示し「管理者に権限の付与をリクエスト」案内を表示。
改善Dashboard / Finance / HR / Admin の4ページに AdminGate を適用。URLを直接入力しても非Adminはロック画面を表示。
v0.752026-05-30
ブランド名称変更:Core → PRISM Core
プロダクト名称を「Core」から「PRISM Core」に統一変更。サイドバーロゴ・ページタイトル・PWAマニフェスト・AIシステムプロンプト・コンテンツデフォルト値など全17ファイルの該当箇所を更新。
改善Sidebar ロゴ: 「Core」→「PRISM Core」(PRISM を青色、Core をセカンダリ色)。
改善ページタイトルテンプレート: 「%s — Core」→「%s — PRISM Core」。全ページのタブ/ブックマーク名に反映。
改善PWA マニフェスト: name / short_name を「PRISM Core」に更新。ホーム画面アイコンのラベルに反映。
改善AIBar フォールバックラベル・AI システムプロンプトを「PRISM Core」に更新。
改善コンテンツデフォルト値(SEOウィザード著者名・SEOタイトル接尾辞・メール表示名プレースホルダー)を PRISM 表記に統一。
v0.742026-05-30
事業管理ダッシュボード新設(/business)
B2Bリード創出事業のフライホイール全体を管理するダッシュボードを追加。センターピン(月次ディープリード獲得数)を最上部に大きく表示し、外側ループ(市場循環4ノード)と内側ループ(品質循環4ノード)の全指標を一画面で確認できる。月次切り替え対応、ダミーデータ実装(後からAPI差し替え可能)。
新機能/business ページ新設。Operations カテゴリに「事業管理」として追加(admin ロール限定)。
新機能センターピン KPI カード:月次ディープリード獲得数を大きく表示、前月比増減・増減率を色付き表示。
新機能外側ループ(市場循環):コンテンツライブラリ / オーディエンス / ディープリード / ベンダー需要の4ノードを2×2グリッドで表示。
新機能内側ループ(品質循環):取引量 / 制作力 / コンテンツ品質 / オーディエンス体験の4ノード。各指標に前月比矢印・増減率を表示。
新機能接続点バッジ:外→内(ベンダー需要増→取引量増)・内→外(体験向上→オーディエンス獲得増)の循環接点を可視化。
新機能月次切り替えフィルター(← 月 →)搭載。現状は3ヶ月分のダミーデータ(2026年3〜5月)。
改善G B キーボードショートカットで事業管理へ即ジャンプ。AIBar にもコンテキスト設定済み。
v0.732026-05-30
Admin ページクラッシュ修正
Management ページで unstable_cache 内で clerkClient() を呼んでいたため、Next.js 16 が headers() の動的アクセスを禁止しサーバーコンポーネントがクラッシュしていた問題を修正。clerkClient() を cache 外に移動し直接呼び出すよう変更。
修正management/page.tsx: unstable_cache 内の clerkClient() 呼び出しを削除。Next.js 16 では headers() へのアクセスがキャッシュスコープ内で禁止されており、ClerkUseCacheError でクラッシュしていた。
v0.722026-05-30
モバイルサイドバー修正(Admin リンク表示)
モバイルでハンバーガーメニューを開くとサイドバーがアイコンのみ(56px)で開いており、Admin ラベルが表示されない問題を修正。モバイルはドロワーのため collapse 不要と判断し、全幅・ラベル付きで開くよう変更。
修正Sidebar: モバイル(<768px)では auto-collapse を無効化。ドロワー開時に w-56 フルラベル表示になり Admin など全ナビ項目が識別可能に。
改善Sidebar: タブレット〜小型 PC(768-1024px)のみ auto-collapse を維持。デスクトップ以外での省スペース挙動は保持。
v0.712026-05-30
AIチャット UX 修正 + 管理者アクセス修正
AIチャットパネルが TaskList のスティッキーヘッダーより低いレイヤーに表示されていた問題(z-index 不足)を修正。パネル外クリック・Esc キーでチャットを閉じられるよう UX を改善。また Clerk 開発インスタンスと本番インスタンスのユーザーID 乖離により Admin リンクが非表示になる問題をメールベースのアカウント統合で修正。
修正AIBar: チャットパネルに z-50 を付与。TaskList のスティッキーカテゴリヘッダー(z-10)がパネルより手前に表示される問題を解消。
改善AIBar: パネル外クリックで閉じるバックドロップを追加(z-40)。チャット中に邪魔なら外側タップで即閉じ。
改善AIBar: Esc キーで常にパネルが閉じるよう修正。以前はメッセージがない状態でのみ閉じていた。
修正auth: getOrgId でメール一致による clerkId 更新を追加。開発→本番 Clerk インスタンス切替時に MEMBER 権限で作り直されるバグを修正。
修正auth: OWNER が存在しない org への新規ログインは自動的に OWNER 付与(ゼロオーナー組織の防止)。
v0.702026-05-30
デザインシステム統一 + AI アシスタント全ページ対応
PageLayout / PageHeader コンポーネントを新設し、全15ページのレイアウト・パディング・タイトル行を統一した。AIBar を大幅強化:全ページ対応コンテキスト(12ページ分のヒント・クイック提案)、パネル高さ 40vh→60vh、モバイル対応(MobileHeader に Sparkles ボタン追加、mobileOpenSignal でパネルを起動)。
新機能PageLayout コンポーネント新設。標準ページ(padding+max-width)とfillページ(flex-col h-full)の2モード対応。
新機能PageHeader コンポーネント新設。title / subtitle / actions / below スロットで全ページ共通のタイトル行を実現。
改善Tasks / HR / Finance / Management / Leads / Changelog / Outbound / Inbound / Contents / Deals の全ページを PageLayout + PageHeader に移行。
改善AIBar: 全12ページ分のコンテキスト(ラベル・ヒント・クイック提案3件ずつ)を追加。
改善AIBar: パネル最大高さを 40vh → 60vh に拡大。会話がより見やすく。
改善AIBar: デスクトップ限定から全デバイス対応に変更。モバイルでも AIBar が表示される。
新機能MobileHeader に ✦ ボタン追加。タップで AIBar パネルが開く。ShellClient で mobileOpenSignal を管理。
改善AIBar: placeholder が現在ページ名を表示。入力欄で何のページにいるか一目でわかる。
v0.692026-05-30
CSS警告修正(Tailwind v4スキャナーバグ)
changelog.ts のエントリに含まれていた不正クラス名リテラルを Tailwind v4 スキャナーが拾い、無効な CSS を生成してビルド警告が出ていた問題を修正。またグローバルCSSのコメントも誤検知を防ぐ表現に修正した。
修正data/changelog.ts: v0.68エントリ内の不正クラス名リテラルを bg-fill-muted / bg-fill-ghost の説明に書き換え。Tailwind v4 スキャナーの誤検知を解消。
修正app/globals.css: bg-fill-muted / bg-fill-ghost のコメントから誤検知を起こす文字列パターンを除去。
v0.682026-05-30
テキスト色のテーマ対応修正
前バージョンで導入した text-white/XX・bg-white/[0.XX] 系のハードコード値がライトモードで白背景に溶け込む問題を修正。すべての装飾色を CSS 変数ベース(text-secondary / text-muted / text-ghost / bg-[var(--bg-subtle)] 等)に置き換え、ダーク・ライト両モードで適切なコントラストを確保した。
修正contentMeta.ts: PLATFORM_META / KIND_META / STATUS_META の全 text-white/XX → text-secondary / text-muted / text-ghost へ変換。
修正ContentsDashboard: KindCard のカラークラス・スパークライン色をCSS変数ベースに変更。
修正deals/ContactDetailSheet: AVATAR_PALETTES の bg-white/XX → bg-[var(--bg-active)] / bg-[var(--bg-hover)] へ。
修正inbound/SnsView・MaterialsView・InboundDashboardView・CmsView・Step3Titles: badge の text-white/XX を一括修正。
修正finance/invoiceUtils: UNCONFIRMED・SENT・PAYMENT_WAITING・PAYMENT_DONE も sky/violet/emerald を廃止しテーマ対応色に統一。
修正mail/MailSidebar: アカウントドットの bg-white/XX → bg-fill-muted / bg-fill-ghost へ変換。
v0.672026-05-30
カラーパレット統一 + ArrowRight キーナビ修正
ピンク・紫・バイオレット・シアン・ローズ・インジゴなど散在していた装飾色を全廃し、ブルー(#0A84FF/#60A5FA)・グリーン(#30D158、ステータス用)・アンバー(警告)・レッド(エラー)の4色に統一した。AI アイコンは緑→青に変更。コンテンツ種別・プラットフォーム・ステージバッジなどすべての装飾タグを白/muted 系で統一。また Tasks サイドバーから ArrowRight キーを押すと sm:hidden 要素(モバイル非表示)が querySelector に引っかかりフォーカスできなかったバグを修正し、visible 要素フィルターを追加した。
修正ArrowRight キーナビ: querySelectorAll + getBoundingClientRect フィルターで sm:hidden の非表示タスク行を除外。Tasks サイドバー→タスクリストへの移動が正常に機能するように。
改善contentMeta.ts: KIND_META(ウェビナー/ショート/資料/SNS)・PLATFORM_META の彩色を廃止。ウェビナーのみブルー、他はホワイト/opacity で統一。
改善contentMeta.ts: STATUS_META SCHEDULED のバイオレット → ホワイト/muted に変更。
改善AI コンポーネント(AIBar/AIChat): AI アクション・Sparkles アイコンを緑(#30D158)→ブルー(#60A5FA)に統一。
改善Deals ステージカラー: MQL(ピンク)・ENGAGED/DISCOVERY(パープル)→ブルーに統一。ピンクを完全除去。
改善Tasks: HIGH 優先度バッジをオレンジ → アンバーに統一(オレンジ完全除去)。
改善Inbound/CMS: バイオレット系の全 AI 機能バッジ・スイッチ・Sparkles → ブルーに置換。
改善HR/Finance/Mail/Outbound: 紫・シアン・ピンク → ブルーまたはホワイト/opacity に置換。
v0.662026-05-29
React Query — 全ページ展開 + ArrowRight キーナビ修正
React Query キャッシュを全ページ(Deals / Documents / Contents / Management / AI)に拡張し、残っていた router.refresh() を全廃した。また Tasks サイドバーメニューから ArrowRight キーを押してもタスクが選択できなかったバグを修正。フォーカスが document.body にある場合にも ArrowRight でメインリージョンへ移動できるようにした。
改善Deals(4データソース)・Documents・Contents・Management・AI コンポーネントすべてに useQuery + initialData パターンを適用。
改善lib/query-keys.ts を拡張。deals / contacts / companies / customers / documents / contents / management / users / invitations キーを追加。
改善listContentsAction / listDocumentsDataAction / listDealsAction など各ページ用 queryFn を追加。
改善AIBar / AIChat: router.refresh() を queryClient.invalidateQueries()(引数なし=全キャッシュ無効化)に置換。AI は任意エンティティを変更し得るため。
修正GlobalShortcuts.tsx: ArrowRight ハンドラに isBodyFocused 条件を追加。document.body フォーカス時でも Tasks メインリージョンへ移動できるよう修正。
修正全 Server Actions に JSON.parse(JSON.stringify(...)) シリアライズを追加し、Date/Enum の型不一致を解消。
v0.652026-05-29
React Query キャッシュ — Tasks ページ高速化
Tasks ページに @tanstack/react-query を導入。タスク一覧をクライアント側キャッシュで保持し、ミューテーション後の router.refresh()(ページ全体再レンダリング)を queryClient.invalidateQueries() に置き換えた。初回データは SSR の initialData として注入するため初期表示速度は変わらず、タスク作成・更新・削除後の再取得がページジャンプなしに行われる。
新機能@tanstack/react-query を導入。QueryProvider を root layout に追加。
新機能lib/query-keys.ts を追加。QUERY_KEYS.tasks() でキャッシュキーを一元管理。
改善listTasksAction(Server Action)を追加。クライアントから呼び出し可能なタスク一覧取得関数。
改善TasksView: useQuery + initialData パターンを適用。SSR データを初期値として渡し、以降はキャッシュから提供。
改善TaskForm / TaskDetailSheet / KanbanView: router.refresh() を全廃。ミューテーション後は queryClient.invalidateQueries() でキャッシュのみ更新。
改善KanbanView: ドラッグ&ドロップ・削除・優先度変更・インライン追加の全ミューテーションでキャッシュ無効化に対応。
v0.642026-05-29
PWA対応 — インストール可能なデスクトップアプリ化
Progressive Web App として Core をインストール可能にした。Web App Manifest、Service Worker(キャッシュ戦略付き)、全サイズ対応アイコン(14種)、オフラインページを実装。Chrome/Edge では「インストール」ボタンが表示され、Dock/タスクバーに追加できる。iOS Safari では「ホーム画面に追加」でネイティブアプリ感を得られる。
新機能Web App Manifest(/manifest.webmanifest)を追加。アプリ名・アイコン・テーマカラー・display:standalone・ショートカット(Tasks/Deals/Mail)を定義。
新機能Service Worker(public/sw.js)を実装。キャッシュ戦略: _next/static → Cache-First(永続)、API → Network-Only(常に最新)、HTMLページ → Network-First(オフライン時はキャッシュにフォールバック)。
新機能アイコン14サイズ生成(16〜512px)。sharp で SVG→PNG 変換。iOS Apple Touch Icon(120/152/180px)にも対応。
新機能オフラインページ(/offline)追加。ネット接続がない状態でのフォールバック先。
改善viewport.themeColor をダーク/ライトモードで自動切り替え(dark: #111113 / light: #F5F5F7)。iOS Safari アドレスバーの色が UI と揃う。
改善ServiceWorkerRegistrar を RootLayout に追加。新バージョン検出時は自動リロードで即適用。
v0.632026-05-29
ダーク/ライトモード切り替え + AIアシスタント常時表示バー
ダーク/ライトモードの切り替え機能を実装。SidebarフッターのSun/Moonアイコンで即座に切り替え可能(localStorage永続化、ちらつき防止スクリプト付き)。AIアシスタントを右下フローティングボタンからページ下部の常時表示チャットバーに全面刷新。⌘/ショートカットで即入力フォーカス。カラーをBlue系に統一。HRのインポートアイコンもDownloadに修正。
新機能ダーク/ライトモード切り替え。SidebarフッターのSun/Moonボタンで切り替え。localStorage永続化 + 初回ロード時のちらつき防止スクリプト(data-theme属性をReactハイドレーション前にセット)。
改善globals.cssにライトテーマCSS変数を追加(:root[data-theme="light"])。macOS Ventura Light Mode実値(surface-0: #F5F5F7 / surface-1: #FFFFFF / surface-2: #F2F2F7)。
改善CSS変数 --bg-hover / --bg-subtle / --bg-active を追加。ダーク/ライト両対応のインタラクティブステート変数として各コンポーネントで使用可能。
改善AIアシスタント全面刷新。右下フローティングパネル→ページ下部52pxの常時表示チャットバーに変更。メッセージパネルは上方向に展開(max-height: 40vh)。カラーをGreen→iOS System Blue(#0A84FF)に統一。
新機能⌘/ ショートカットでAIバーに即入力フォーカス。Escapeでパネルを折りたたむ。ページ遷移時にメッセージをリセット。
修正HR画面のCSVインポートボタンのアイコンをUpload→Downloadに修正(視覚的に「インポート」の意味が伝わるように)。
改善form-input / btn-ghost / row-dividerをCSS変数ベースに更新。ライト/ダーク両モードで正しく描画される。
v0.622026-05-29
Apple HIG デザインオーバーホール — タイポグラフィ・カラー・サーフェス刷新
Appleデザイン原則に基づき全体UIをリデザイン。タイポグラフィスケールをproductivity-app密度(base: 14px)に変更、サーフェスカラーをmacOS Dark Mode実値に更新、アクセントカラーをiOS System Blue(#0A84FF)に変更。Linear的なカテゴリー構造・機能はすべて維持。
改善タイポグラフィスケール全面改訂。base: 20px→14px(Apple HIG productivity-app基準)。全7段階を比例縮小。同一画面に2〜3倍の情報密度。TipTapエディタは文書向け独自スケール(15〜22px)を維持。
改善サーフェスカラーをmacOS Dark Mode実値に変更。surface-0: #111113 / surface-1: #1C1C1E / surface-2: #2C2C2E / surface-3: #3A3A3C。カードが背景から明確に浮き上がり、モーダルに奥行きが出る。
改善アクセントカラーをiOS System Blue(#0A84FF)に変更。success: #30D158 / warning: #FF9F0A / danger: #FF453A も Apple System Colors に統一。
改善ボーダー可視性向上。border: rgba(255,255,255,0.06→0.10) / border-md: 0.10→0.16。セパレーターが明確になり視覚的な階層が出る。
改善Sidebarリデザイン。幅: 256→224px / アイコン: 20→16px / ナビアイテム高さ削減 / アクティブ状態: 二重強調(緑bg+緑text)→ 青bg+白テキスト+青アイコン(Apple macOS準拠)。ロゴ「y」もBlueに。
改善ボタン刷新。btn-primaryに枠線追加(border: rgba(10,132,255,0.25))、border-radius: 0.5→0.625rem。btn-ghostにも枠線追加。focus-ringをinset→outset 3pxに変更(Apple macOS準拠)。
改善font-smoothing: auto→antialiasedに変更(Apple製アプリ準拠)。文字が引き締まりより鮮明に。テキスト4段階(primary/secondary/muted/ghost)に統一。
改善UserAvatar / ConfirmDialog / CommandPalette のアクセントカラーをBlueに統一。MobileBottomNav / MobileHeaderもblue active + 新surface対応。
v0.612026-05-29
ATS + タレントマネジメントシステム
採用管理システムをゼロから構築。書類選考→1次面接→最終面接→内定のパイプライン管理、タレントプール(不採用者の再活用)、CSV一括インポート(Wantedly/LinkedIn/Indeed/複業クラウド対応)、AIによる候補者評価生成、システム内メール送信、面接スケジュール管理、採用フォームwebhookを実装。Sidebarに /hr を追加。
新機能採用パイプライン管理(書類選考→1次面接→最終面接→内定→採用済)。カンバン形式で候補者を5ステージで管理。ステージ変更をEventLogに記録。
新機能タレントプール。不採用・辞退候補者もプール保存し、将来の採用活動で再活用できる。タブで切り替え表示。
新機能CSV一括インポート。Wantedly/LinkedIn/Indeed/複業クラウドのCSVに対応。日本語・英語ヘッダーを自動マッピング。重複メールはスキップ。ドラッグ&ドロップにも対応。
新機能AI候補者評価生成(Claude Haiku)。候補者情報・スキル・ノート履歴をもとに強み・懸念点・総合評価・推奨アクションをストリーミング生成。
新機能候補者詳細スライドオーバー。概要・ノート・面接の3タブ構成。ノートはリアルタイム追加・削除。面接スケジュール(日時/場所/面接官)の追加・完了・削除。
新機能システム内メール送信。候補者詳細からMailAccountを使って直接メール送信可能(useConfirm確認あり)。
新機能採用フォームwebhook(POST /api/hr/webhook)。Bearer認証でoyo.tokyoの採用フォームから候補者を自動登録。
新機能Prismaに Candidate / CandidateNote / InterviewSchedule モデルを追加。CandidateStage・CandidateSource enumを定義。prisma db push済み。
改善Sidebar OperationsグループにHR(/hr)を追加。ショートカット G+R で移動。
v0.602026-05-21
SEO記事 AIウィザード — DataForSEO × Jina AI × Claude × Flux 2 Pro
Inbound > 記事タブに「AI SEO記事」ウィザードを追加。キーワード調査→競合分析→タイトル20本生成→本文生成→画像生成→SEOメタ自動入力→下書き保存まで、各ステップの承認だけでSEO最強記事を自動作成できる。AI著者管理UI(Flux 2 Proでアバター生成)とカテゴリー管理UIも追加。
新機能SEO記事 AIウィザード(4ステップ)を追加。ヒアリング(カテゴリー/目的/想定読者/EEAT強み/AI著者)→ DataForSEOキーワード調査 + SERPトップ10取得 + Jina AI競合スクレイピング → タイトル候補20本(8パターン分類)+ AIトーン選定理由表示 → 本文生成(Claude Opus)+ カバー画像生成(Flux 2 Pro)+ SEOメタ全自動入力 + 下書き保存。
新機能AI著者管理UI(スライドオーバー)。キャラクター設定(名前/肩書/専門領域/個性/文体)をUIで作成・編集でき、Flux 2 Pro APIでリアルな人物アバターを自動生成。AI/人間の区別フラグあり。
新機能カテゴリー管理UI(スライドオーバー)。記事カテゴリーを追加/編集/削除できる。ウィザードのカテゴリー選択と連動。
新機能Prismaに AiAuthor・ArticleCategory モデルを追加(prisma db push済み)。WritingStyle enum(FORMAL/CASUAL/STORYTELLING/TECHNICAL/SEO_FRIENDLY)。
新機能Supabase articlesテーブルに ai_author_id / category / article_goal / target_reader / eeat_strengths / schema_json / internal_links / competitor_urls / search_volume / keyword_difficulty カラムを追加(prisma/cms-migration.sql を Supabase Studio SQL Editorで実行必要)。
新機能SEO API Routes追加:/api/seo/keywords(DataForSEOキーワード調査)、/api/seo/serp(DataForSEO SERP)、/api/seo/scrape(Jina AI Reader競合スクレイピング)、/api/seo/generate(Anthropic Claudeストリーミング生成)、/api/seo/image(fal.ai Flux 2 Pro記事画像)、/api/seo/avatar(fal.ai著者アバター生成)。
改善CmsView に「AI SEO記事」ボタン・AI著者管理ボタン・カテゴリー管理ボタンを追加。内部リンク候補は公開済み記事から自動生成。
改善ArticleEditor サイドバーにカテゴリーフィールドを追加。記事更新時にウィザードで生成したEEAT・schema等のフィールドを保持するよう修正。
設計DATAFORSEO_LOGIN / DATAFORSEO_PASSWORD / FAL_KEY の3つの環境変数を追加(.env.local のスタブを追加済み)。DataForSEO未設定でもウィザードのSERP・KW調査以外は動作する。
v0.592026-05-21
担当者 バイネームリスト対応(LinkedIn・職種フィールド追加)
ContactPerson モデルに linkedin・jobCategory フィールドを追加。CSVインポートで LinkedIn URL・担当者職種に対応し、姓/名が別カラムのスプレッドシートも統合して担当者名に変換できるようになった。LinkedIn dedup(同一 LinkedIn URL による重複排除)も導入。
新機能ContactPerson モデルに linkedin(LinkedIn URL)と jobCategory(担当者職種)を追加。@@unique([orgId, linkedin]) による LinkedIn URL 重複排除インデックスを追加(prisma db push 済み)。
新機能CSV インポートで「姓」「名」列を別々にマッピングし、スペースで結合して担当者名として取り込む仮想フィールド(_lastName / _firstName)を導入。
新機能CSV インポートの AUTO_MAP に「LinkedIn」「LinkedIn URL」「担当者職種」「姓」「名」の自動列マッピングを追加。
新機能upsertContactPersons がメールアドレスに加えて LinkedIn URL でも重複排除するよう更新(メール → LinkedIn の優先順位)。
改善ContactPersonDetailSheet に LinkedIn プロフィールリンク(外部リンク)と担当者職種の表示・編集フィールドを追加。
v0.582026-05-21
Contents 全面刷新 + HOME ダッシュボード強化
Contents ページをウェビナーコンテンツ管理ハブとして全面刷新。ウェビナー動画・ショート動画・参加者資料・SNS投稿の4種別を新設し、概要ダッシュボードとかんばんビューの2タブ構成に。HOME も大幅強化: 連続稼働日数ストリーク表示、今月成約額KPI追加、クイックアクション、コンテンツ予定表示など。
新機能ContentKind enum 追加(WEBINAR / SHORT_CLIP / PARTICIPANT_DOC / SNS_POST / OTHER)。Content モデルに kind・videoUrl・metrics(JSON) フィールドを追加(prisma db push 済み)。
新機能Contents 概要タブ(ContentsDashboard): ウェビナー動画・ショート動画・参加者資料・SNS投稿の4種別ごとのパフォーマンス指標(再生数/エンゲージメント/DL数/インプレッション)をスパークライン付きで表示。今後の予定コンテンツ一覧も掲載。
新機能Contents かんばんタブ: 種別フィルター(ウェビナー動画/ショート動画/参加者資料/SNS投稿/その他)を追加。カード上に種別バッジ表示。videoURLから外部リンクを開ける。C ショートカットで追加フォームを開く。
新機能ContentForm 更新: 種別(kind)・動画URL(videoUrl)フィールドを追加。LinkedIn・Facebookをプラットフォームとして追加。
新機能HOME: 連続稼働日数ストリーク(TimeEntryから計算)を火炎アイコン付きバッジで表示。状況に応じたコンテキストメッセージを表示。
新機能HOME: 今月成約(wonThisMonth)と公開コンテンツ数(publishedContents)をKPIグリッドに追加し6枚構成に拡張。
新機能HOME: クイックアクションカード(タスク/案件/コンテンツ/メール)を追加。各ページへのショートカットナビゲーション。
新機能HOME: 今後のコンテンツ予定セクションを追加。scheduledAt が近い SCHEDULED/REVIEW/IN_PROGRESS の Content を表示。
改善Sidebar の「Content」表記を「Contents」に統一。ContentsLayout に2タブ構成(概要/コンテンツ)を導入。
改善getHomeKpis を拡張し wonThisMonth・publishedContents を追加。getWorkStreak・getUpcomingContents を lib/db/home.ts・lib/db/contents.ts に追加。
v0.572026-05-21
Inbound タブ全面刷新 — ダッシュボード / SNS / 資料 追加
Inboundページのタブ構成を「コンテンツ/フォーム/LP」から「ダッシュボード/記事/SNS/資料」に全面刷新。インバウンド施策のモニタリングダッシュボード、SNS投稿管理、資料ライブラリをダミーデータで実装。SNSPost・Materialの2モデルをDBに追加し、将来の実データ対応の基盤を整備。
新機能インバウンドダッシュボード(InboundDashboardView): 今週/今月/全期間のブログ記事・SNS・資料のリーチ→リード転換率をスパークライン付きで表示。OutboundDashboardViewと統一したUIパターンを採用。
新機能SNSタブ(SnsView): X / Instagram / LinkedIn / Facebook の投稿一覧をプラットフォーム・ステータスフィルター付きで表示。インプレッション・エンゲージメント指標をサポート。ダミーデータで7件表示。
新機能資料タブ(MaterialsView): ホワイトペーパー / サービス資料 / お役立ち資料 / 事例集をタイプフィルター付きグリッドで表示。ダウンロード数・ファイルサイズを表示。ダミーデータで6件表示。
新機能SnsPost モデル追加(prisma/schema.prisma): platform(X/Instagram/LinkedIn/Facebook/Other)・status(Draft/Scheduled/Published/Cancelled)・content・engagement(JSON)・scheduledAt・publishedAt フィールド。
新機能Material モデル追加(prisma/schema.prisma): type(Whitepaper/ServiceDoc/UsefulDoc/CaseStudy/Other)・status(Draft/Published/Archived)・downloadCount・fileSize・r2Key フィールド。
改善InboundLayout を4タブ構成に刷新。「フォーム(coming soon)」「LP(coming soon)」を削除し、ダッシュボード・記事・SNS・資料に変更。ショートカット1〜4でタブ切替。
改善lib/shortcuts.ts の Inbound セクションを更新: 1=ダッシュボード, 2=記事, 3=SNS, 4=資料。
改善lib/db/sns.ts・lib/db/materials.ts・lib/actions/sns.ts・lib/actions/materials.ts を追加。将来の実データ対応に向けたCRUDレイヤーを整備。
v0.562026-05-21
修正: SFA 成約 → CRM に反映されないバグ
SFAで案件をWONに変更してもCRMに顧客が表示されなかった根本原因を修正。案件にcompanyId(会社レコードへのFK)が未設定でも、会社名でCompanyを検索・なければ作成し、customerStageをONBOARDINGに設定してCRMに表示されるようにした。
修正updateDealAction の WON 処理: `companyId` が null の場合(案件を会社名テキストだけで作成したケース)も、deal.company 名で Company を find-or-create し、customerStage を ONBOARDING に設定するよう修正。これまではほぼすべての案件で companyId が null のためこのブロックが一切動いていなかった。
改善WON 成約時に deal.companyId を Company のIDで更新し、以降のルックアップが FK で直接解決されるように変更。
改善lib/db/contacts に findOrCreateCompanyByName を追加。名前の大小文字を区別しない検索で既存 Company を探し、なければ作成。
改善lib/db/deals の updateDeal 型に companyId フィールドを追加。
v0.552026-05-21
CMS エディター全面リデザイン + AI SEO基盤
CMSエディターのUXを全面刷新。サイドバーを「基本情報 / SEO / 文体 / タイプ別」のセクション構造に再編。ツールバーに Strike・Code・CodeBlock・HR を追加。文字数・推定読了時間の表示、⌘S 保存ショートカット、SEOタイトル上限を32→60字に修正。AI SEO量産に向けたメインキーワード・文体トーンフィールドを新設。SEO記事タイプを追加。
改善エディターサイドバー構造化: 「基本情報 / カバー画像 / 要約 / SEO / 文体・ブランドボイス / タイプ別 / 公開前確認」の7セクションに再編。スクロールで迷わない明確な情報階層。
改善ツールバー拡充: 取り消し線・インラインコード・コードブロック・水平線を追加。StarterKit 既存機能を活用しパッケージ追加なし。
改善⌘S(Ctrl+S)保存ショートカットを追加。ツールバーは本文エリアの上部に sticky 固定。
改善文字数・推定読了時間をトップバーにリアルタイム表示(700字/分計算)。
改善SEOタイトル上限を 32字→60字 に修正(Google の実際の表示上限に合わせた)。
新機能メインキーワードフィールド(target_keyword)を追加。AI SEO ライティング時の主キーワードを管理。
新機能文体・ブランドボイスセレクター(writing_tone): フォーマル / カジュアル / ストーリー / 技術的 / SEO特化の5種類。AIライティングエージェントが参照する。
新機能SEO記事タイプを追加(type: 'seo')。SEOを主目的としたコンテンツを他タイプと区別して管理。Supabase migration が必要(supabase/migrations/20260521_cms_seo_fields.sql)。
改善公開前チェックリストにメインキーワード未設定の警告を追加。すべてのチェックが通ると緑のOKサインを表示。
改善TipTap CSS に h3・blockquote・code block・hr・strike スタイルを追加。
修正CmsView の新規作成ショートカット 'C' → 'c'(lowercase)に修正。
v0.542026-05-21
Outbound ダッシュボード追加・タブ整理
Outbound にダッシュボードタブを新設。架電・メール・フォームDM の3施策ごとにファネル指標とスパークラインを表示(現在はダミーデータ)。タブ順を「ダッシュボード(1) → 架電(2) → メール(3) → フォームDM(4) → DB(5)」に変更。メールタブの企業/担当者順序バグを修正。
新機能ダッシュボードタブ: 3施策(架電・メール・フォームDM)の実績をカード形式で一覧表示。ファネル指標(アプローチ → 中間指標 → 転換)と最終転換率を表示。今週/今月/全期間の切替可能。
新機能スパークライン: 各施策カードに離散 Tailwind 高さクラスを使ったバーグラフ型スパークラインを追加(インラインスタイルなし)。
改善タブ順変更: ダッシュボードを最左(1)、DB を最右(5)に移動。数字ショートカットも 1〜5 に対応。
修正メールタブのテーブル表示バグ修正: isPerson 変数未定義エラーを isCompany に修正。企業が左・担当者が右の順序も統一。
v0.532026-05-21
Outbound UI 統一リデザイン
Outbound 全タブの UI を統一。「1Card 1ヘッダー行」パターンに統一し、検索バーを廃止、ページネーションを上部に移動、20件/ページに変更。企業アイコンを Building2 に統一。E/P ショートカットでサブタブ切替可能に。DBView を完全自己完結型にリファクタリング。
改善統一ヘッダーパターン: 全タブで「Card 内の1行ヘッダー(サブタブ・件数・ページング)」に統一。検索バー・statsstrip を全廃し視点を集約。
改善ページネーション上部化: 全タブのページ送りをヘッダー右端に移動。20件/ページに変更(旧 50〜100件)。
改善サブタブ E/P ショートカット: 企業(E)・担当者(P)のタブ切替をキーボードで実行可能。ShortcutTip ホバー表示付き。
改善アイコン統一: 企業=Building2、担当者=UserRound に全タブで統一。LeadsView の Users アイコンを廃止。
改善DBView 完全自己完結化: OutboundLayout からの props 受け渡しを廃止。DBView がマウント時に自身でデータをフェッチ。リード詳細・担当者詳細・インポートモーダルも一体管理。
改善OutboundLayout 簡素化: データ管理ロジックを完全撤廃。セクション状態の管理のみに専念。
v0.522026-05-21
Outbound 架電・メール・フォームDM リスト機能
Outbound の架電・メール・フォームDM タブを「Coming Soon」から実際のリスト表示に変更。必要な連絡先情報が登録されているデータだけをDBから絞り込んで表示し、ワンクリックでアクション実行(電話発信・メール作成・URL開く)できる。
新機能架電タブ: 電話番号が登録されている企業リード(企業)と担当者(担当者)をサブタブで切替表示。電話番号は tel: リンクで発信でき、コピーボタンも装備。
新機能メールタブ: メールアドレスが登録されている担当者(担当者)と企業リード(企業)をサブタブで表示。mailto: リンク + コピーボタン。
新機能フォームDMタブ: お問い合わせURLが登録されている企業リードのみを表示。外部リンクで開く + URLコピーボタン。
改善各タブは選択時にクライアントサイドでフェッチ(hasPhone / hasEmail / hasContactForm フィルタを DB 側で適用)。不要なデータを一切取得しない。
改善全タブで検索バーによるリアルタイム絞り込みとページネーションに対応。
改善LeadFilter・PersonFilter に hasPhone / hasEmail / hasContactForm オプションを追加。DB 側(Prisma WHERE 句)でフィルタリングするため、JS 側の全件スキャンなし。
v0.512026-05-21
サービス全体パフォーマンス改善
ほぼ全ページの初期ロード時間を短縮。Outbound は SSR データフェッチを完全廃止してクライアント側遅延ロードに変更。getLeadStats は全件 findMany → DB 集計(groupBy + unnest)に書き換え。Finance の listDeals は activities JOIN なし軽量クエリに。Management の Clerk ユーザー取得を 5 分キャッシュ化。ホーム KPI を 30 秒キャッシュ化。
改善Outbound page: SSR でのDB フェッチ(リード一覧×2 + 統計×2)を完全削除。OutboundLayout がマウント後にクライアントサイドで並列フェッチするように変更。ほぼ未訪問ページの SSR コストをゼロに。
改善getLeadStats: 全リードの findMany(JS 集計)→ Prisma groupBy(market)+ $queryRaw unnest(industry)に書き換え。大規模 DB でも DB 側で集計完了。
改善Finance page: listDeals(activities JOIN 付き)→ listDealsSlim(JOIN なし)に変更。BudgetView は activities フィールドを使っていないため変更に影響なし。
改善Management page: Clerk getUserList を unstable_cache でラップし 5 分間キャッシュ。アバター・名前の変更は稀なため実用上の差なし。
改善ホーム KPI(アクティブタスク・期限超過・パイプライン額・未処理請求書)を unstable_cache で 30 秒キャッシュ。連続訪問時の DB クエリ 4 本を削減。
v0.502026-05-21
CMS リファクタリング & パフォーマンス改善
CMS まわりのバグ修正・リファクタリング・レイテンシ改善。記事クリックでエディタを即時表示してから本文を非同期ロードするようにし、デバウンス自動保存(2s)を追加。Supabase クライアントをシングルトン化し、統計取得を HEAD リクエスト3本に変更して帯域を削減。
修正CmsView: 行クリック時に listArticlesAction(無関係データ)+ dynamic import + getArticleAction の3段階フェッチだったバグを修正。直接 getArticleAction を呼ぶだけに。
修正CmsView: マウント毎に env チェック用 Server Action を余分発火していたバグを修正。page.tsx でサーバー側チェックした cmsEnvOk フラグを渡すように変更。
修正lib/actions/cms.ts: import type { Article } がファイル末尾にあったバグを修正。先頭インポートに移動。
修正lib/db/cms.ts: fromRow の Record<string, any> を Record<string, unknown> + 型安全キャストに変更。eslint-disable-next-line を削除。
改善楽観的エディタ開き: 記事クリックで title・slug・type・status 等がすぐ表示され、body_html だけ非同期ロード。読み込み中はスケルトンアニメーションを表示。
改善デバウンス自動保存(2秒): 既存記事編集時にメタデータ・本文変更を検知して自動保存。マウント時は発火しない(mountedRef ガード)。
改善Supabase クライアントのシングルトン化: getCmsClient() を毎回 createClient() していたのを module-level シングルトンに変更。
改善getCmsStats を HEAD リクエスト3本(count-only)に変更。全行 SELECT → JS 集計から大幅に帯域削減。
改善bodyLoading 中は保存・公開ボタンを無効化。保存エラー表示を ⚠ 付きに改善。
v0.492026-05-21
CMS 本文画像 alt テキスト強制 + Webhook ペイロード拡張
TipTap で本文に画像を挿入する際、アップロード後に alt テキスト入力モーダルを表示するよう変更。空の alt のまま挿入できなくなった。また Webhook ペイロードに authorName / tags を追加し、oyo.tokyo 側で著者ページ・タグページの ISR キャッシュを正しく revalidate できるように対応。
改善本文画像挿入時に alt テキスト入力モーダルを表示。Enter キーでもそのまま挿入可。alt 未入力のまま空文字でも挿入は可能(純粋な装飾画像への対応)。
改善Webhook ペイロードに authorName / tags を追加。oyo.tokyo 側の著者ページ・タグページのキャッシュをパージできるようになった。
新機能docs/specs/oyo-tokyo-author-tag-pages.md を作成。著者ページ・タグページの Supabase クエリ・ページ実装・JSON-LD・サイトマップ追加・Webhook 対応の完全仕様を定義。
v0.482026-05-21
CMS エディタ SEO ガイダンス強化
記事エディタのメタデータサイドバーに SEO 編集ガイダンスを追加。文字数カウンター・範囲外警告・OGP 画像未設定警告・日本語スラッグ警告・公開前チェックリストを実装。
改善SEOタイトルに32文字カウンター。未入力時はタイトルから「タイトル | PRISM」形式で自動入力するボタンを表示。
改善SEO説明文に80〜120文字カウンター。推奨範囲外のとき色付きの警告を表示。
改善要約フィールドに100〜140文字カウンター(OGP description の fallback として使用されるため)。
改善カバー画像が未設定のとき「SNSシェア時に画像なし」のアンバー警告を表示。アップロード枠の枠線もアンバーに変更。
改善スラッグに日本語(非ASCII)が含まれる場合に警告メッセージを表示。
改善サイドバー下部に公開前チェックリストを追加。問題がある項目だけ一覧表示(問題なければ非表示)。
v0.472026-05-21
Inbound CMS — コンテンツ管理機能を実装
Inbound ページのコンテンツタブに CMS を実装。Supabase(別プロジェクト)を DB とし、story / case / news の3タイプの記事を管理できる。TipTap リッチエディタ・R2 画像アップロード・公開/非公開フロー(Webhook 経由で oyo.tokyo を revalidate)を含む。仕様書 docs/specs/cms-integration.md も同時作成。
新機能Inbound > コンテンツタブに CMS 実装。記事一覧・作成・編集・削除・公開管理が可能。
新機能TipTap エディタ(H2/H3/太字/斜体/箇条書き/引用/画像挿入)を搭載。画像は R2 にアップロード。
新機能コンテンツタイプ別フィールド: story(著者情報)/ case(クライアント名・成果指標)/ news(シンプル)。
新機能公開時に oyo.tokyo /api/revalidate へ Webhook を送信。ISR キャッシュを自動パージ。
新機能docs/specs/cms-integration.md を作成。Supabase DDL・RLS・Webhook 仕様・oyo.tokyo 実装例を完全に定義。
新機能/api/cms-upload エンドポイント。R2 に CMS 画像をアップロード(8MB 制限・型チェック付き)。
v0.462026-05-21
Outbound / Inbound ページ新設・Deals DB を Outbound に移管
Outbound(アウトバウンド営業ハブ)と Inbound(インバウンドマーケティングハブ)を新設。Deals 内の DB セクション(企業リスト・担当者リスト)を Outbound に移管。Outbound は架電・メール・フォームDM の各営業手法タブをロードマップとして配置。Inbound はコンテンツCMS・フォーム・LP管理タブを配置。サイドバーに両ページを追加し、G+O / G+N のグローバルショートカットも設定。
新機能/outbound ページ新設。DB タブ(企業・担当者)+架電・メール・フォームDM タブ(開発予定)のタブ構成。
新機能/inbound ページ新設。コンテンツCMS・フォーム・LP管理タブ(開発予定)のタブ構成。
改善Deals の DB セクションを Outbound に移管。Deals は MA / SFA / CRM の3タブに整理。
改善サイドバー Sales グループに Outbound・Inbound を追加。G+O / G+N ショートカットも設定。
v0.452026-05-21
CSV インポート 2 回目以降が止まる問題を修正
ImportModal / ContactPersonImportModal で getLeadStatsAction / getPersonStatsAction の呼び出しが try/catch の外にあり、stats 取得が失敗すると onDone が呼ばれずモーダルが正常に閉じず次回インポートできなくなっていた問題を修正。stats 取得を try/catch でラップし、失敗しても onClose() を呼んで確実にモーダルが閉じるよう変更。
修正ImportModal: getLeadStatsAction 呼び出しを try/catch でラップ。失敗時も onClose() でモーダルを確実に閉じるよう変更。
修正ContactPersonImportModal: getPersonStatsAction 呼び出しを try/catch でラップ。同様に失敗時も onClose() で閉じる。
v0.442026-05-21
Turbopack "use server" return type 注釈によるインポートエラー再発修正
Turbopack が "use server" モジュール内の関数 return type 注釈(ContactPerson, PersonStats, SalesLead 等)を runtime 参照として生成コードに埋め込む問題を修正。import type を別行に分けても return type 注釈が残っていると ReferenceError: ContactPerson is not defined が再発することを確認。lib/actions/contact_persons.ts と lib/actions/leads.ts の全 server action 関数から return type 注釈を削除し、TypeScript の型推論に委ねるよう変更。混在インポート(import { ..., type X })も分離。
修正lib/actions/contact_persons.ts の server action 関数から ContactPerson / PersonStats return type 注釈を削除。Turbopack の runtime 参照生成を抑制。
修正lib/actions/leads.ts の混在 import { ..., type X } を value import + 別行 import type に分離。SalesLead / LeadStats / ImportResult の return type 注釈も削除。
修正Turbopack "use server" ルールを強化: return type 注釈に外部純粋型を使わない(TypeScript 推論に任せる)。
v0.432026-05-20
メール E キーショートカット修正
MailView のバルクアクションハンドラーで stale closure により checkedIds が空のまま参照されていたため、チェック済みメッセージがある状態で E を押しても何もアーカイブされず、stopImmediatePropagation で MessageView の単体ハンドラーもブロックされていた問題を修正。handleBulkArchive / handleBulkStatus を ref 経由で呼ぶことで常に最新の checkedIds を参照するよう変更。また、バルクハンドラーをキャプチャフェーズで登録し登録順に依存しない確実な優先制御を実現。
修正MailView のバルクショートカットハンドラーが stale な checkedIds を参照していた問題を ref パターンで修正。
修正バルクハンドラーをキャプチャフェーズ(addEventListener 第3引数 true)で登録し、MessageView の E ハンドラーとの優先順位が登録順に依存しないよう変更。
修正チェックなし状態の E キーで単体メッセージのアーカイブが確実に動作するよう改善。
v0.422026-05-20
インポートエラーの根本修正(BigInt → number)
LeadRow の revenue / capital を bigint から number に変更。Next.js Server Action の引数として bigint を渡すと Flight シリアライザが失敗するケースがあるため、クライアント→サーバー境界では number を使い、DB への書き込み直前に BigInt に変換する設計に修正。importLeadsAction / importContactPersonsAction に try/catch を追加し、エラー時はスローせず ImportResult.errors に積むようにしてエラーメッセージが UI に表示されるよう改善。
修正LeadRow.revenue / capital を bigint → number に変更。Server Action 引数の BigInt シリアライズ問題を根本解消。
修正buildCreateData / buildFillUpdateData / updateLead で number を BigInt に変換してから Prisma に渡すよう修正。
修正ImportModal の parseJapaneseNumber が number を返すよう修正。
改善importLeadsAction / importContactPersonsAction に try/catch を追加。エラー時は throw せず errors 配列に積み、UI に実際のエラーメッセージを表示。
v0.412026-05-20
インポート Server Action エラー修正
企業・担当者 CSV インポート時に「サーバーエラー: An error occurred in the Server Components render」が発生していた問題を修正。Server Action 内の revalidatePath("/deals") がページ再レンダリングをトリガーし、プロダクション環境で失敗していた。クライアント側で既にデータ再取得を行っているため revalidatePath は不要であり削除。
修正importLeadsAction / importContactPersonsAction から revalidatePath("/deals") を削除。クライアントが listLeadsAction / listContactPersonsAction / getLeadStatsAction で自前でリフレッシュするため不要。
修正updateLeadAction / deleteLeadAction / updateContactPersonAction / deleteContactPersonAction の revalidatePath も同様に削除。LeadsView・ContactPersonsView がコールバックで状態を更新するため不要。
v0.402026-05-20
担当者リスト追加・企業リストに改称・DB サブタブ化
「営業リスト」を「企業リスト」に改称し、新たに「担当者リスト」を追加。Deals の DB タブ内に企業/担当者のサブタブを設け一元管理。担当者は会社名で企業リストに自動紐づけ。
新機能ContactPerson モデル追加(担当者名・部署・役職・電話・メール・企業紐づけ)。prisma db push 済み。
新機能担当者 CSVインポート:カラムマッピング・500行バッチ・メールで重複排除。会社名が一致すれば企業リストに自動リンク。
新機能担当者一覧(ContactPersonsView):担当者名・会社名・役職/部署・電話・メール表示。企業紐づき済みは緑アイコン表示。
新機能担当者詳細シート(ContactPersonDetailSheet):全フィールドインライン編集・削除。
改善Deals DB タブ内に企業/担当者のサブタブを追加(DBView)。
v0.392026-05-20
Leads を Deals/DB タブに統合 + フィルタ改善
独立していた /leads ページを廃止し、Deals の第4タブ「DB」として統合。業界・都道府県フィルタをドロップダウン化、I キーショートカットを実装。
改善Deals に「DB」タブを追加(MA / SFA / CRM / DB)。営業リスト管理を Deals に一本化。
改善業界フィルタを stats.byIndustry データを使ったドロップダウンに変更。
改善都道府県フィルタを47都道府県の固定ドロップダウンに変更。
新機能I キーショートカット実装 — DB タブ表示中にインポートモーダルを開く。
改善Sidebar の Leads 項目を削除。/leads は /deals にリダイレクト。
改善4 キーで DB セクションへ切替(shortcuts.ts 更新)。G+L ショートカットを廃止。
v0.382026-05-20
Sales Lead Import — 営業リスト管理機能
複数CSVから10,000行規模の営業リストを取り込み、法人番号→電話番号→会社名の3段階フォールバックで重複判定しながら空フィールドのみ補完するupsertを実装。カラムマッピングUIとインポート進捗・サマリー表示を含む。
新機能SalesLeadモデル追加(22フィールド)。法人番号・電話番号・正規化会社名の3つのユニーク制約で重複判定。
新機能/leads ページ追加。会社名・業界・市場区分・都道府県によるフィルタリングとページネーション(50件/ページ)。
新機能CSVインポートモーダル:PapaParseによるクライアントサイドパース、カラムマッピングUI(localStorage永続化)、500行バッチ処理、進捗バー、完了サマリー。
新機能空フィールドのみ補完するCOALESCEマージ戦略。既存の値は上書きされない。
新機能詳細スライドシート:全フィールドのインライン編集、SNSリンク、削除(useConfirm確認付き)。
新機能Sidebarの Salesグループに Leads を追加(admin/salesロール)。G+L ショートカットで移動。
改善業界フィールドを String[] に設計(「大カテゴリー 小カテゴリー」形式の複数値対応)。
v0.372026-05-20
UI構造の統一 — ナビゲーション・ピン・タブ・配色
ピン留めアイコンの二重表示バグを修正。DealsのセクションナビをDesktop左サイドバー+モバイルタブの2系統から全画面共通の上部タブストリップに統一。メールサイドバーのアクティブ配色をドキュメントサイドバーに揃え、SFAタブのボーダーとボタンスタイルを標準化。
修正DocSidebar: ピン済みドキュメントにピンアイコンが2つ表示されるバグを修正。リスト行のアイコンをFileTextに統一し、アクションボタンのみでピン状態を表現(ピン解除時はPinOff)。
改善DealsLayout: Desktop左サイドバー(w-148px)とモバイルタブストリップの2系統ナビを廃止。MA/SFA/CRMセクション切り替えを全画面共通の上部タブストリップ(ManagementTabs方式)に統一。
改善MailSidebar: アクティブ状態をグリーン(text-[#4ADE80])からニュートラルホワイト(text-white/85)に変更し、DocSidebarと一致させた。
改善SFA内タブ(パイプライン/担当者/会社)にborder border-white/[0.06]を追加してManagementTabsと同一スタイルに統一。
改善SFA「案件追加」ボタンをソリッドグリーンからサブトルグリーンに変更(全フォームとの一貫性)。
改善DocSidebarの背景をbg-[#111]からbg-[#0F0F0F](surface-0)に修正。
v0.362026-05-20
デザイン全体のトンマナ統一
モーダル・サイドシート・フォームの背景色・ボーダー透明度・ボタンスタイルを全ページで統一。ソリッドグリーンのボタンをサブトルグリーンに統一し、INPUT定数を廃止してform-inputユーティリティクラスを導入。
改善全モーダル/パネルの背景を #1A1A1A(surface-2)に統一(旧 #141414 / #161616 を修正)。
改善全パネルの外枠ボーダーを border-white/[0.10] に統一(旧 [0.07]〜[0.09] を修正)。
改善フォーム入力フィールドに .form-input ユーティリティクラスを導入。MAView / DealsView / ContactsPanel / CompaniesPanel の INPUT 定数を廃止。
改善全フォームのサブミットボタンをサブトルグリーン(bg-[#22C55E]/15 + text-[#4ADE80])に統一。ソリッドグリーン(bg-[#22C55E])をナビゲーション/プロモートアクション以外で廃止。
改善キャンセルボタンからボーダーを除去し ghost スタイルに統一。
改善サイドシート(DealDetailSheet / ContactDetailSheet / CompanyDetailSheet)の左ボーダーを border-white/[0.10] に統一。
設計globals.css に .form-input / .panel / .panel-side / .btn-primary / .btn-ghost を追加(@layer components)。
v0.352026-05-20
メール — アカウント別ビューで送信メールをアーカイブできない問題を修正
アカウント別ビュー(hello@oyo.tokyoなど)の送信メールフィルターがarchivedAtを見ていなかったため、アーカイブ後も消えなかった。
修正アカウント別ビューの送信メールフィルターに !msg.archivedAt を追加。アーカイブすると即座に非表示になる。
v0.342026-05-20
メール — 送信済みメールが受信ボックスに現れる問題を修正
SMTP送信時に偽のmessageIDを生成していたため、IMAPが同じメールを別の受信メールとして再保存していた。実際のmessageIDをnodemailerから取得して使うよう変更。
修正sendMail()がnodemailerの実際のMessage-IDを返すよう変更。saveOutboundMessageで偽IDではなく実IDを保存。
修正IMAP sync時に同じmessageIDで既存レコードが見つかった場合、isOutbound:trueを上書きしないよう upsert の update 節を修正。
v0.332026-05-20
メール — 一括アクションショートカット・受信ボックスフィルタ改善
チェック選択した複数メールへのE/P/W/D/Escショートカットと一括アクションバーのShortcutTipを追加。返信済みメールが受信ボックスから自動的に消えてアーカイブに移動するよう改善。
新機能複数メール選択時の一括アクションバーにE(アーカイブ)・P/W/D(ステータス変更)・Esc(選択解除)ショートカットを追加。各ボタンにShortcutTipを表示。
改善受信ボックスフィルタを改善:返信済み(repliedAt設定済み)メールを受信ボックスから除外し、アーカイブビューに移動。返信後に受信ボックスが散らかる問題を解消。
v0.322026-05-20
全ページ — 閉じる・削除ショートカット網羅
モーダル・シート・フォームすべてにEscで閉じる・Delで削除のショートカットとShortcutTipを追加。ComposeModal/AddAccountModal/InvoiceReminderModal/MAView/DealsView/DealDetailSheet/ContactDetailSheet/CompanyDetailSheet/ManagementView(LogForm)/TaskForm/TaskDetailSheet/TaskList/DocumentEditorを網羅。
新機能全モーダル・シートにEscキーで閉じるショートカットを追加(X/キャンセルボタンにShortcutTip表示)。
新機能DealDetailSheet・ContactDetailSheet・CompanyDetailSheet・TaskDetailSheet・DocumentEditorにDelキーで削除ショートカットを追加(Trash2ボタンにShortcutTip表示)。
新機能TaskListのSubRow・ParentRowのゴミ箱ボタンにShortcutTip(Del)を追加。
v0.312026-05-20
全ページ — ショートカット網羅・ShortcutTip統一
全アクションボタンにキーボードショートカットとShortcutTipホバー表示を追加。\でサイドバー折りたたみ、メールJ/K移動、タスクVビュー切替、Docs/MailにC作成ショートカットを追加。
新機能\キーでサイドバーを折りたたみ/展開。折りたたみボタンにShortcutTipを追加。
新機能メールでJ/K(次/前のメッセージ移動)・S(スター切り替え)・/(検索フォーカス)ショートカットを追加。
新機能メール詳細のスターボタン・送信済み返信ボタンにShortcutTipを追加。R(返信)を送信メールでも有効化。
新機能メール検索バーにShortcutTip(/)を追加。新規作成ボタン(一覧ヘッダー)にShortcutTip(C)を追加。
新機能タスクページにVキーでリスト/かんばん切り替え。両ビューボタンにShortcutTipを追加。
新機能ドキュメントサイドバーの新規作成ボタンにCショートカットとShortcutTipを追加。
改善lib/shortcuts.tsにE,R,S,J,K,/,P,W,D,V,\を追加し、?パネルに全ショートカットを網羅表示。
v0.302026-05-20
メール — P/W/Dショートカット・ステータス名統一
P=未対応・W=返信待ち・D=対応済みのキーボードショートカットを追加。各ステータスボタンにShortcutTipホバー表示を追加。「対応完了」表記を「対応済み」に統一。
新機能メール詳細でP/W/Dキーによるステータス切り替えショートカットを追加。
新機能ステータスボタンにShortcutTipホバー表示を追加(ショートカットキーとラベルを表示)。
改善「対応完了」表記を「対応済み」に統一(一覧・詳細・バルク操作バー)。
改善メール一覧上部のヒント行を削除。チェックボックスのホバーShortcutTipに統合。
v0.292026-05-20
メール — Shift+Enter修正・ショートカット追加・返信バナー改善
Shift+Enter範囲選択のバグを修正。E/Rキーショートカット追加。返信済みメールをバナーとカラーバッジで視認しやすく改善。
修正Shift+Enter範囲選択が動作しないバグを修正。ナビゲーション時にlastCheckedIdが上書きされる問題を解消。
新機能Eキーでアーカイブ/受信トレイに戻す。Rキーで返信。各ボタンにShortcutTipホバー表示を追加。
新機能メール一覧にSpace/Shift+Enter/1–9のショートカットヒント行を追加。
改善返信済みメールを一覧でCornerDownRightアイコン+緑テキストで表示。メール詳細上部に緑バナー(誰がいつ返信)を表示するよう変更。
v0.282026-05-20
メール — アーカイブ・ステータス管理・複数選択
受信メールのアーカイブ、未対応/返信待ち/対応完了ステータス管理、複数選択による一括操作を追加。返信すると元メールに返信者と日時が記録されます。
新機能メールのアーカイブ機能を追加。個別メッセージのアーカイブボタン、およびサイドバーの「アーカイブ」ビューから一覧確認・復元が可能。
新機能ステータス管理を追加(未対応 / 返信待ち / 対応完了)。受信メールはデフォルト「未対応」。メール詳細ヘッダーのステータスボタンで変更可能。
新機能メール一覧でチェックボックスによる複数選択に対応。Spaceで選択トグル、Shift+Enterで範囲選択。選択中は一括アーカイブ・ステータス変更バーが表示される。
新機能返信送信時に元メールの「返信済」情報(誰がいつ)を自動記録。メール一覧でグレーアウト+返信者・日時を表示。
v0.272026-05-20
メール一覧ヘッダーに新規作成ボタン・エイリアスルーティング修正
アカウントビューのメール一覧ヘッダーに新規作成ボタンを追加。エイリアスアドレス宛のメールを正しいアカウントビューのみに表示するよう修正。
改善アカウントビューのメール一覧上部に新規作成ボタンを設置。そのアカウントの From アドレスが自動設定される。
修正エイリアスアドレス(partner / office / core)宛のメールを toAddresses/cc で判定し、該当アカウントビューのみに表示。Hello アドレスには混在しないよう修正。
v0.262026-05-20
メール新規作成をアカウントごとに分離・重複メール修正
新規作成ボタンを各メールアカウント行に移動し、選択したアドレスから送信できるよう変更。同期時に自分のアドレスからのメッセージを重複保存しないよう修正。
改善新規作成ボタンをサイドバー上部から各メールアカウント行のホバー時ボタンに移動。選択したアカウントが From に自動設定される。
改善Cキーショートカットもアカウントビュー選択中は該当アカウントで作成するよう対応。
修正IMAP同期時、自分のアドレスから送信されたメッセージを受信トレイに重複保存しないようスキップ処理を追加。
v0.252026-05-20
Company OS — EventLog + AgentIdentity + DecisionLog + DecisionRule
全操作を append-only EventLog として記録するアーキテクチャを導入。AI Agent が会社の状態変化を理解・実行・監査できる基盤を実装しました。
設計EventLog モデルを追加。actorType / actorId / action / entityType / entityId / diff / snapshot / source / metadata を持つ append-only 監査ログ。
設計AgentIdentity モデルを追加。Clerk Service Account に紐づく組織内 AI エージェントの実行主体定義。scopes・impersonatedBy による権限管理。
設計DecisionLog モデルを追加。重要イベントをトリガーに AI が下書きを生成し、人間が確認・修正する半自動意思決定ログ。
設計DecisionRule モデルを追加。DecisionLog 生成条件を DB 上で組織・イベント種別・金額閾値ごとに設定変更可能。
新機能Task / Deal / Document / Content / MailMessage / EmailTemplate のすべての作成・更新・削除・送信・ステータス変更操作を EventLog に自動記録。
新機能lib/events/emit.ts に emitEvent() と computeDiff() を実装。重要イベント(DELETED / STAGE_CHANGED 等)と Deal / Invoice エンティティでは自動的にスナップショットも保存。
v0.242026-05-19
UIバグ修正 — 送信確認・テンプレート・同期時刻・編集者表示・返信者記録
メール送信確認のボタン名修正、テンプレートが固まるバグ修正、同期時刻表示、ドキュメント編集者・時刻の可視化、返信者の記録と表示。
修正送信確認ダイアログのボタンが「削除する」になっていたのを「送信する」に修正。ConfirmDialog が confirmLabel オプションを受け取るよう汎用化。
修正テンプレートピッカーが pointer-events-none の親 div に入っておりクリック不可だったのを修正。
改善メールサイドバーの各アカウントに最終同期時刻(〇分前形式)を表示。
改善ドキュメント一覧に最終編集者名と更新時刻(〇時間前形式)を常時表示。tooltip から可視テキストへ変更。
新機能返信・送信メールに sentByClerkId を記録。メール詳細の From 欄に「チームメンバー名(アドレス)」形式で送信者を表示。
v0.232026-05-19
メール強化 + ドキュメントピン + コマンドパレット全面刷新
メール検索・スター・送信取消・テンプレート、ドキュメントのピン留め・最終編集者表示、自動メール同期 Cron、⌘K グローバル検索を実装しました。
新機能メール一覧の上部に検索バーを追加。件名・送信元・本文をリアルタイムフィルタリングできます。
新機能メールにスターを付けて「スター付き」ビューで確認できます。
新機能メール送信後 5 秒間のキャンセルウィンドウを追加。カウントダウン中にキャンセルできます。
新機能メールテンプレート機能を追加。件名・本文を登録して作成フォームに一括適用できます。
新機能Vercel Cron(15 分ごと)でメールを自動同期する /api/cron/mail-sync エンドポイントを追加。
新機能ドキュメントをピン留めしてサイドバー最上位に固定できます。
改善ドキュメント保存時に最終編集者を記録。サイドバーのホバーで名前を確認できます。
新機能⌘K コマンドパレットをタスク・ドキュメント・案件・コンテンツの横断検索に全面刷新。
v0.222026-05-19
メール — ショートカット一覧対応 + C キーで作成
? パネルにメールショートカットが表示されるようになりました。C キーで新規メール作成が起動します。
新機能C キーで新規メール作成モーダルを開けるようになりました。
改善? キーのショートカットパネルにメール固有のキーバインド(↑↓移動・←→カラム切替・C作成)が表示されます。
改善CLAUDE.md にショートカット更新ルールを明文化。新ページ追加時に漏れないようにしました。
v0.212026-05-19
メール — キーボードナビゲーション対応
メールサイドバーとメッセージ一覧を矢印キーで操作できるようになりました。
改善メールサイドバー(受信/送信/アカウント)を ↑↓ で選択、→ でメッセージ一覧に移動できます。
改善メッセージ一覧を ↑↓ で移動すると自動プレビュー、← でサイドバーに戻れます。
v0.202026-05-19
ドキュメント編集改善
エディタ横幅の最大化、Enter/Shift+Enterの改行区別、アーカイブ一括削除ボタンを追加。
改善ドキュメント編集ページの横幅制限を撤廃し、画面幅を最大限に活用できるようになりました。
改善Enterで段落間隔の大改行、Shift+Enterで行内の小改行を明確に区別して使えるようになりました。
新機能アーカイブセクションに「全て削除」ボタンを追加。確認ダイアログ付きで一括完全削除できます。
v0.192026-05-19
HOME 活動フィード — 誰が何をしたか表示
活動フィードにアクター名を追加。HOMEに上位5件表示 + 直近100件の一覧ページを新設。
新機能活動フィードに「Ikuma が タスクXXX を完了した」形式でアクター名を表示するようになりました。
新機能/activity ページを新設。直近100件の活動を日付グループ別に一覧表示できます。
改善HOMEの活動フィードを上位5件に絞り、「詳しく見る →」で全件ページへ遷移できるようにしました。
v0.182026-05-19
メール受信・同期が動作
Zoho JP サーバー設定を修正し、IMAP同期が正常に動作するようになりました。
修正IMAP/SMTPホストを imap.zoho.jp / smtp.zoho.jp(日本データセンター)に修正。
修正同期エラー時にページ全体がクラッシュする問題を修正。エラー文をサイドバーに表示するように変更。
改善サイドバーのアカウント行から誤タップしやすい削除ボタンを除去。
v0.172026-05-19
メールUI — 部署アドレス表示を整理
サイドバーに各アドレスの役割を色分け表示。PrismaクライアントのfromEmailエラーも修正。
改善メールサイドバーに役割ラベルを追加(総合窓口 / 営業・提携 / バックオフィス / 経営・機密・Infra)。
改善アドレスごとに色分けドット表示(緑 / 青 / 黄 / 紫)。
修正fromEmail フィールド追加後のPrismaクライアント未再生成によるエラーを修正。
v0.162026-05-19
メール部署アドレス4つを追加
Zohoエイリアスに対応したMailAccountスキーマに変更し、4つの部署メアドを登録。
新機能hello / core / office / partner の4部署メアドをメールアカウントとして登録。
設計MailAccountに fromEmail フィールドを追加。IMAP認証はprimaryアドレスを使いつつ、Fromはエイリアスで送信できるように対応。
v0.152026-05-19
エラー画面 / ローディング / 404 / Analytics
ランタイムエラーやローディング中の表示をCoreデザインに統一。Vercel Analyticsも有効化。
新機能Vercel Analytics を有効化。ページビューの把握が可能になりました。
改善ページ読み込み中にバウンスアニメーションのスピナーを表示するようにしました。
改善ランタイムエラー発生時にCoreデザインのエラー画面と「再試行」ボタンを表示するようにしました。
改善存在しないURLへのアクセス時に404ページをCoreデザインで表示するようにしました。
v0.142026-05-19
開発インフラ整備(pre-commit / spec / audit)
コミット前の型チェック自動化、仕様書テンプレート追加、スタイル監査スクリプトを導入。
設計Husky pre-commit フックを追加。コミット前に tsc --noEmit を自動実行し、型エラーがあればコミット中止。
設計docs/specs/_TEMPLATE.md を作成。機能追加時に仕様書を先に書くワークフローを標準化。
設計scripts/audit-styles.sh を追加。text-xs/sm 残存・インラインスタイル・any 型・changelog バージョン整合を一括チェック。
v0.132026-05-18
モバイル対応 / デザインシステム統一
スマホからも快適に使えるレイアウトを実装。フォントスケール・カラーシステムも全ページ統一。
新機能モバイルにボトムナビゲーションバーを追加(Home / Tasks / Docs / Deals / Content)。
新機能モバイルでサイドバーを非表示にし、ハンバーガーメニューからドロワーとして開く形に変更。
改善Deals の左サイドバー(MA / SFA / CRM)をモバイルでは横スクロールタブストリップに切り替え。
改善Content のかんばんボードにモバイル用スクロールスナップを追加。列幅 82vw でスワイプして列を切り替えられます。
改善Tasks はモバイルでリストビュー固定に。カンバン切り替えボタンはデスクトップのみ表示。
改善ノッチ端末への対応として safe-area-inset を全面適用。iOS Safari のアドレスバー伸縮にも対応(100dvh)。
設計フォントサイズを7段階(2xs〜2xl)のデザイントークンに統一。base=20px を基準に全ページ適用。
設計アクセントカラーをインディゴからグリーン(#22C55E)に統一。Card / PageShell / SectionLabel を共通コンポーネント化。
v0.122026-05-18
確認ダイアログ / HOMEリデザイン / Changelog追加
削除・送信時の警告をポップアップ化し、HOMEをアクティビティフィードに刷新。変更履歴ページを新設。
改善削除・送信ボタンをクリックしたとき、ブラウザ標準ダイアログではなくアプリ内モーダルで確認を取るように変更しました。全13箇所(タスク・案件・担当者・会社・コンテンツ・メール・書類・Finance)に適用。
修正ページリロード時にスクリーンショット検出の警告が誤って表示されるバグを修正。起動後2秒のウォームアップ期間を設けました。
新機能HOMEを『会社の今日のステータス』ページに刷新。直近48時間の変更サマリー(タスク進捗・商談活動)を時系列フィードで表示します。
新機能Core自体の改善履歴をまとめた Changelog ページを追加。HOMEのフッターリンクからアクセスできます。
v0.112026-05-17
Finance 予実タブ / Contents 本実装
Financeに予実タブを追加し、Contentsページを Coming Soon から本格実装に切り替え。
新機能Finance › 予実タブを追加。SFA商談データをもとに、ステージ別の加重パイプライン・受注済み合計・予想売上を自動計算して表示します。
新機能Contents(コンテンツ管理)ページを本実装。YouTube・Instagram・TikTok・X・ブログなどのプラットフォーム別にコンテンツをかんばんボードで管理できます。
改善Finance ページをタブ構成(請求書 / 予実)に変更し、コンテンツの切り替えをスムーズにしました。
v0.102026-05-16
ESLint / ハイドレーション修正
React 19 の新しいリントルールへの対応と、SSR/クライアント間のハイドレーションミスマッチを全面修正。
修正ESLint 12件のエラーと25件の警告をすべて解消。コンポーネント内部で定義していた子コンポーネントをモジュールレベルに移動し、不要な再生成を防止しました。
修正localStorage 依存の状態初期化でハイドレーションミスマッチが発生していた箇所(タスクビュー切り替え・案件セクション切り替え・サイドバー折りたたみ)を修正。useEffect + startTransition パターンに統一しました。
修正Prisma generateを未実行のまま動かしていたため finance ページが runtime error になっていた問題を修正。
v0.92026-05-15
Deals / CRM / MAビュー実装
案件管理を MA(リード育成)・SFA(商談管理)・CRM(顧客管理)の3セクション構成に拡張。
新機能Deals ページを MA / SFA / CRM の3タブ構成に再設計。ステージに応じて自動振り分けされます。
新機能CRM タブに顧客管理ビューを追加。ステージ(オンボーディング〜解約)・更新日・MRR を一覧表示。
新機能MA タブにリード育成ビューを追加。新規リード → MQL のナーチャリングパイプラインを管理できます。
改善案件詳細シートから担当者・会社をリンクできるようにしました。
v0.82026-05-13
Mail 統合 / Finance 請求書
メールアカウント連携と請求書管理を追加。
新機能Mail ページを追加。IMAP 経由でメールアカウントを登録し、受信・送信メールをアプリ内で確認できます。
新機能Finance ページに請求書管理を追加。MoneyForward API キーを登録することで請求書を同期できます(API 連携は実装準備済み)。
新機能請求書の催促メール送信機能を追加。内容をプレビューしてから送信できます。
v0.72026-05-11
AI チャット / コマンドパレット
サイドバーから開ける AI チャットパネルとキーボードショートカットによるコマンドパレットを追加。
新機能右下のボタンから AI チャットパネルを開けるようになりました。ページをまたいで会話が継続されます。
新機能Cmd+K(Mac)でコマンドパレットを開き、任意のページへキーボードだけで移動できます。
新機能グローバルキーボードショートカットを実装。G+H でホーム、G+T でタスクなど。
v0.62026-05-09
タスク カンバン / サブタスク
タスクにカンバンビューとサブタスク機能を追加。
新機能タスクのカンバンビューを追加。リストビューとワンクリックで切り替えられます。
新機能タスクにサブタスクを追加できるようになりました。インデントで親子関係を表現します。
改善ドラッグ&ドロップでタスクの順番を変更できるようになりました。
改善タスク詳細シートにイベント履歴(ステータス変更・担当者変更など)を表示するようにしました。
v0.52026-05-07
Management / 稼働ログ
チームメンバー管理・招待・稼働時間ログ機能を追加。
新機能Management ページを追加。組織メンバーの閲覧・ロール変更・削除・招待ができます。
新機能稼働ログ機能を追加。日別に作業時間を記録し、週次目標(40h)に対する達成率を表示します。
新機能MoneyForward 連携設定画面を追加(API キー管理)。
v0.42026-05-05
Documents エディタ
リッチテキストエディタ付きのドキュメント管理ページを追加。
新機能Documents ページを追加。Notion ライクなリッチテキストエディタでメモ・仕様書・議事録を作成・編集できます。
新機能Markdown 記法でインポートした内容を自動変換してエディタに表示します。
改善500ms のデバウンスで自動保存。保存状態(保存済み・保存中・未保存)をヘッダーに表示します。
v0.32026-05-03
Sidebar / ロールアクセス制御
サイドバーのナビゲーションを整備し、ロールに応じてメニューを出し分けるようにした。
新機能サイドバーに折りたたみ機能を追加。画面幅に応じて自動的に縮小します。
新機能ロールベースのナビゲーション制御を実装。ADMIN / SALES / MEDIA / MEMBER ごとに表示メニューを変えます。
改善スクリーンショット検出機能を追加。Mac の Cmd+Shift+3/4/5 をウィンドウのブラー時間で検知し、透かしと警告ポップアップを表示します。
v0.22026-05-01
Tasks 基本実装
タスク管理の基本機能(CRUD・優先度・担当者・期限)を実装。
新機能Tasks ページを追加。タスクの作成・編集・削除・ステータス変更ができます。
新機能優先度(HIGH / MID / LOW)・担当者・期限の設定に対応。
v0.12026-04-28
初期リリース — Auth + HOME
Clerk 認証・組織テナント・ダッシュボードのベースを構築。
新機能Clerk による Google SSO 認証を実装。組織(Org)単位でデータを分離します。
新機能HOME ダッシュボードのベントグリッドレイアウトを実装。各セクションへのクイックリンクを表示します。
設計Next.js 15 App Router + Prisma + PostgreSQL のスタックを確立。