1. 現時点の構成
通常URLのWeb UI、Auth.js、事業コンテキスト、tRPC/API Routes、Drizzle
DB、AI推奨境界を分ける。 現在事業はまず
pulse.current_business_id を localStorage に保持し、
後でユーザー設定DBへ移行しやすい形にする。LLMは提案を担い、制約満足や
スケジュール判断はSolver境界へ寄せる方針。
編集用Draw.io: system-architecture.drawio / 画像: PNG ・ SVG
2. ER図
主要テーブルは org_id と
business_id を境界に持つ。 事業ごとに
Roadmap、Milestone、Epic、Task、依存、設定、監査ログを切り替えて読む。
編集用Draw.io: erd.drawio / 画像: PNG ・ SVG
3. 現在事業での登録・レビューのフロー
事業を選ぶと
pulse.current_business_id
が更新され、Roadmap、Intake、Settings
が同じ事業を読む。登録は対象ごとの専用ページで行い、AI補完、登録前差分、最終確認を通して保存する。
4. 使い方
通常登録
- 事業を選び、現在事業を確定する。
- Roadmapの登録メニューから Milestone または Epic の専用登録へ進む。
- Epic配下のTaskはEpic詳細から追加・編集・削除候補化する。
- AI補完で依存候補、KPI、ステークホルダー、工数、所用期間の根拠を確認する。
- 登録前差分と最終確認を見て、下書きまたはRoadmapへ反映する。
ドッグフーディング
- Pulse自身の改善テーマをEpicとして投入する。
- 読みにくい、迷う、保存できない、判断できない箇所を記録する。
- 週次レビューで未確定制約、AIレビュー待ち、Red/Yellow Bufferを見る。
- 改善点をGitHub Issueへ落とし、PRで閉じる。
- 改善後に同じ入力セットで再確認する。
5. セキュリティ・運用ガードレール
WebSearchを追加しない
プロンプトインジェクション対策として、プロダクト機能にWebSearchを持たせない。
.envを読まない
秘密情報をAI文脈へ載せない。必要な設定は別エディタで扱う。
AGPL/GPLを追加しない
新規OSS追加時はライセンスを確認し、一覧へ反映する。
AIは提案に留める
制約満足、順序、スケジュールはSolver / ルール / 人間レビューで検証する。
rationale必須
Epic、Task、Constraint、Dependency、AI候補には判断根拠を残す。
org境界を守る
保存済みEpic、監査ログ、依存、KPI、リソースは組織境界で読む。
6. 実装済みと次に見るもの
| 領域 | 現時点 | 次に見る論点 |
|---|---|---|
| 事業スコープ |
実装済み localStorage の
pulse.current_business_id を使い、Roadmap / Intake
/ Settings を同じ事業で読む。
|
将来は user_preferences DB へ移行 |
| 専用登録 |
実装済み
/intake/milestones/new、/intake/epics/new、/intake/tasks/new
を追加。
|
登録フォームの責務分割とAI補完UIの軽量化 |
| Roadmap Canvas | 実装済み DB由来のMilestone / Epic / Taskを事業ごとに表示し、詳細モーダルから編集導線を持つ。 | CCPM / bottleneck / impact simulation の実装 |
| AI補完 | 発展中 依存候補、KPI、ステークホルダー、工数・所用期間、不確実性の根拠を提示。 | Claude応答とfallbackの精度検証、Solver検証境界の実装 |
| Governance | 発展中 OWNER、Stakeholder、Recommendation Ruleを事業ごとに管理する。 | 削除/アーカイブ運用、優先度、推奨根拠の体験改善 |